Skip to content

Commit 5911b8f

Browse files
Update generated code (#1994)
update generated code
1 parent cee0522 commit 5911b8f

21 files changed

+1048
-27
lines changed

manifest.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"variables": {
3-
"${LATEST}": "3.362.1"
3+
"${LATEST}": "3.363.0"
44
},
55
"endpoints": "https://raw.githubusercontent.com/aws/aws-sdk-php/${LATEST}/src/data/endpoints.json",
66
"services": {

src/Service/Athena/CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,10 @@
22

33
## NOT RELEASED
44

5+
### Added
6+
7+
- AWS api-change: Introduces Spark workgroup features including log persistence, S3/CloudWatch delivery, UI and History Server APIs, and SparkConnect 3.5.6 support. Adds DPU usage limits at workgroup and query levels as well as DPU usage tracking for Capacity Reservation queries to optimize performance and costs.
8+
59
### Dependency bumped
610

711
- Drop support for PHP versions lower than 8.2

src/Service/Athena/src/AthenaClient.php

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,9 +53,11 @@
5353
use AsyncAws\Athena\Result\TerminateSessionResponse;
5454
use AsyncAws\Athena\ValueObject\CalculationConfiguration;
5555
use AsyncAws\Athena\ValueObject\EngineConfiguration;
56+
use AsyncAws\Athena\ValueObject\MonitoringConfiguration;
5657
use AsyncAws\Athena\ValueObject\QueryExecutionContext;
5758
use AsyncAws\Athena\ValueObject\ResultConfiguration;
5859
use AsyncAws\Athena\ValueObject\ResultReuseConfiguration;
60+
use AsyncAws\Athena\ValueObject\Tag;
5961
use AsyncAws\Core\AbstractApi;
6062
use AsyncAws\Core\AwsError\AwsErrorFactoryInterface;
6163
use AsyncAws\Core\AwsError\JsonRpcAwsErrorFactory;
@@ -551,6 +553,7 @@ public function startCalculationExecution($input): StartCalculationExecutionResp
551553
* WorkGroup?: string|null,
552554
* ExecutionParameters?: string[]|null,
553555
* ResultReuseConfiguration?: ResultReuseConfiguration|array|null,
556+
* EngineConfiguration?: EngineConfiguration|array|null,
554557
* '@region'?: string|null,
555558
* }|StartQueryExecutionInput $input
556559
*
@@ -580,9 +583,13 @@ public function startQueryExecution($input): StartQueryExecutionOutput
580583
* Description?: string|null,
581584
* WorkGroup: string,
582585
* EngineConfiguration: EngineConfiguration|array,
586+
* ExecutionRole?: string|null,
587+
* MonitoringConfiguration?: MonitoringConfiguration|array|null,
583588
* NotebookVersion?: string|null,
584589
* SessionIdleTimeoutInMinutes?: int|null,
585590
* ClientRequestToken?: string|null,
591+
* Tags?: array<Tag|array>|null,
592+
* CopyWorkGroupTags?: bool|null,
586593
* '@region'?: string|null,
587594
* }|StartSessionRequest $input
588595
*

src/Service/Athena/src/Input/StartQueryExecutionInput.php

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
namespace AsyncAws\Athena\Input;
44

5+
use AsyncAws\Athena\ValueObject\EngineConfiguration;
56
use AsyncAws\Athena\ValueObject\QueryExecutionContext;
67
use AsyncAws\Athena\ValueObject\ResultConfiguration;
78
use AsyncAws\Athena\ValueObject\ResultReuseConfiguration;
@@ -75,6 +76,11 @@ final class StartQueryExecutionInput extends Input
7576
*/
7677
private $resultReuseConfiguration;
7778

79+
/**
80+
* @var EngineConfiguration|null
81+
*/
82+
private $engineConfiguration;
83+
7884
/**
7985
* @param array{
8086
* QueryString?: string,
@@ -84,6 +90,7 @@ final class StartQueryExecutionInput extends Input
8490
* WorkGroup?: string|null,
8591
* ExecutionParameters?: string[]|null,
8692
* ResultReuseConfiguration?: ResultReuseConfiguration|array|null,
93+
* EngineConfiguration?: EngineConfiguration|array|null,
8794
* '@region'?: string|null,
8895
* } $input
8996
*/
@@ -96,6 +103,7 @@ public function __construct(array $input = [])
96103
$this->workGroup = $input['WorkGroup'] ?? null;
97104
$this->executionParameters = $input['ExecutionParameters'] ?? null;
98105
$this->resultReuseConfiguration = isset($input['ResultReuseConfiguration']) ? ResultReuseConfiguration::create($input['ResultReuseConfiguration']) : null;
106+
$this->engineConfiguration = isset($input['EngineConfiguration']) ? EngineConfiguration::create($input['EngineConfiguration']) : null;
99107
parent::__construct($input);
100108
}
101109

@@ -108,6 +116,7 @@ public function __construct(array $input = [])
108116
* WorkGroup?: string|null,
109117
* ExecutionParameters?: string[]|null,
110118
* ResultReuseConfiguration?: ResultReuseConfiguration|array|null,
119+
* EngineConfiguration?: EngineConfiguration|array|null,
111120
* '@region'?: string|null,
112121
* }|StartQueryExecutionInput $input
113122
*/
@@ -121,6 +130,11 @@ public function getClientRequestToken(): ?string
121130
return $this->clientRequestToken;
122131
}
123132

133+
public function getEngineConfiguration(): ?EngineConfiguration
134+
{
135+
return $this->engineConfiguration;
136+
}
137+
124138
/**
125139
* @return string[]
126140
*/
@@ -187,6 +201,13 @@ public function setClientRequestToken(?string $value): self
187201
return $this;
188202
}
189203

204+
public function setEngineConfiguration(?EngineConfiguration $value): self
205+
{
206+
$this->engineConfiguration = $value;
207+
208+
return $this;
209+
}
210+
190211
/**
191212
* @param string[] $value
192213
*/
@@ -263,6 +284,9 @@ private function requestBody(): array
263284
if (null !== $v = $this->resultReuseConfiguration) {
264285
$payload['ResultReuseConfiguration'] = $v->requestBody();
265286
}
287+
if (null !== $v = $this->engineConfiguration) {
288+
$payload['EngineConfiguration'] = $v->requestBody();
289+
}
266290

267291
return $payload;
268292
}

src/Service/Athena/src/Input/StartSessionRequest.php

Lines changed: 115 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@
33
namespace AsyncAws\Athena\Input;
44

55
use AsyncAws\Athena\ValueObject\EngineConfiguration;
6+
use AsyncAws\Athena\ValueObject\MonitoringConfiguration;
7+
use AsyncAws\Athena\ValueObject\Tag;
68
use AsyncAws\Core\Exception\InvalidArgument;
79
use AsyncAws\Core\Input;
810
use AsyncAws\Core\Request;
@@ -35,6 +37,22 @@ final class StartSessionRequest extends Input
3537
*/
3638
private $engineConfiguration;
3739

40+
/**
41+
* The ARN of the execution role used to access user resources for Spark sessions and Identity Center enabled
42+
* workgroups. This property applies only to Spark enabled workgroups and Identity Center enabled workgroups.
43+
*
44+
* @var string|null
45+
*/
46+
private $executionRole;
47+
48+
/**
49+
* Contains the configuration settings for managed log persistence, delivering logs to Amazon S3 buckets, Amazon
50+
* CloudWatch log groups etc.
51+
*
52+
* @var MonitoringConfiguration|null
53+
*/
54+
private $monitoringConfiguration;
55+
3856
/**
3957
* The notebook version. This value is supplied automatically for notebook sessions in the Athena console and is not
4058
* required for programmatic session access. The only valid notebook version is `Athena notebook version 1`. If you
@@ -65,14 +83,32 @@ final class StartSessionRequest extends Input
6583
*/
6684
private $clientRequestToken;
6785

86+
/**
87+
* A list of comma separated tags to add to the session that is created.
88+
*
89+
* @var Tag[]|null
90+
*/
91+
private $tags;
92+
93+
/**
94+
* Copies the tags from the Workgroup to the Session when.
95+
*
96+
* @var bool|null
97+
*/
98+
private $copyWorkGroupTags;
99+
68100
/**
69101
* @param array{
70102
* Description?: string|null,
71103
* WorkGroup?: string,
72104
* EngineConfiguration?: EngineConfiguration|array,
105+
* ExecutionRole?: string|null,
106+
* MonitoringConfiguration?: MonitoringConfiguration|array|null,
73107
* NotebookVersion?: string|null,
74108
* SessionIdleTimeoutInMinutes?: int|null,
75109
* ClientRequestToken?: string|null,
110+
* Tags?: array<Tag|array>|null,
111+
* CopyWorkGroupTags?: bool|null,
76112
* '@region'?: string|null,
77113
* } $input
78114
*/
@@ -81,9 +117,13 @@ public function __construct(array $input = [])
81117
$this->description = $input['Description'] ?? null;
82118
$this->workGroup = $input['WorkGroup'] ?? null;
83119
$this->engineConfiguration = isset($input['EngineConfiguration']) ? EngineConfiguration::create($input['EngineConfiguration']) : null;
120+
$this->executionRole = $input['ExecutionRole'] ?? null;
121+
$this->monitoringConfiguration = isset($input['MonitoringConfiguration']) ? MonitoringConfiguration::create($input['MonitoringConfiguration']) : null;
84122
$this->notebookVersion = $input['NotebookVersion'] ?? null;
85123
$this->sessionIdleTimeoutInMinutes = $input['SessionIdleTimeoutInMinutes'] ?? null;
86124
$this->clientRequestToken = $input['ClientRequestToken'] ?? null;
125+
$this->tags = isset($input['Tags']) ? array_map([Tag::class, 'create'], $input['Tags']) : null;
126+
$this->copyWorkGroupTags = $input['CopyWorkGroupTags'] ?? null;
87127
parent::__construct($input);
88128
}
89129

@@ -92,9 +132,13 @@ public function __construct(array $input = [])
92132
* Description?: string|null,
93133
* WorkGroup?: string,
94134
* EngineConfiguration?: EngineConfiguration|array,
135+
* ExecutionRole?: string|null,
136+
* MonitoringConfiguration?: MonitoringConfiguration|array|null,
95137
* NotebookVersion?: string|null,
96138
* SessionIdleTimeoutInMinutes?: int|null,
97139
* ClientRequestToken?: string|null,
140+
* Tags?: array<Tag|array>|null,
141+
* CopyWorkGroupTags?: bool|null,
98142
* '@region'?: string|null,
99143
* }|StartSessionRequest $input
100144
*/
@@ -108,6 +152,11 @@ public function getClientRequestToken(): ?string
108152
return $this->clientRequestToken;
109153
}
110154

155+
public function getCopyWorkGroupTags(): ?bool
156+
{
157+
return $this->copyWorkGroupTags;
158+
}
159+
111160
public function getDescription(): ?string
112161
{
113162
return $this->description;
@@ -118,6 +167,16 @@ public function getEngineConfiguration(): ?EngineConfiguration
118167
return $this->engineConfiguration;
119168
}
120169

170+
public function getExecutionRole(): ?string
171+
{
172+
return $this->executionRole;
173+
}
174+
175+
public function getMonitoringConfiguration(): ?MonitoringConfiguration
176+
{
177+
return $this->monitoringConfiguration;
178+
}
179+
121180
public function getNotebookVersion(): ?string
122181
{
123182
return $this->notebookVersion;
@@ -128,6 +187,14 @@ public function getSessionIdleTimeoutInMinutes(): ?int
128187
return $this->sessionIdleTimeoutInMinutes;
129188
}
130189

190+
/**
191+
* @return Tag[]
192+
*/
193+
public function getTags(): array
194+
{
195+
return $this->tags ?? [];
196+
}
197+
131198
public function getWorkGroup(): ?string
132199
{
133200
return $this->workGroup;
@@ -166,6 +233,13 @@ public function setClientRequestToken(?string $value): self
166233
return $this;
167234
}
168235

236+
public function setCopyWorkGroupTags(?bool $value): self
237+
{
238+
$this->copyWorkGroupTags = $value;
239+
240+
return $this;
241+
}
242+
169243
public function setDescription(?string $value): self
170244
{
171245
$this->description = $value;
@@ -180,6 +254,20 @@ public function setEngineConfiguration(?EngineConfiguration $value): self
180254
return $this;
181255
}
182256

257+
public function setExecutionRole(?string $value): self
258+
{
259+
$this->executionRole = $value;
260+
261+
return $this;
262+
}
263+
264+
public function setMonitoringConfiguration(?MonitoringConfiguration $value): self
265+
{
266+
$this->monitoringConfiguration = $value;
267+
268+
return $this;
269+
}
270+
183271
public function setNotebookVersion(?string $value): self
184272
{
185273
$this->notebookVersion = $value;
@@ -194,6 +282,16 @@ public function setSessionIdleTimeoutInMinutes(?int $value): self
194282
return $this;
195283
}
196284

285+
/**
286+
* @param Tag[] $value
287+
*/
288+
public function setTags(array $value): self
289+
{
290+
$this->tags = $value;
291+
292+
return $this;
293+
}
294+
197295
public function setWorkGroup(?string $value): self
198296
{
199297
$this->workGroup = $value;
@@ -215,6 +313,12 @@ private function requestBody(): array
215313
throw new InvalidArgument(\sprintf('Missing parameter "EngineConfiguration" for "%s". The value cannot be null.', __CLASS__));
216314
}
217315
$payload['EngineConfiguration'] = $v->requestBody();
316+
if (null !== $v = $this->executionRole) {
317+
$payload['ExecutionRole'] = $v;
318+
}
319+
if (null !== $v = $this->monitoringConfiguration) {
320+
$payload['MonitoringConfiguration'] = $v->requestBody();
321+
}
218322
if (null !== $v = $this->notebookVersion) {
219323
$payload['NotebookVersion'] = $v;
220324
}
@@ -224,6 +328,17 @@ private function requestBody(): array
224328
if (null !== $v = $this->clientRequestToken) {
225329
$payload['ClientRequestToken'] = $v;
226330
}
331+
if (null !== $v = $this->tags) {
332+
$index = -1;
333+
$payload['Tags'] = [];
334+
foreach ($v as $listValue) {
335+
++$index;
336+
$payload['Tags'][$index] = $listValue->requestBody();
337+
}
338+
}
339+
if (null !== $v = $this->copyWorkGroupTags) {
340+
$payload['CopyWorkGroupTags'] = (bool) $v;
341+
}
227342

228343
return $payload;
229344
}

src/Service/Athena/src/Result/GetQueryExecutionOutput.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -147,6 +147,7 @@ private function populateResultQueryExecutionStatistics(array $json): QueryExecu
147147
'QueryPlanningTimeInMillis' => isset($json['QueryPlanningTimeInMillis']) ? (int) $json['QueryPlanningTimeInMillis'] : null,
148148
'ServiceProcessingTimeInMillis' => isset($json['ServiceProcessingTimeInMillis']) ? (int) $json['ServiceProcessingTimeInMillis'] : null,
149149
'ResultReuseInformation' => empty($json['ResultReuseInformation']) ? null : $this->populateResultResultReuseInformation($json['ResultReuseInformation']),
150+
'DpuCount' => isset($json['DpuCount']) ? (float) $json['DpuCount'] : null,
150151
]);
151152
}
152153

0 commit comments

Comments
 (0)