From 01464d3e9b7e7c84933ba8fd595f94f7f9d0f46e Mon Sep 17 00:00:00 2001
From: AsyncAws Bot
Date: Tue, 20 Oct 2026 11:12:12 +0000
Subject: [PATCH] update generated code
---
manifest.json | 2 +-
src/Service/CodeCommit/CHANGELOG.md | 4 +
.../src/Exception/FileTooLargeException.php | 2 +-
.../src/Input/CreateRepositoryInput.php | 4 +-
.../src/ValueObject/RepositoryTrigger.php | 7 +-
src/Service/CodeDeploy/CHANGELOG.md | 1 +
.../CodeDeploy/src/CodeDeployClient.php | 5 ++
.../src/Enum/AutoScalingGroupProcess.php | 29 +++++++
...oScalingGroupProcessToSuspendException.php | 13 +++
.../src/Input/CreateDeploymentInput.php | 24 ++++++
.../src/Result/GetDeploymentOutput.php | 29 +++++++
.../src/ValueObject/DeploymentInfo.php | 13 +++
.../src/ValueObject/EC2DeploymentOptions.php | 85 +++++++++++++++++++
13 files changed, 211 insertions(+), 7 deletions(-)
create mode 100644 src/Service/CodeDeploy/src/Enum/AutoScalingGroupProcess.php
create mode 100644 src/Service/CodeDeploy/src/Exception/InvalidAutoScalingGroupProcessToSuspendException.php
create mode 100644 src/Service/CodeDeploy/src/ValueObject/EC2DeploymentOptions.php
diff --git a/manifest.json b/manifest.json
index 1f9604ffb..42a82d277 100644
--- a/manifest.json
+++ b/manifest.json
@@ -1,6 +1,6 @@
{
"variables": {
- "${LATEST}": "3.401.2"
+ "${LATEST}": "3.401.3"
},
"endpoints": "https://raw.githubusercontent.com/aws/aws-sdk-php/${LATEST}/src/data/endpoints.json",
"services": {
diff --git a/src/Service/CodeCommit/CHANGELOG.md b/src/Service/CodeCommit/CHANGELOG.md
index b0530e511..e1ec020f3 100644
--- a/src/Service/CodeCommit/CHANGELOG.md
+++ b/src/Service/CodeCommit/CHANGELOG.md
@@ -2,6 +2,10 @@
## NOT RELEASED
+### Changed
+
+- AWS enhancement: Documentation updates.
+
## 1.3.2
### Changed
diff --git a/src/Service/CodeCommit/src/Exception/FileTooLargeException.php b/src/Service/CodeCommit/src/Exception/FileTooLargeException.php
index 78607f554..42c8d9e2d 100644
--- a/src/Service/CodeCommit/src/Exception/FileTooLargeException.php
+++ b/src/Service/CodeCommit/src/Exception/FileTooLargeException.php
@@ -6,7 +6,7 @@
/**
* The specified file exceeds the file size limit for CodeCommit. For more information about limits in CodeCommit, see
- * Quotas [^1] in the *CodeCommit User Guide*.
+ * Quotas [^1] in the * CodeCommit User Guide*.
*
* [^1]: https://docs.aws.amazon.com/codecommit/latest/userguide/limits.html
*/
diff --git a/src/Service/CodeCommit/src/Input/CreateRepositoryInput.php b/src/Service/CodeCommit/src/Input/CreateRepositoryInput.php
index 1af568944..f26064c52 100644
--- a/src/Service/CodeCommit/src/Input/CreateRepositoryInput.php
+++ b/src/Service/CodeCommit/src/Input/CreateRepositoryInput.php
@@ -17,7 +17,7 @@ final class CreateRepositoryInput extends Input
*
* > The repository name must be unique across the calling Amazon Web Services account. Repository names are limited to
* > 100 alphanumeric, dash, and underscore characters, and cannot include certain characters. For more information
- * > about the limits on repository names, see Quotas [^1] in the *CodeCommit User Guide*. The suffix .git is
+ * > about the limits on repository names, see Quotas [^1] in the * CodeCommit User Guide*. The suffix .git is
* > prohibited.
*
* [^1]: https://docs.aws.amazon.com/codecommit/latest/userguide/limits.html
@@ -50,7 +50,7 @@ final class CreateRepositoryInput extends Input
/**
* The ID of the encryption key. You can view the ID of an encryption key in the KMS console, or use the KMS APIs to
* programmatically retrieve a key ID. For more information about acceptable values for kmsKeyID, see KeyId [^1] in the
- * Decrypt API description in the *Key Management Service API Reference*.
+ * Decrypt API description in the * Key Management Service API Reference*.
*
* If no key is specified, the default `aws/codecommit` Amazon Web Services managed key is used.
*
diff --git a/src/Service/CodeCommit/src/ValueObject/RepositoryTrigger.php b/src/Service/CodeCommit/src/ValueObject/RepositoryTrigger.php
index 8a9dd4fe4..895f81182 100644
--- a/src/Service/CodeCommit/src/ValueObject/RepositoryTrigger.php
+++ b/src/Service/CodeCommit/src/ValueObject/RepositoryTrigger.php
@@ -48,9 +48,10 @@ final class RepositoryTrigger
/**
* The repository events that cause the trigger to run actions in another service, such as sending a notification
- * through Amazon SNS.
- *
- * > The valid value "all" cannot be used with any other values.
+ * through Amazon SNS. ```
+ *
The valid value "all" cannot be used with any other values.
+ *
+ * ```.
*
* @var list
*/
diff --git a/src/Service/CodeDeploy/CHANGELOG.md b/src/Service/CodeDeploy/CHANGELOG.md
index 30784f8b3..54d28fbd1 100644
--- a/src/Service/CodeDeploy/CHANGELOG.md
+++ b/src/Service/CodeDeploy/CHANGELOG.md
@@ -5,6 +5,7 @@
### Added
- AWS api-change: AWS CodeDeploy now returns the deployment mode on GetDeployment and BatchGetDeployments. The new deploymentMode field on DeploymentInfo indicates whether a deployment used the standard deployment process or restarted the application using a previously installed revision (RESTART mode).
+- AWS api-change: Adds support for suspending Amazon EC2 Auto Scaling processes during CodeDeploy EC2 in-place deployments. Use ec2DeploymentOptions to choose which processes are suspended and resumed.
## 2.5.0
diff --git a/src/Service/CodeDeploy/src/CodeDeployClient.php b/src/Service/CodeDeploy/src/CodeDeployClient.php
index 54e4a36bd..aaa0ad861 100644
--- a/src/Service/CodeDeploy/src/CodeDeployClient.php
+++ b/src/Service/CodeDeploy/src/CodeDeployClient.php
@@ -19,6 +19,7 @@
use AsyncAws\CodeDeploy\Exception\InvalidApplicationNameException;
use AsyncAws\CodeDeploy\Exception\InvalidAutoRollbackConfigException;
use AsyncAws\CodeDeploy\Exception\InvalidAutoScalingGroupException;
+use AsyncAws\CodeDeploy\Exception\InvalidAutoScalingGroupProcessToSuspendException;
use AsyncAws\CodeDeploy\Exception\InvalidComputePlatformException;
use AsyncAws\CodeDeploy\Exception\InvalidDeploymentConfigNameException;
use AsyncAws\CodeDeploy\Exception\InvalidDeploymentGroupNameException;
@@ -49,6 +50,7 @@
use AsyncAws\CodeDeploy\Result\PutLifecycleEventHookExecutionStatusOutput;
use AsyncAws\CodeDeploy\ValueObject\AlarmConfiguration;
use AsyncAws\CodeDeploy\ValueObject\AutoRollbackConfiguration;
+use AsyncAws\CodeDeploy\ValueObject\EC2DeploymentOptions;
use AsyncAws\CodeDeploy\ValueObject\RevisionLocation;
use AsyncAws\CodeDeploy\ValueObject\TargetInstances;
use AsyncAws\Core\AbstractApi;
@@ -78,6 +80,7 @@ class CodeDeployClient extends AbstractApi
* fileExistsBehavior?: FileExistsBehavior::*|null,
* deploymentMode?: DeploymentMode::*|null,
* overrideAlarmConfiguration?: AlarmConfiguration|array|null,
+ * ec2DeploymentOptions?: EC2DeploymentOptions|array|null,
* '@region'?: string|null,
* }|CreateDeploymentInput $input
*
@@ -93,6 +96,7 @@ class CodeDeployClient extends AbstractApi
* @throws InvalidApplicationNameException
* @throws InvalidAutoRollbackConfigException
* @throws InvalidAutoScalingGroupException
+ * @throws InvalidAutoScalingGroupProcessToSuspendException
* @throws InvalidComputePlatformException
* @throws InvalidDeploymentConfigNameException
* @throws InvalidDeploymentGroupNameException
@@ -127,6 +131,7 @@ public function createDeployment($input): CreateDeploymentOutput
'InvalidApplicationNameException' => InvalidApplicationNameException::class,
'InvalidAutoRollbackConfigException' => InvalidAutoRollbackConfigException::class,
'InvalidAutoScalingGroupException' => InvalidAutoScalingGroupException::class,
+ 'InvalidAutoScalingGroupProcessToSuspendException' => InvalidAutoScalingGroupProcessToSuspendException::class,
'InvalidComputePlatformException' => InvalidComputePlatformException::class,
'InvalidDeploymentConfigNameException' => InvalidDeploymentConfigNameException::class,
'InvalidDeploymentGroupNameException' => InvalidDeploymentGroupNameException::class,
diff --git a/src/Service/CodeDeploy/src/Enum/AutoScalingGroupProcess.php b/src/Service/CodeDeploy/src/Enum/AutoScalingGroupProcess.php
new file mode 100644
index 000000000..f8eee343a
--- /dev/null
+++ b/src/Service/CodeDeploy/src/Enum/AutoScalingGroupProcess.php
@@ -0,0 +1,29 @@
+ true,
+ self::INSTANCE_REFRESH => true,
+ self::SCHEDULED_ACTIONS => true,
+ self::TERMINATE => true,
+ ][$value]);
+ }
+}
diff --git a/src/Service/CodeDeploy/src/Exception/InvalidAutoScalingGroupProcessToSuspendException.php b/src/Service/CodeDeploy/src/Exception/InvalidAutoScalingGroupProcessToSuspendException.php
new file mode 100644
index 000000000..414d9fa4a
--- /dev/null
+++ b/src/Service/CodeDeploy/src/Exception/InvalidAutoScalingGroupProcessToSuspendException.php
@@ -0,0 +1,13 @@
+fileExistsBehavior = $input['fileExistsBehavior'] ?? null;
$this->deploymentMode = $input['deploymentMode'] ?? null;
$this->overrideAlarmConfiguration = isset($input['overrideAlarmConfiguration']) ? AlarmConfiguration::create($input['overrideAlarmConfiguration']) : null;
+ $this->ec2DeploymentOptions = isset($input['ec2DeploymentOptions']) ? EC2DeploymentOptions::create($input['ec2DeploymentOptions']) : null;
parent::__construct($input);
}
@@ -201,6 +209,7 @@ public function __construct(array $input = [])
* fileExistsBehavior?: FileExistsBehavior::*|null,
* deploymentMode?: DeploymentMode::*|null,
* overrideAlarmConfiguration?: AlarmConfiguration|array|null,
+ * ec2DeploymentOptions?: EC2DeploymentOptions|array|null,
* '@region'?: string|null,
* }|CreateDeploymentInput $input
*/
@@ -242,6 +251,11 @@ public function getDescription(): ?string
return $this->description;
}
+ public function getEc2DeploymentOptions(): ?EC2DeploymentOptions
+ {
+ return $this->ec2DeploymentOptions;
+ }
+
/**
* @return FileExistsBehavior::*|null
*/
@@ -346,6 +360,13 @@ public function setDescription(?string $value): self
return $this;
}
+ public function setEc2DeploymentOptions(?EC2DeploymentOptions $value): self
+ {
+ $this->ec2DeploymentOptions = $value;
+
+ return $this;
+ }
+
/**
* @param FileExistsBehavior::*|null $value
*/
@@ -439,6 +460,9 @@ private function requestBody(): array
if (null !== $v = $this->overrideAlarmConfiguration) {
$payload['overrideAlarmConfiguration'] = $v->requestBody();
}
+ if (null !== $v = $this->ec2DeploymentOptions) {
+ $payload['ec2DeploymentOptions'] = $v->requestBody();
+ }
return $payload;
}
diff --git a/src/Service/CodeDeploy/src/Result/GetDeploymentOutput.php b/src/Service/CodeDeploy/src/Result/GetDeploymentOutput.php
index 4dd0a86ac..642154e9f 100644
--- a/src/Service/CodeDeploy/src/Result/GetDeploymentOutput.php
+++ b/src/Service/CodeDeploy/src/Result/GetDeploymentOutput.php
@@ -3,6 +3,7 @@
namespace AsyncAws\CodeDeploy\Result;
use AsyncAws\CodeDeploy\Enum\AutoRollbackEvent;
+use AsyncAws\CodeDeploy\Enum\AutoScalingGroupProcess;
use AsyncAws\CodeDeploy\Enum\BundleType;
use AsyncAws\CodeDeploy\Enum\ComputePlatform;
use AsyncAws\CodeDeploy\Enum\DeploymentCreator;
@@ -27,6 +28,7 @@
use AsyncAws\CodeDeploy\ValueObject\DeploymentOverview;
use AsyncAws\CodeDeploy\ValueObject\DeploymentReadyOption;
use AsyncAws\CodeDeploy\ValueObject\DeploymentStyle;
+use AsyncAws\CodeDeploy\ValueObject\EC2DeploymentOptions;
use AsyncAws\CodeDeploy\ValueObject\EC2TagFilter;
use AsyncAws\CodeDeploy\ValueObject\EC2TagSet;
use AsyncAws\CodeDeploy\ValueObject\ELBInfo;
@@ -152,6 +154,25 @@ private function populateResultAutoScalingGroupNameList(array $json): array
return $items;
}
+ /**
+ * @return list
+ */
+ private function populateResultAutoScalingGroupProcessesToSuspendList(array $json): array
+ {
+ $items = [];
+ foreach ($json as $item) {
+ $a = isset($item) ? (string) $item : null;
+ if (null !== $a) {
+ if (!AutoScalingGroupProcess::exists($a)) {
+ $a = AutoScalingGroupProcess::UNKNOWN_TO_SDK;
+ }
+ $items[] = $a;
+ }
+ }
+
+ return $items;
+ }
+
private function populateResultBlueGreenDeploymentConfiguration(array $json): BlueGreenDeploymentConfiguration
{
return new BlueGreenDeploymentConfiguration([
@@ -203,6 +224,7 @@ private function populateResultDeploymentInfo(array $json): DeploymentInfo
'externalId' => isset($json['externalId']) ? (string) $json['externalId'] : null,
'relatedDeployments' => empty($json['relatedDeployments']) ? null : $this->populateResultRelatedDeployments($json['relatedDeployments']),
'overrideAlarmConfiguration' => empty($json['overrideAlarmConfiguration']) ? null : $this->populateResultAlarmConfiguration($json['overrideAlarmConfiguration']),
+ 'ec2DeploymentOptions' => empty($json['ec2DeploymentOptions']) ? null : $this->populateResultEC2DeploymentOptions($json['ec2DeploymentOptions']),
]);
}
@@ -266,6 +288,13 @@ private function populateResultDeploymentsList(array $json): array
return $items;
}
+ private function populateResultEC2DeploymentOptions(array $json): EC2DeploymentOptions
+ {
+ return new EC2DeploymentOptions([
+ 'autoScalingGroupProcessesToSuspend' => !isset($json['autoScalingGroupProcessesToSuspend']) ? null : $this->populateResultAutoScalingGroupProcessesToSuspendList($json['autoScalingGroupProcessesToSuspend']),
+ ]);
+ }
+
private function populateResultEC2TagFilter(array $json): EC2TagFilter
{
return new EC2TagFilter([
diff --git a/src/Service/CodeDeploy/src/ValueObject/DeploymentInfo.php b/src/Service/CodeDeploy/src/ValueObject/DeploymentInfo.php
index d1963d386..745447f51 100644
--- a/src/Service/CodeDeploy/src/ValueObject/DeploymentInfo.php
+++ b/src/Service/CodeDeploy/src/ValueObject/DeploymentInfo.php
@@ -269,6 +269,11 @@ final class DeploymentInfo
*/
private $overrideAlarmConfiguration;
+ /**
+ * @var EC2DeploymentOptions|null
+ */
+ private $ec2DeploymentOptions;
+
/**
* @param array{
* applicationName?: string|null,
@@ -302,6 +307,7 @@ final class DeploymentInfo
* externalId?: string|null,
* relatedDeployments?: RelatedDeployments|array|null,
* overrideAlarmConfiguration?: AlarmConfiguration|array|null,
+ * ec2DeploymentOptions?: EC2DeploymentOptions|array|null,
* } $input
*/
public function __construct(array $input)
@@ -337,6 +343,7 @@ public function __construct(array $input)
$this->externalId = $input['externalId'] ?? null;
$this->relatedDeployments = isset($input['relatedDeployments']) ? RelatedDeployments::create($input['relatedDeployments']) : null;
$this->overrideAlarmConfiguration = isset($input['overrideAlarmConfiguration']) ? AlarmConfiguration::create($input['overrideAlarmConfiguration']) : null;
+ $this->ec2DeploymentOptions = isset($input['ec2DeploymentOptions']) ? EC2DeploymentOptions::create($input['ec2DeploymentOptions']) : null;
}
/**
@@ -372,6 +379,7 @@ public function __construct(array $input)
* externalId?: string|null,
* relatedDeployments?: RelatedDeployments|array|null,
* overrideAlarmConfiguration?: AlarmConfiguration|array|null,
+ * ec2DeploymentOptions?: EC2DeploymentOptions|array|null,
* }|DeploymentInfo $input
*/
public static function create($input): self
@@ -471,6 +479,11 @@ public function getDescription(): ?string
return $this->description;
}
+ public function getEc2DeploymentOptions(): ?EC2DeploymentOptions
+ {
+ return $this->ec2DeploymentOptions;
+ }
+
public function getErrorInformation(): ?ErrorInformation
{
return $this->errorInformation;
diff --git a/src/Service/CodeDeploy/src/ValueObject/EC2DeploymentOptions.php b/src/Service/CodeDeploy/src/ValueObject/EC2DeploymentOptions.php
new file mode 100644
index 000000000..d73e13ec2
--- /dev/null
+++ b/src/Service/CodeDeploy/src/ValueObject/EC2DeploymentOptions.php
@@ -0,0 +1,85 @@
+ If CodeDeploy cannot resume the processes, the deployment fails and the processes stay suspended until you resume
+ * > them with the Auto Scaling `ResumeProcesses` action. While `Terminate` is suspended, Auto Scaling does not replace
+ * > unhealthy instances. If you suspend `Terminate`, configure a trigger that notifies you when a deployment fails.
+ *
+ * @var list|null
+ */
+ private $autoScalingGroupProcessesToSuspend;
+
+ /**
+ * @param array{
+ * autoScalingGroupProcessesToSuspend?: array|null,
+ * } $input
+ */
+ public function __construct(array $input)
+ {
+ $this->autoScalingGroupProcessesToSuspend = $input['autoScalingGroupProcessesToSuspend'] ?? null;
+ }
+
+ /**
+ * @param array{
+ * autoScalingGroupProcessesToSuspend?: array|null,
+ * }|EC2DeploymentOptions $input
+ */
+ public static function create($input): self
+ {
+ return $input instanceof self ? $input : new self($input);
+ }
+
+ /**
+ * @return list
+ */
+ public function getAutoScalingGroupProcessesToSuspend(): array
+ {
+ return $this->autoScalingGroupProcessesToSuspend ?? [];
+ }
+
+ /**
+ * @internal
+ */
+ public function requestBody(): array
+ {
+ $payload = [];
+ if (null !== $v = $this->autoScalingGroupProcessesToSuspend) {
+ $index = -1;
+ $payload['autoScalingGroupProcessesToSuspend'] = [];
+ foreach ($v as $listValue) {
+ ++$index;
+ if (!AutoScalingGroupProcess::exists($listValue)) {
+ /** @psalm-suppress NoValue */
+ throw new InvalidArgument(\sprintf('Invalid parameter "autoScalingGroupProcessesToSuspend" for "%s". The value "%s" is not a valid "AutoScalingGroupProcess".', __CLASS__, $listValue));
+ }
+ $payload['autoScalingGroupProcessesToSuspend'][$index] = $listValue;
+ }
+ }
+
+ return $payload;
+ }
+}