| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142 | 
							- <?php
 
- namespace Aws\Api;
 
- /**
 
-  * Represents an API operation.
 
-  */
 
- class Operation extends AbstractModel
 
- {
 
-     private $input;
 
-     private $output;
 
-     private $errors;
 
-     private $staticContextParams = [];
 
-     private $contextParams;
 
-     public function __construct(array $definition, ShapeMap $shapeMap)
 
-     {
 
-         $definition['type'] = 'structure';
 
-         if (!isset($definition['http']['method'])) {
 
-             $definition['http']['method'] = 'POST';
 
-         }
 
-         if (!isset($definition['http']['requestUri'])) {
 
-             $definition['http']['requestUri'] = '/';
 
-         }
 
-         if (isset($definition['staticContextParams'])) {
 
-             $this->staticContextParams = $definition['staticContextParams'];
 
-         }
 
-         parent::__construct($definition, $shapeMap);
 
-         $this->contextParams = $this->setContextParams();
 
-     }
 
-     /**
 
-      * Returns an associative array of the HTTP attribute of the operation:
 
-      *
 
-      * - method: HTTP method of the operation
 
-      * - requestUri: URI of the request (can include URI template placeholders)
 
-      *
 
-      * @return array
 
-      */
 
-     public function getHttp()
 
-     {
 
-         return $this->definition['http'];
 
-     }
 
-     /**
 
-      * Get the input shape of the operation.
 
-      *
 
-      * @return StructureShape
 
-      */
 
-     public function getInput()
 
-     {
 
-         if (!$this->input) {
 
-             if ($input = $this['input']) {
 
-                 $this->input = $this->shapeFor($input);
 
-             } else {
 
-                 $this->input = new StructureShape([], $this->shapeMap);
 
-             }
 
-         }
 
-         return $this->input;
 
-     }
 
-     /**
 
-      * Get the output shape of the operation.
 
-      *
 
-      * @return StructureShape
 
-      */
 
-     public function getOutput()
 
-     {
 
-         if (!$this->output) {
 
-             if ($output = $this['output']) {
 
-                 $this->output = $this->shapeFor($output);
 
-             } else {
 
-                 $this->output = new StructureShape([], $this->shapeMap);
 
-             }
 
-         }
 
-         return $this->output;
 
-     }
 
-     /**
 
-      * Get an array of operation error shapes.
 
-      *
 
-      * @return Shape[]
 
-      */
 
-     public function getErrors()
 
-     {
 
-         if ($this->errors === null) {
 
-             if ($errors = $this['errors']) {
 
-                 foreach ($errors as $key => $error) {
 
-                     $errors[$key] = $this->shapeFor($error);
 
-                 }
 
-                 $this->errors = $errors;
 
-             } else {
 
-                 $this->errors = [];
 
-             }
 
-         }
 
-         return $this->errors;
 
-     }
 
-     /**
 
-      * Gets static modeled static values used for
 
-      * endpoint resolution.
 
-      *
 
-      * @return array
 
-      */
 
-     public function getStaticContextParams()
 
-     {
 
-         return $this->staticContextParams;
 
-     }
 
-     /**
 
-      * Gets definition of modeled dynamic values used
 
-      * for endpoint resolution
 
-      *
 
-      * @return array
 
-      */
 
-     public function getContextParams()
 
-     {
 
-         return $this->contextParams;
 
-     }
 
-     private function setContextParams()
 
-     {
 
-         $members = $this->getInput()->getMembers();
 
-         $contextParams = [];
 
-         foreach($members as $name => $shape) {
 
-             if (!empty($contextParam = $shape->getContextParam())) {
 
-                 $contextParams[$contextParam['name']] = [
 
-                     'shape' => $name,
 
-                     'type' => $shape->getType()
 
-                 ];
 
-             }
 
-         }
 
-         return $contextParams;
 
-     }
 
- }
 
 
  |