Skip to content

Commit 66cd9f3

Browse files
This release adds the new LaunchInstances API, which can launch instances synchronously in an AutoScaling group. The API also returns instances info and launch error back immediately.
Amazon Bedrock Runtime Service Tier Support Launch AWS Site-to-Site VPN now supports VPN Concentrator, a new feature that enables customers to connect multiple low-bandwidth sites connections through a single attachment, simplifying multi-site connectivity for distributed enterprises. Add support for new ListRequiredTags API used to retrieve the required tags specified in a customer's effective tag policy. Added the AssociateDelegationRequest, GetDelegationRequest, AcceptDelegationRequest, RejectDelegatonRequest, ListDelegationRequests, UpdateDelegationRequest, SendDelegationToken and GetHumanReadableSummary APIs for the IAM temporary delegation feature. AWS Backup now supports a low-cost warm storage tier for Amazon S3 backup data. Amazon MSK adds three new APIs, ListTopics, DescribeTopic, and DescribeTopicPartitions for viewing Kafka topics in your MSK clusters. New CloudFormation DescribeEvents API with operation ID tracking and failure filtering capabilities to quickly identify root causes of deployment failures. Also, a DeploymentMode parameter for the CreateChangeSet API that enables creation of drift-aware change sets for safe drift management. Adds support for European Sovereign Cloud ARNs in Storage Gateway API parameters. AssociateWebACL, UpdateWebACL and PutLoggingConfiguration will now throw WAFFeatureNotIncludedInPricingPlanException when the request contains a feature that is not included in the CloudFront pricing plan of the WebACL. CloudWatch Logs updates: Added capability to setup a recurring schedule for log insights queries. Logs introduced Scheduled Queries (managed through Create/Update/Get/Delete/List/History Scheduled Query APIs). For more information, see CloudWatch Logs API documentation. This release added support for ring timer configuration for campaign calls.
1 parent c25687b commit 66cd9f3

File tree

330 files changed

+23286
-764
lines changed

Some content is hidden

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

330 files changed

+23286
-764
lines changed

VERSION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
1.11.692
1+
1.11.693

generated/src/aws-cpp-sdk-autoscaling/include/aws/autoscaling/AutoScalingClient.h

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1869,6 +1869,33 @@ class AWS_AUTOSCALING_API AutoScalingClient : public Aws::Client::AWSXMLClient,
18691869
return SubmitAsync(&AutoScalingClient::GetPredictiveScalingForecast, request, handler, context);
18701870
}
18711871

1872+
/**
1873+
* <p> Launches a specified number of instances in an Auto Scaling group. Returns
1874+
* instance IDs and other details if launch is successful or error details if
1875+
* launch is unsuccessful. </p><p><h3>See Also:</h3> <a
1876+
* href="http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/LaunchInstances">AWS
1877+
* API Reference</a></p>
1878+
*/
1879+
virtual Model::LaunchInstancesOutcome LaunchInstances(const Model::LaunchInstancesRequest& request) const;
1880+
1881+
/**
1882+
* A Callable wrapper for LaunchInstances that returns a future to the operation so that it can be executed in parallel to other requests.
1883+
*/
1884+
template <typename LaunchInstancesRequestT = Model::LaunchInstancesRequest>
1885+
Model::LaunchInstancesOutcomeCallable LaunchInstancesCallable(const LaunchInstancesRequestT& request) const {
1886+
return SubmitCallable(&AutoScalingClient::LaunchInstances, request);
1887+
}
1888+
1889+
/**
1890+
* An Async wrapper for LaunchInstances that queues the request into a thread executor and triggers associated callback when operation has
1891+
* finished.
1892+
*/
1893+
template <typename LaunchInstancesRequestT = Model::LaunchInstancesRequest>
1894+
void LaunchInstancesAsync(const LaunchInstancesRequestT& request, const LaunchInstancesResponseReceivedHandler& handler,
1895+
const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const {
1896+
return SubmitAsync(&AutoScalingClient::LaunchInstances, request, handler, context);
1897+
}
1898+
18721899
/**
18731900
* <p>Creates or updates a lifecycle hook for the specified Auto Scaling group.</p>
18741901
* <p>Lifecycle hooks let you create solutions that are aware of events in the Auto

generated/src/aws-cpp-sdk-autoscaling/include/aws/autoscaling/AutoScalingErrors.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@ enum class AutoScalingErrors {
4646

4747
ACTIVE_INSTANCE_REFRESH_NOT_FOUND_FAULT = static_cast<int>(Aws::Client::CoreErrors::SERVICE_EXTENSION_START_RANGE) + 1,
4848
ALREADY_EXISTS_FAULT,
49+
IDEMPOTENT_PARAMETER_MISMATCH,
4950
INSTANCE_REFRESH_IN_PROGRESS_FAULT,
5051
INVALID_NEXT_TOKEN,
5152
IRREVERSIBLE_INSTANCE_REFRESH_FAULT,

generated/src/aws-cpp-sdk-autoscaling/include/aws/autoscaling/AutoScalingServiceClientModel.h

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,7 @@
7171
#include <aws/autoscaling/model/EnterStandbyResult.h>
7272
#include <aws/autoscaling/model/ExitStandbyResult.h>
7373
#include <aws/autoscaling/model/GetPredictiveScalingForecastResult.h>
74+
#include <aws/autoscaling/model/LaunchInstancesResult.h>
7475
#include <aws/autoscaling/model/PutLifecycleHookResult.h>
7576
#include <aws/autoscaling/model/PutScalingPolicyResult.h>
7677
#include <aws/autoscaling/model/PutWarmPoolResult.h>
@@ -163,6 +164,7 @@ class EnterStandbyRequest;
163164
class ExecutePolicyRequest;
164165
class ExitStandbyRequest;
165166
class GetPredictiveScalingForecastRequest;
167+
class LaunchInstancesRequest;
166168
class PutLifecycleHookRequest;
167169
class PutNotificationConfigurationRequest;
168170
class PutScalingPolicyRequest;
@@ -231,6 +233,7 @@ typedef Aws::Utils::Outcome<EnterStandbyResult, AutoScalingError> EnterStandbyOu
231233
typedef Aws::Utils::Outcome<Aws::NoResult, AutoScalingError> ExecutePolicyOutcome;
232234
typedef Aws::Utils::Outcome<ExitStandbyResult, AutoScalingError> ExitStandbyOutcome;
233235
typedef Aws::Utils::Outcome<GetPredictiveScalingForecastResult, AutoScalingError> GetPredictiveScalingForecastOutcome;
236+
typedef Aws::Utils::Outcome<LaunchInstancesResult, AutoScalingError> LaunchInstancesOutcome;
234237
typedef Aws::Utils::Outcome<PutLifecycleHookResult, AutoScalingError> PutLifecycleHookOutcome;
235238
typedef Aws::Utils::Outcome<Aws::NoResult, AutoScalingError> PutNotificationConfigurationOutcome;
236239
typedef Aws::Utils::Outcome<PutScalingPolicyResult, AutoScalingError> PutScalingPolicyOutcome;
@@ -299,6 +302,7 @@ typedef std::future<EnterStandbyOutcome> EnterStandbyOutcomeCallable;
299302
typedef std::future<ExecutePolicyOutcome> ExecutePolicyOutcomeCallable;
300303
typedef std::future<ExitStandbyOutcome> ExitStandbyOutcomeCallable;
301304
typedef std::future<GetPredictiveScalingForecastOutcome> GetPredictiveScalingForecastOutcomeCallable;
305+
typedef std::future<LaunchInstancesOutcome> LaunchInstancesOutcomeCallable;
302306
typedef std::future<PutLifecycleHookOutcome> PutLifecycleHookOutcomeCallable;
303307
typedef std::future<PutNotificationConfigurationOutcome> PutNotificationConfigurationOutcomeCallable;
304308
typedef std::future<PutScalingPolicyOutcome> PutScalingPolicyOutcomeCallable;
@@ -482,6 +486,9 @@ typedef std::function<void(const AutoScalingClient*, const Model::GetPredictiveS
482486
const Model::GetPredictiveScalingForecastOutcome&,
483487
const std::shared_ptr<const Aws::Client::AsyncCallerContext>&)>
484488
GetPredictiveScalingForecastResponseReceivedHandler;
489+
typedef std::function<void(const AutoScalingClient*, const Model::LaunchInstancesRequest&, const Model::LaunchInstancesOutcome&,
490+
const std::shared_ptr<const Aws::Client::AsyncCallerContext>&)>
491+
LaunchInstancesResponseReceivedHandler;
485492
typedef std::function<void(const AutoScalingClient*, const Model::PutLifecycleHookRequest&, const Model::PutLifecycleHookOutcome&,
486493
const std::shared_ptr<const Aws::Client::AsyncCallerContext>&)>
487494
PutLifecycleHookResponseReceivedHandler;
Lines changed: 174 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,174 @@
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/autoscaling/AutoScaling_EXPORTS.h>
8+
#include <aws/core/utils/memory/stl/AWSStreamFwd.h>
9+
#include <aws/core/utils/memory/stl/AWSString.h>
10+
#include <aws/core/utils/memory/stl/AWSVector.h>
11+
12+
#include <utility>
13+
14+
namespace Aws {
15+
namespace Utils {
16+
namespace Xml {
17+
class XmlNode;
18+
} // namespace Xml
19+
} // namespace Utils
20+
namespace AutoScaling {
21+
namespace Model {
22+
23+
/**
24+
* <p> Contains details about a collection of instances launched in the Auto
25+
* Scaling group. </p><p><h3>See Also:</h3> <a
26+
* href="http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/InstanceCollection">AWS
27+
* API Reference</a></p>
28+
*/
29+
class InstanceCollection {
30+
public:
31+
AWS_AUTOSCALING_API InstanceCollection() = default;
32+
AWS_AUTOSCALING_API InstanceCollection(const Aws::Utils::Xml::XmlNode& xmlNode);
33+
AWS_AUTOSCALING_API InstanceCollection& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
34+
35+
AWS_AUTOSCALING_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
36+
AWS_AUTOSCALING_API void OutputToStream(Aws::OStream& oStream, const char* location) const;
37+
38+
///@{
39+
/**
40+
* <p> The instance type of the launched instances. </p>
41+
*/
42+
inline const Aws::String& GetInstanceType() const { return m_instanceType; }
43+
inline bool InstanceTypeHasBeenSet() const { return m_instanceTypeHasBeenSet; }
44+
template <typename InstanceTypeT = Aws::String>
45+
void SetInstanceType(InstanceTypeT&& value) {
46+
m_instanceTypeHasBeenSet = true;
47+
m_instanceType = std::forward<InstanceTypeT>(value);
48+
}
49+
template <typename InstanceTypeT = Aws::String>
50+
InstanceCollection& WithInstanceType(InstanceTypeT&& value) {
51+
SetInstanceType(std::forward<InstanceTypeT>(value));
52+
return *this;
53+
}
54+
///@}
55+
56+
///@{
57+
/**
58+
* <p> The market type for the instances (On-Demand or Spot). </p>
59+
*/
60+
inline const Aws::String& GetMarketType() const { return m_marketType; }
61+
inline bool MarketTypeHasBeenSet() const { return m_marketTypeHasBeenSet; }
62+
template <typename MarketTypeT = Aws::String>
63+
void SetMarketType(MarketTypeT&& value) {
64+
m_marketTypeHasBeenSet = true;
65+
m_marketType = std::forward<MarketTypeT>(value);
66+
}
67+
template <typename MarketTypeT = Aws::String>
68+
InstanceCollection& WithMarketType(MarketTypeT&& value) {
69+
SetMarketType(std::forward<MarketTypeT>(value));
70+
return *this;
71+
}
72+
///@}
73+
74+
///@{
75+
/**
76+
* <p> The ID of the subnet where the instances were launched. </p>
77+
*/
78+
inline const Aws::String& GetSubnetId() const { return m_subnetId; }
79+
inline bool SubnetIdHasBeenSet() const { return m_subnetIdHasBeenSet; }
80+
template <typename SubnetIdT = Aws::String>
81+
void SetSubnetId(SubnetIdT&& value) {
82+
m_subnetIdHasBeenSet = true;
83+
m_subnetId = std::forward<SubnetIdT>(value);
84+
}
85+
template <typename SubnetIdT = Aws::String>
86+
InstanceCollection& WithSubnetId(SubnetIdT&& value) {
87+
SetSubnetId(std::forward<SubnetIdT>(value));
88+
return *this;
89+
}
90+
///@}
91+
92+
///@{
93+
/**
94+
* <p> The Availability Zone where the instances were launched. </p>
95+
*/
96+
inline const Aws::String& GetAvailabilityZone() const { return m_availabilityZone; }
97+
inline bool AvailabilityZoneHasBeenSet() const { return m_availabilityZoneHasBeenSet; }
98+
template <typename AvailabilityZoneT = Aws::String>
99+
void SetAvailabilityZone(AvailabilityZoneT&& value) {
100+
m_availabilityZoneHasBeenSet = true;
101+
m_availabilityZone = std::forward<AvailabilityZoneT>(value);
102+
}
103+
template <typename AvailabilityZoneT = Aws::String>
104+
InstanceCollection& WithAvailabilityZone(AvailabilityZoneT&& value) {
105+
SetAvailabilityZone(std::forward<AvailabilityZoneT>(value));
106+
return *this;
107+
}
108+
///@}
109+
110+
///@{
111+
/**
112+
* <p> The Availability Zone ID where the instances in this collection were
113+
* launched. </p>
114+
*/
115+
inline const Aws::String& GetAvailabilityZoneId() const { return m_availabilityZoneId; }
116+
inline bool AvailabilityZoneIdHasBeenSet() const { return m_availabilityZoneIdHasBeenSet; }
117+
template <typename AvailabilityZoneIdT = Aws::String>
118+
void SetAvailabilityZoneId(AvailabilityZoneIdT&& value) {
119+
m_availabilityZoneIdHasBeenSet = true;
120+
m_availabilityZoneId = std::forward<AvailabilityZoneIdT>(value);
121+
}
122+
template <typename AvailabilityZoneIdT = Aws::String>
123+
InstanceCollection& WithAvailabilityZoneId(AvailabilityZoneIdT&& value) {
124+
SetAvailabilityZoneId(std::forward<AvailabilityZoneIdT>(value));
125+
return *this;
126+
}
127+
///@}
128+
129+
///@{
130+
/**
131+
* <p> A list of instance IDs for the successfully launched instances. </p>
132+
*/
133+
inline const Aws::Vector<Aws::String>& GetInstanceIds() const { return m_instanceIds; }
134+
inline bool InstanceIdsHasBeenSet() const { return m_instanceIdsHasBeenSet; }
135+
template <typename InstanceIdsT = Aws::Vector<Aws::String>>
136+
void SetInstanceIds(InstanceIdsT&& value) {
137+
m_instanceIdsHasBeenSet = true;
138+
m_instanceIds = std::forward<InstanceIdsT>(value);
139+
}
140+
template <typename InstanceIdsT = Aws::Vector<Aws::String>>
141+
InstanceCollection& WithInstanceIds(InstanceIdsT&& value) {
142+
SetInstanceIds(std::forward<InstanceIdsT>(value));
143+
return *this;
144+
}
145+
template <typename InstanceIdsT = Aws::String>
146+
InstanceCollection& AddInstanceIds(InstanceIdsT&& value) {
147+
m_instanceIdsHasBeenSet = true;
148+
m_instanceIds.emplace_back(std::forward<InstanceIdsT>(value));
149+
return *this;
150+
}
151+
///@}
152+
private:
153+
Aws::String m_instanceType;
154+
bool m_instanceTypeHasBeenSet = false;
155+
156+
Aws::String m_marketType;
157+
bool m_marketTypeHasBeenSet = false;
158+
159+
Aws::String m_subnetId;
160+
bool m_subnetIdHasBeenSet = false;
161+
162+
Aws::String m_availabilityZone;
163+
bool m_availabilityZoneHasBeenSet = false;
164+
165+
Aws::String m_availabilityZoneId;
166+
bool m_availabilityZoneIdHasBeenSet = false;
167+
168+
Aws::Vector<Aws::String> m_instanceIds;
169+
bool m_instanceIdsHasBeenSet = false;
170+
};
171+
172+
} // namespace Model
173+
} // namespace AutoScaling
174+
} // namespace Aws

0 commit comments

Comments
 (0)