Skip to content

Commit bf8470a

Browse files
Adds the AdminDeleteSoftwareToken API operation, enabling administrators to remove a user's registered TOTP (software token) MFA configuration from a user pool.
EC2 allows AMI owners to define compatible instance types on their AMIs, blocking RunInstances calls automatically for launches on non-permitted instance types. Adding support for the full snapshot size, in bytes, of DB instance snapshots. Updating SDK and CLI documentation for AttachDataSource API. Add cascadeDelete to DeleteDomain. When specified, DataZone recursively deletes all projects, environments, subscriptions, and their underlying AWS resources before removing the domain. Deletion progress is reported via deleteProgress and resource failures via failureReasons on GetDomain. Added resultCount to QueryStatistics in GetQueryResults. This field returns the total number of output rows in the final result set, helping customers programmatically determine whether a query produced results after all operations including post-aggregation filters. Added a deploymentMode parameter to CreateDeployment. Set it to RESTART to restart an EC2 and on-premises fleet, using the last successful revision, honoring Deployment Configuration. Added InsufficientCapacityException to RunMicrovm for capacity-related failures. Added lifecycle status field (AVAILABLE, DEPRECATED) to ListManagedMicrovmImageVersions. Added ConflictException to CreateMicrovmAuthToken and CreateMicrovmShellAuthToken for unregistered MicroVMs.
1 parent ef3c6b7 commit bf8470a

68 files changed

Lines changed: 2401 additions & 321 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

‎.changelog/bugfix-protocoltests.json‎

Lines changed: 0 additions & 6 deletions
This file was deleted.

‎CHANGELOG.md‎

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,18 @@
1+
# 1.11.880 (2026-08-27)
2+
3+
## SDK Highlights
4+
* **Bug Fix**: Compare generated protocol-test requests semantically instead of byte-for-byte: XML bodies are compared canonically via tinyxml2, form-urlencoded bodies and URI query strings are compared as unordered parameter sets, body assertions are skipped for test vectors with no body, and generated timestamp values are fixed.
5+
6+
## Service Updates
7+
* **CloudWatch Logs**: Added resultCount to QueryStatistics in GetQueryResults. This field returns the total number of output rows in the final result set, helping customers programmatically determine whether a query produced results after all operations including post-aggregation filters.
8+
* **CodeDeploy**: Added a deploymentMode parameter to CreateDeployment. Set it to RESTART to restart an EC2 and on-premises fleet, using the last successful revision, honoring Deployment Configuration.
9+
* **Cognito Identity Provider**: Adds the AdminDeleteSoftwareToken API operation, enabling administrators to remove a user's registered TOTP (software token) MFA configuration from a user pool.
10+
* **DataZone**: Add cascadeDelete to DeleteDomain. When specified, DataZone recursively deletes all projects, environments, subscriptions, and their underlying AWS resources before removing the domain. Deletion progress is reported via deleteProgress and resource failures via failureReasons on GetDomain.
11+
* **EC2**: EC2 allows AMI owners to define compatible instance types on their AMIs, blocking RunInstances calls automatically for launches on non-permitted instance types.
12+
* **Lambda Microvms**: Added InsufficientCapacityException to RunMicrovm for capacity-related failures. Added lifecycle status field (AVAILABLE, DEPRECATED) to ListManagedMicrovmImageVersions. Added ConflictException to CreateMicrovmAuthToken and CreateMicrovmShellAuthToken for unregistered MicroVMs.
13+
* **OpenSearch**: Updating SDK and CLI documentation for AttachDataSource API.
14+
* **RDS**: Adding support for the full snapshot size, in bytes, of DB instance snapshots.
15+
116
# 1.11.879 (2026-08-26)
217

318
## SDK Highlights

‎VERSION‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
1.11.879
1+
1.11.880

‎generated/src/aws-cpp-sdk-codedeploy/include/aws/codedeploy/model/CreateDeploymentRequest.h‎

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
#include <aws/codedeploy/CodeDeploy_EXPORTS.h>
99
#include <aws/codedeploy/model/AlarmConfiguration.h>
1010
#include <aws/codedeploy/model/AutoRollbackConfiguration.h>
11+
#include <aws/codedeploy/model/DeploymentMode.h>
1112
#include <aws/codedeploy/model/FileExistsBehavior.h>
1213
#include <aws/codedeploy/model/RevisionLocation.h>
1314
#include <aws/codedeploy/model/TargetInstances.h>
@@ -250,6 +251,25 @@ class CreateDeploymentRequest : public CodeDeployRequest {
250251
}
251252
///@}
252253

254+
///@{
255+
/**
256+
* The deployment mode to use for the deployment. When set to STANDARD (the
257+
* default), the deployment runs the standard set of deployment lifecycle events.
258+
* When set to RESTART, an EC2/On-premises in-place deployment runs a shortened set
259+
* of lifecycle events to quickly restart the application on the target instances.
260+
*/
261+
inline DeploymentMode GetDeploymentMode() const { return m_deploymentMode; }
262+
inline bool DeploymentModeHasBeenSet() const { return m_deploymentModeHasBeenSet; }
263+
inline void SetDeploymentMode(DeploymentMode value) {
264+
m_deploymentModeHasBeenSet = true;
265+
m_deploymentMode = value;
266+
}
267+
inline CreateDeploymentRequest& WithDeploymentMode(DeploymentMode value) {
268+
SetDeploymentMode(value);
269+
return *this;
270+
}
271+
///@}
272+
253273
///@{
254274
/**
255275
* <p>Allows you to specify information about alarms associated with a deployment.
@@ -300,6 +320,8 @@ class CreateDeploymentRequest : public CodeDeployRequest {
300320

301321
FileExistsBehavior m_fileExistsBehavior{FileExistsBehavior::NOT_SET};
302322

323+
DeploymentMode m_deploymentMode{DeploymentMode::NOT_SET};
324+
303325
AlarmConfiguration m_overrideAlarmConfiguration;
304326
bool m_applicationNameHasBeenSet = false;
305327
bool m_deploymentGroupNameHasBeenSet = false;
@@ -311,6 +333,7 @@ class CreateDeploymentRequest : public CodeDeployRequest {
311333
bool m_autoRollbackConfigurationHasBeenSet = false;
312334
bool m_updateOutdatedInstancesOnlyHasBeenSet = false;
313335
bool m_fileExistsBehaviorHasBeenSet = false;
336+
bool m_deploymentModeHasBeenSet = false;
314337
bool m_overrideAlarmConfigurationHasBeenSet = false;
315338
};
316339

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
/**
2+
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3+
* SPDX-License-Identifier: Apache-2.0.
4+
*/
5+
6+
#pragma once
7+
#include <aws/codedeploy/CodeDeploy_EXPORTS.h>
8+
#include <aws/core/utils/memory/stl/AWSString.h>
9+
10+
namespace Aws {
11+
namespace CodeDeploy {
12+
namespace Model {
13+
enum class DeploymentMode { NOT_SET, STANDARD, RESTART };
14+
15+
namespace DeploymentModeMapper {
16+
AWS_CODEDEPLOY_API DeploymentMode GetDeploymentModeForName(const Aws::String& name);
17+
18+
AWS_CODEDEPLOY_API Aws::String GetNameForDeploymentMode(DeploymentMode value);
19+
} // namespace DeploymentModeMapper
20+
} // namespace Model
21+
} // namespace CodeDeploy
22+
} // namespace Aws

‎generated/src/aws-cpp-sdk-codedeploy/source/model/CreateDeploymentRequest.cpp‎

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,10 @@ Aws::String CreateDeploymentRequest::SerializePayload() const {
5555
payload.WithString("fileExistsBehavior", FileExistsBehaviorMapper::GetNameForFileExistsBehavior(m_fileExistsBehavior));
5656
}
5757

58+
if (m_deploymentModeHasBeenSet) {
59+
payload.WithString("deploymentMode", DeploymentModeMapper::GetNameForDeploymentMode(m_deploymentMode));
60+
}
61+
5862
if (m_overrideAlarmConfigurationHasBeenSet) {
5963
payload.WithObject("overrideAlarmConfiguration", m_overrideAlarmConfiguration.Jsonize());
6064
}
Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
/**
2+
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3+
* SPDX-License-Identifier: Apache-2.0.
4+
*/
5+
6+
#include <aws/codedeploy/model/DeploymentMode.h>
7+
#include <aws/core/Globals.h>
8+
#include <aws/core/utils/EnumParseOverflowContainer.h>
9+
#include <aws/core/utils/HashingUtils.h>
10+
11+
using namespace Aws::Utils;
12+
13+
namespace Aws {
14+
namespace CodeDeploy {
15+
namespace Model {
16+
namespace DeploymentModeMapper {
17+
18+
static const int STANDARD_HASH = HashingUtils::HashString("STANDARD");
19+
static const int RESTART_HASH = HashingUtils::HashString("RESTART");
20+
21+
DeploymentMode GetDeploymentModeForName(const Aws::String& name) {
22+
int hashCode = HashingUtils::HashString(name.c_str());
23+
if (hashCode == STANDARD_HASH) {
24+
return DeploymentMode::STANDARD;
25+
} else if (hashCode == RESTART_HASH) {
26+
return DeploymentMode::RESTART;
27+
}
28+
EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer();
29+
if (overflowContainer) {
30+
overflowContainer->StoreOverflow(hashCode, name);
31+
return static_cast<DeploymentMode>(hashCode);
32+
}
33+
34+
return DeploymentMode::NOT_SET;
35+
}
36+
37+
Aws::String GetNameForDeploymentMode(DeploymentMode enumValue) {
38+
switch (enumValue) {
39+
case DeploymentMode::NOT_SET:
40+
return {};
41+
case DeploymentMode::STANDARD:
42+
return "STANDARD";
43+
case DeploymentMode::RESTART:
44+
return "RESTART";
45+
default:
46+
EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer();
47+
if (overflowContainer) {
48+
return overflowContainer->RetrieveOverflow(static_cast<int>(enumValue));
49+
}
50+
51+
return {};
52+
}
53+
}
54+
55+
} // namespace DeploymentModeMapper
56+
} // namespace Model
57+
} // namespace CodeDeploy
58+
} // namespace Aws

‎generated/src/aws-cpp-sdk-cognito-idp/include/aws/cognito-idp/CognitoIdentityProviderClient.h‎

Lines changed: 46 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -328,6 +328,47 @@ class AWS_COGNITOIDENTITYPROVIDER_API CognitoIdentityProviderClient
328328
return SubmitAsync(&CognitoIdentityProviderClient::AdminCreateUser, request, handler, context);
329329
}
330330

331+
/**
332+
* <p>Deletes a user's registered time-based one-time password (TOTP) multi-factor
333+
* authentication (MFA) factor, also known as a software token. After this
334+
* operation, the user can no longer sign in with TOTP MFA, and can register a new
335+
* TOTP factor with <code>AssociateSoftwareToken</code>. Use this operation when a
336+
* user loses access to their TOTP-generating device, for example, a lost or reset
337+
* phone, and needs to register a new one.</p> <p>Amazon Cognito evaluates
338+
* Identity and Access Management (IAM) policies in requests for this API
339+
* operation. For this operation, you must use IAM credentials to authorize
340+
* requests, and you must grant yourself the corresponding IAM permission in a
341+
* policy.</p> <p class="title"> <b>Learn more</b> </p> <ul> <li> <p> <a
342+
* href="https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-signing.html">Signing
343+
* Amazon Web Services API Requests</a> </p> </li> <li> <p> <a
344+
* href="https://docs.aws.amazon.com/cognito/latest/developerguide/user-pools-API-operations.html">Using
345+
* the Amazon Cognito user pools API and user pool endpoints</a> </p> </li> </ul>
346+
* <p><h3>See Also:</h3> <a
347+
* href="http://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/AdminDeleteSoftwareToken">AWS
348+
* API Reference</a></p>
349+
*/
350+
virtual Model::AdminDeleteSoftwareTokenOutcome AdminDeleteSoftwareToken(const Model::AdminDeleteSoftwareTokenRequest& request) const;
351+
352+
/**
353+
* A Callable wrapper for AdminDeleteSoftwareToken that returns a future to the operation so that it can be executed in parallel to other
354+
* requests.
355+
*/
356+
template <typename AdminDeleteSoftwareTokenRequestT = Model::AdminDeleteSoftwareTokenRequest>
357+
Model::AdminDeleteSoftwareTokenOutcomeCallable AdminDeleteSoftwareTokenCallable(const AdminDeleteSoftwareTokenRequestT& request) const {
358+
return SubmitCallable(&CognitoIdentityProviderClient::AdminDeleteSoftwareToken, request);
359+
}
360+
361+
/**
362+
* An Async wrapper for AdminDeleteSoftwareToken that queues the request into a thread executor and triggers associated callback when
363+
* operation has finished.
364+
*/
365+
template <typename AdminDeleteSoftwareTokenRequestT = Model::AdminDeleteSoftwareTokenRequest>
366+
void AdminDeleteSoftwareTokenAsync(const AdminDeleteSoftwareTokenRequestT& request,
367+
const AdminDeleteSoftwareTokenResponseReceivedHandler& handler,
368+
const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const {
369+
return SubmitAsync(&CognitoIdentityProviderClient::AdminDeleteSoftwareToken, request, handler, context);
370+
}
371+
331372
/**
332373
* <p>Deletes a user profile in your user pool.</p> <p>Amazon Cognito
333374
* evaluates Identity and Access Management (IAM) policies in requests for this API
@@ -2846,7 +2887,11 @@ class AWS_COGNITOIDENTITYPROVIDER_API CognitoIdentityProviderClient
28462887

28472888
/**
28482889
* <p>Given a user pool domain name, returns information about the domain
2849-
* configuration.</p> <p>Amazon Cognito evaluates Identity and Access
2890+
* configuration.</p> <p>This operation doesn't return results when you
2891+
* query a prefix domain in a secondary Region. Prefix domains are Region-specific
2892+
* and can only be described in the Region where they were created. To describe a
2893+
* prefix domain for a replica user pool, make the request to the primary Region's
2894+
* endpoint.</p> <p>Amazon Cognito evaluates Identity and Access
28502895
* Management (IAM) policies in requests for this API operation. For this
28512896
* operation, you must use IAM credentials to authorize requests, and you must
28522897
* grant yourself the corresponding IAM permission in a policy.</p> <p

‎generated/src/aws-cpp-sdk-cognito-idp/include/aws/cognito-idp/CognitoIdentityProviderServiceClientModel.h‎

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
#include <aws/cognito-idp/model/AddUserPoolClientSecretResult.h>
2424
#include <aws/cognito-idp/model/AdminConfirmSignUpResult.h>
2525
#include <aws/cognito-idp/model/AdminCreateUserResult.h>
26+
#include <aws/cognito-idp/model/AdminDeleteSoftwareTokenResult.h>
2627
#include <aws/cognito-idp/model/AdminDeleteUserAttributesResult.h>
2728
#include <aws/cognito-idp/model/AdminDisableProviderForUserResult.h>
2829
#include <aws/cognito-idp/model/AdminDisableUserResult.h>
@@ -176,6 +177,7 @@ class AddUserPoolClientSecretRequest;
176177
class AdminAddUserToGroupRequest;
177178
class AdminConfirmSignUpRequest;
178179
class AdminCreateUserRequest;
180+
class AdminDeleteSoftwareTokenRequest;
179181
class AdminDeleteUserRequest;
180182
class AdminDeleteUserAttributesRequest;
181183
class AdminDisableProviderForUserRequest;
@@ -308,6 +310,7 @@ typedef Aws::Utils::Outcome<AddUserPoolClientSecretResult, CognitoIdentityProvid
308310
typedef Aws::Utils::Outcome<Aws::NoResult, CognitoIdentityProviderError> AdminAddUserToGroupOutcome;
309311
typedef Aws::Utils::Outcome<AdminConfirmSignUpResult, CognitoIdentityProviderError> AdminConfirmSignUpOutcome;
310312
typedef Aws::Utils::Outcome<AdminCreateUserResult, CognitoIdentityProviderError> AdminCreateUserOutcome;
313+
typedef Aws::Utils::Outcome<AdminDeleteSoftwareTokenResult, CognitoIdentityProviderError> AdminDeleteSoftwareTokenOutcome;
311314
typedef Aws::Utils::Outcome<Aws::NoResult, CognitoIdentityProviderError> AdminDeleteUserOutcome;
312315
typedef Aws::Utils::Outcome<AdminDeleteUserAttributesResult, CognitoIdentityProviderError> AdminDeleteUserAttributesOutcome;
313316
typedef Aws::Utils::Outcome<AdminDisableProviderForUserResult, CognitoIdentityProviderError> AdminDisableProviderForUserOutcome;
@@ -441,6 +444,7 @@ typedef std::future<AddUserPoolClientSecretOutcome> AddUserPoolClientSecretOutco
441444
typedef std::future<AdminAddUserToGroupOutcome> AdminAddUserToGroupOutcomeCallable;
442445
typedef std::future<AdminConfirmSignUpOutcome> AdminConfirmSignUpOutcomeCallable;
443446
typedef std::future<AdminCreateUserOutcome> AdminCreateUserOutcomeCallable;
447+
typedef std::future<AdminDeleteSoftwareTokenOutcome> AdminDeleteSoftwareTokenOutcomeCallable;
444448
typedef std::future<AdminDeleteUserOutcome> AdminDeleteUserOutcomeCallable;
445449
typedef std::future<AdminDeleteUserAttributesOutcome> AdminDeleteUserAttributesOutcomeCallable;
446450
typedef std::future<AdminDisableProviderForUserOutcome> AdminDisableProviderForUserOutcomeCallable;
@@ -586,6 +590,9 @@ typedef std::function<void(const CognitoIdentityProviderClient*, const Model::Ad
586590
typedef std::function<void(const CognitoIdentityProviderClient*, const Model::AdminCreateUserRequest&, const Model::AdminCreateUserOutcome&,
587591
const std::shared_ptr<const Aws::Client::AsyncCallerContext>&)>
588592
AdminCreateUserResponseReceivedHandler;
593+
typedef std::function<void(const CognitoIdentityProviderClient*, const Model::AdminDeleteSoftwareTokenRequest&,
594+
const Model::AdminDeleteSoftwareTokenOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&)>
595+
AdminDeleteSoftwareTokenResponseReceivedHandler;
589596
typedef std::function<void(const CognitoIdentityProviderClient*, const Model::AdminDeleteUserRequest&, const Model::AdminDeleteUserOutcome&,
590597
const std::shared_ptr<const Aws::Client::AsyncCallerContext>&)>
591598
AdminDeleteUserResponseReceivedHandler;
Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
1+
/**
2+
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3+
* SPDX-License-Identifier: Apache-2.0.
4+
*/
5+
6+
#pragma once
7+
#include <aws/cognito-idp/CognitoIdentityProviderRequest.h>
8+
#include <aws/cognito-idp/CognitoIdentityProvider_EXPORTS.h>
9+
#include <aws/core/utils/memory/stl/AWSString.h>
10+
11+
#include <utility>
12+
13+
namespace Aws {
14+
namespace CognitoIdentityProvider {
15+
namespace Model {
16+
17+
/**
18+
*/
19+
class AdminDeleteSoftwareTokenRequest : public CognitoIdentityProviderRequest {
20+
public:
21+
AWS_COGNITOIDENTITYPROVIDER_API AdminDeleteSoftwareTokenRequest() = default;
22+
23+
// Service request name is the Operation name which will send this request out,
24+
// each operation should has unique request name, so that we can get operation's name from this request.
25+
// Note: this is not true for response, multiple operations may have the same response name,
26+
// so we can not get operation's name from response.
27+
inline virtual const char* GetServiceRequestName() const override { return "AdminDeleteSoftwareToken"; }
28+
29+
AWS_COGNITOIDENTITYPROVIDER_API Aws::String SerializePayload() const override;
30+
31+
AWS_COGNITOIDENTITYPROVIDER_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
32+
33+
///@{
34+
/**
35+
* <p>The ID of the user pool where you want to delete the user's software
36+
* token.</p>
37+
*/
38+
inline const Aws::String& GetUserPoolId() const { return m_userPoolId; }
39+
inline bool UserPoolIdHasBeenSet() const { return m_userPoolIdHasBeenSet; }
40+
template <typename UserPoolIdT = Aws::String>
41+
void SetUserPoolId(UserPoolIdT&& value) {
42+
m_userPoolIdHasBeenSet = true;
43+
m_userPoolId = std::forward<UserPoolIdT>(value);
44+
}
45+
template <typename UserPoolIdT = Aws::String>
46+
AdminDeleteSoftwareTokenRequest& WithUserPoolId(UserPoolIdT&& value) {
47+
SetUserPoolId(std::forward<UserPoolIdT>(value));
48+
return *this;
49+
}
50+
///@}
51+
52+
///@{
53+
/**
54+
* <p>The name of the user that you want to query or modify. The value of this
55+
* parameter is typically your user's username, but it can be any of their alias
56+
* attributes. If <code>username</code> isn't an alias attribute in your user pool,
57+
* this value must be the <code>sub</code> of a local user or the username of a
58+
* user from a third-party IdP.</p>
59+
*/
60+
inline const Aws::String& GetUsername() const { return m_username; }
61+
inline bool UsernameHasBeenSet() const { return m_usernameHasBeenSet; }
62+
template <typename UsernameT = Aws::String>
63+
void SetUsername(UsernameT&& value) {
64+
m_usernameHasBeenSet = true;
65+
m_username = std::forward<UsernameT>(value);
66+
}
67+
template <typename UsernameT = Aws::String>
68+
AdminDeleteSoftwareTokenRequest& WithUsername(UsernameT&& value) {
69+
SetUsername(std::forward<UsernameT>(value));
70+
return *this;
71+
}
72+
///@}
73+
private:
74+
Aws::String m_userPoolId;
75+
76+
Aws::String m_username;
77+
bool m_userPoolIdHasBeenSet = false;
78+
bool m_usernameHasBeenSet = false;
79+
};
80+
81+
} // namespace Model
82+
} // namespace CognitoIdentityProvider
83+
} // namespace Aws

0 commit comments

Comments
 (0)