PluginProbe ʕ •ᴥ•ʔ
Transferito: WP Migration / trunk
Transferito: WP Migration vtrunk
trunk 11.4.0 12.0.0 13.1.0 14.0.0 14.0.11 14.0.7 14.1.0 14.1.1 14.1.2 14.1.3 14.1.4
transferito / vendor / aws / aws-sdk-php / src / Api / Operation.php
transferito / vendor / aws / aws-sdk-php / src / Api Last commit date
ErrorParser 11 months ago Parser 11 months ago Serializer 11 months ago AbstractModel.php 11 months ago ApiProvider.php 11 months ago DateTimeResult.php 11 months ago DocModel.php 11 months ago ListShape.php 11 months ago MapShape.php 11 months ago Operation.php 11 months ago Service.php 11 months ago Shape.php 11 months ago ShapeMap.php 11 months ago StructureShape.php 11 months ago TimestampShape.php 11 months ago Validator.php 11 months ago
Operation.php
143 lines
1 <?php
2 namespace Aws\Api;
3
4 /**
5 * Represents an API operation.
6 */
7 class Operation extends AbstractModel
8 {
9 private $input;
10 private $output;
11 private $errors;
12 private $staticContextParams = [];
13 private $contextParams;
14
15 public function __construct(array $definition, ShapeMap $shapeMap)
16 {
17 $definition['type'] = 'structure';
18
19 if (!isset($definition['http']['method'])) {
20 $definition['http']['method'] = 'POST';
21 }
22
23 if (!isset($definition['http']['requestUri'])) {
24 $definition['http']['requestUri'] = '/';
25 }
26
27 if (isset($definition['staticContextParams'])) {
28 $this->staticContextParams = $definition['staticContextParams'];
29 }
30
31 parent::__construct($definition, $shapeMap);
32 $this->contextParams = $this->setContextParams();
33 }
34
35 /**
36 * Returns an associative array of the HTTP attribute of the operation:
37 *
38 * - method: HTTP method of the operation
39 * - requestUri: URI of the request (can include URI template placeholders)
40 *
41 * @return array
42 */
43 public function getHttp()
44 {
45 return $this->definition['http'];
46 }
47
48 /**
49 * Get the input shape of the operation.
50 *
51 * @return StructureShape
52 */
53 public function getInput()
54 {
55 if (!$this->input) {
56 if ($input = $this['input']) {
57 $this->input = $this->shapeFor($input);
58 } else {
59 $this->input = new StructureShape([], $this->shapeMap);
60 }
61 }
62
63 return $this->input;
64 }
65
66 /**
67 * Get the output shape of the operation.
68 *
69 * @return StructureShape
70 */
71 public function getOutput()
72 {
73 if (!$this->output) {
74 if ($output = $this['output']) {
75 $this->output = $this->shapeFor($output);
76 } else {
77 $this->output = new StructureShape([], $this->shapeMap);
78 }
79 }
80
81 return $this->output;
82 }
83
84 /**
85 * Get an array of operation error shapes.
86 *
87 * @return Shape[]
88 */
89 public function getErrors()
90 {
91 if ($this->errors === null) {
92 if ($errors = $this['errors']) {
93 foreach ($errors as $key => $error) {
94 $errors[$key] = $this->shapeFor($error);
95 }
96 $this->errors = $errors;
97 } else {
98 $this->errors = [];
99 }
100 }
101
102 return $this->errors;
103 }
104
105 /**
106 * Gets static modeled static values used for
107 * endpoint resolution.
108 *
109 * @return array
110 */
111 public function getStaticContextParams()
112 {
113 return $this->staticContextParams;
114 }
115
116 /**
117 * Gets definition of modeled dynamic values used
118 * for endpoint resolution
119 *
120 * @return array
121 */
122 public function getContextParams()
123 {
124 return $this->contextParams;
125 }
126
127 private function setContextParams()
128 {
129 $members = $this->getInput()->getMembers();
130 $contextParams = [];
131
132 foreach($members as $name => $shape) {
133 if (!empty($contextParam = $shape->getContextParam())) {
134 $contextParams[$contextParam['name']] = [
135 'shape' => $name,
136 'type' => $shape->getType()
137 ];
138 }
139 }
140 return $contextParams;
141 }
142 }
143