Skip to content

Commit 5fe9585

Browse files
Adds dual-stack (IPv4 and IPv6) endpoint support for route53-recovery-control-config operations, opt-in dual-stack addresses for cluster endpoints, and UpdateCluster API to update the network-type of clusters between IPv4 and dual-stack.
A CustomModelUnit(CMU) is an abstract view of the hardware utilization that Bedrock needs to host a a single copy of your custom imported model. Bedrock determines the number of CMUs that a model copy needs when you import the custom model. You can use CMUs to estimate the cost of Inference's. This release does the following: 1.) Adds DurationHours as a required field to the SearchTrainingPlanOfferings action in the SageMaker AI API; 2.) Adds support for G6e instance types for SageMaker AI inference optimization jobs. Add support for overriding selection of default AWS IAM Identity Center instance as part of Amazon DataZone domain APIs.
1 parent 2b4be1e commit 5fe9585

32 files changed

+2500
-1250
lines changed

VERSION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
1.11.530
1+
1.11.531
Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
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/bedrock/Bedrock_EXPORTS.h>
8+
#include <aws/core/utils/memory/stl/AWSString.h>
9+
#include <utility>
10+
11+
namespace Aws
12+
{
13+
namespace Utils
14+
{
15+
namespace Json
16+
{
17+
class JsonValue;
18+
class JsonView;
19+
} // namespace Json
20+
} // namespace Utils
21+
namespace Bedrock
22+
{
23+
namespace Model
24+
{
25+
26+
/**
27+
* <p>A <code>CustomModelUnit</code> (CMU) is an abstract view of the hardware
28+
* utilization that Amazon Bedrock needs to host a single copy of your custom
29+
* model. A model copy represents a single instance of your imported model that is
30+
* ready to serve inference requests. Amazon Bedrock determines the number of
31+
* custom model units that a model copy needs when you import the custom model.
32+
* </p> <p>You can use <code>CustomModelUnits</code> to estimate the cost of
33+
* running your custom model. For more information, see Calculate the cost of
34+
* running a custom model in the Amazon Bedrock user guide. </p><p><h3>See
35+
* Also:</h3> <a
36+
* href="http://docs.aws.amazon.com/goto/WebAPI/bedrock-2023-04-20/CustomModelUnits">AWS
37+
* API Reference</a></p>
38+
*/
39+
class CustomModelUnits
40+
{
41+
public:
42+
AWS_BEDROCK_API CustomModelUnits() = default;
43+
AWS_BEDROCK_API CustomModelUnits(Aws::Utils::Json::JsonView jsonValue);
44+
AWS_BEDROCK_API CustomModelUnits& operator=(Aws::Utils::Json::JsonView jsonValue);
45+
AWS_BEDROCK_API Aws::Utils::Json::JsonValue Jsonize() const;
46+
47+
48+
///@{
49+
/**
50+
* <p>The number of custom model units used to host a model copy. </p>
51+
*/
52+
inline int GetCustomModelUnitsPerModelCopy() const { return m_customModelUnitsPerModelCopy; }
53+
inline bool CustomModelUnitsPerModelCopyHasBeenSet() const { return m_customModelUnitsPerModelCopyHasBeenSet; }
54+
inline void SetCustomModelUnitsPerModelCopy(int value) { m_customModelUnitsPerModelCopyHasBeenSet = true; m_customModelUnitsPerModelCopy = value; }
55+
inline CustomModelUnits& WithCustomModelUnitsPerModelCopy(int value) { SetCustomModelUnitsPerModelCopy(value); return *this;}
56+
///@}
57+
58+
///@{
59+
/**
60+
* <p>The version of the custom model unit. Use to determine the billing rate for
61+
* the custom model unit.</p>
62+
*/
63+
inline const Aws::String& GetCustomModelUnitsVersion() const { return m_customModelUnitsVersion; }
64+
inline bool CustomModelUnitsVersionHasBeenSet() const { return m_customModelUnitsVersionHasBeenSet; }
65+
template<typename CustomModelUnitsVersionT = Aws::String>
66+
void SetCustomModelUnitsVersion(CustomModelUnitsVersionT&& value) { m_customModelUnitsVersionHasBeenSet = true; m_customModelUnitsVersion = std::forward<CustomModelUnitsVersionT>(value); }
67+
template<typename CustomModelUnitsVersionT = Aws::String>
68+
CustomModelUnits& WithCustomModelUnitsVersion(CustomModelUnitsVersionT&& value) { SetCustomModelUnitsVersion(std::forward<CustomModelUnitsVersionT>(value)); return *this;}
69+
///@}
70+
private:
71+
72+
int m_customModelUnitsPerModelCopy{0};
73+
bool m_customModelUnitsPerModelCopyHasBeenSet = false;
74+
75+
Aws::String m_customModelUnitsVersion;
76+
bool m_customModelUnitsVersionHasBeenSet = false;
77+
};
78+
79+
} // namespace Model
80+
} // namespace Bedrock
81+
} // namespace Aws

generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/GetImportedModelResult.h

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
#include <aws/core/utils/memory/stl/AWSString.h>
99
#include <aws/bedrock/model/ModelDataSource.h>
1010
#include <aws/core/utils/DateTime.h>
11+
#include <aws/bedrock/model/CustomModelUnits.h>
1112
#include <utility>
1213

1314
namespace Aws
@@ -131,6 +132,18 @@ namespace Model
131132
inline GetImportedModelResult& WithInstructSupported(bool value) { SetInstructSupported(value); return *this;}
132133
///@}
133134

135+
///@{
136+
/**
137+
* <p>Information about the hardware utilization for a single copy of the
138+
* model.</p>
139+
*/
140+
inline const CustomModelUnits& GetCustomModelUnits() const { return m_customModelUnits; }
141+
template<typename CustomModelUnitsT = CustomModelUnits>
142+
void SetCustomModelUnits(CustomModelUnitsT&& value) { m_customModelUnitsHasBeenSet = true; m_customModelUnits = std::forward<CustomModelUnitsT>(value); }
143+
template<typename CustomModelUnitsT = CustomModelUnits>
144+
GetImportedModelResult& WithCustomModelUnits(CustomModelUnitsT&& value) { SetCustomModelUnits(std::forward<CustomModelUnitsT>(value)); return *this;}
145+
///@}
146+
134147
///@{
135148

136149
inline const Aws::String& GetRequestId() const { return m_requestId; }
@@ -168,6 +181,9 @@ namespace Model
168181
bool m_instructSupported{false};
169182
bool m_instructSupportedHasBeenSet = false;
170183

184+
CustomModelUnits m_customModelUnits;
185+
bool m_customModelUnitsHasBeenSet = false;
186+
171187
Aws::String m_requestId;
172188
bool m_requestIdHasBeenSet = false;
173189
};
Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
/**
2+
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3+
* SPDX-License-Identifier: Apache-2.0.
4+
*/
5+
6+
#include <aws/bedrock/model/CustomModelUnits.h>
7+
#include <aws/core/utils/json/JsonSerializer.h>
8+
9+
#include <utility>
10+
11+
using namespace Aws::Utils::Json;
12+
using namespace Aws::Utils;
13+
14+
namespace Aws
15+
{
16+
namespace Bedrock
17+
{
18+
namespace Model
19+
{
20+
21+
CustomModelUnits::CustomModelUnits(JsonView jsonValue)
22+
{
23+
*this = jsonValue;
24+
}
25+
26+
CustomModelUnits& CustomModelUnits::operator =(JsonView jsonValue)
27+
{
28+
if(jsonValue.ValueExists("customModelUnitsPerModelCopy"))
29+
{
30+
m_customModelUnitsPerModelCopy = jsonValue.GetInteger("customModelUnitsPerModelCopy");
31+
m_customModelUnitsPerModelCopyHasBeenSet = true;
32+
}
33+
if(jsonValue.ValueExists("customModelUnitsVersion"))
34+
{
35+
m_customModelUnitsVersion = jsonValue.GetString("customModelUnitsVersion");
36+
m_customModelUnitsVersionHasBeenSet = true;
37+
}
38+
return *this;
39+
}
40+
41+
JsonValue CustomModelUnits::Jsonize() const
42+
{
43+
JsonValue payload;
44+
45+
if(m_customModelUnitsPerModelCopyHasBeenSet)
46+
{
47+
payload.WithInteger("customModelUnitsPerModelCopy", m_customModelUnitsPerModelCopy);
48+
49+
}
50+
51+
if(m_customModelUnitsVersionHasBeenSet)
52+
{
53+
payload.WithString("customModelUnitsVersion", m_customModelUnitsVersion);
54+
55+
}
56+
57+
return payload;
58+
}
59+
60+
} // namespace Model
61+
} // namespace Bedrock
62+
} // namespace Aws

generated/src/aws-cpp-sdk-bedrock/source/model/GetImportedModelResult.cpp

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,11 @@ GetImportedModelResult& GetImportedModelResult::operator =(const Aws::AmazonWebS
7070
m_instructSupported = jsonValue.GetBool("instructSupported");
7171
m_instructSupportedHasBeenSet = true;
7272
}
73+
if(jsonValue.ValueExists("customModelUnits"))
74+
{
75+
m_customModelUnits = jsonValue.GetObject("customModelUnits");
76+
m_customModelUnitsHasBeenSet = true;
77+
}
7378

7479
const auto& headers = result.GetHeaderValueCollection();
7580
const auto& requestIdIter = headers.find("x-amzn-requestid");

generated/src/aws-cpp-sdk-datazone/include/aws/datazone/model/SingleSignOn.h

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55

66
#pragma once
77
#include <aws/datazone/DataZone_EXPORTS.h>
8+
#include <aws/core/utils/memory/stl/AWSString.h>
89
#include <aws/datazone/model/AuthType.h>
910
#include <aws/datazone/model/UserAssignment.h>
1011
#include <utility>
@@ -38,6 +39,18 @@ namespace Model
3839
AWS_DATAZONE_API Aws::Utils::Json::JsonValue Jsonize() const;
3940

4041

42+
///@{
43+
/**
44+
* <p>The ARN of the IDC instance.</p>
45+
*/
46+
inline const Aws::String& GetIdcInstanceArn() const { return m_idcInstanceArn; }
47+
inline bool IdcInstanceArnHasBeenSet() const { return m_idcInstanceArnHasBeenSet; }
48+
template<typename IdcInstanceArnT = Aws::String>
49+
void SetIdcInstanceArn(IdcInstanceArnT&& value) { m_idcInstanceArnHasBeenSet = true; m_idcInstanceArn = std::forward<IdcInstanceArnT>(value); }
50+
template<typename IdcInstanceArnT = Aws::String>
51+
SingleSignOn& WithIdcInstanceArn(IdcInstanceArnT&& value) { SetIdcInstanceArn(std::forward<IdcInstanceArnT>(value)); return *this;}
52+
///@}
53+
4154
///@{
4255
/**
4356
* <p>The type of single sign-on in Amazon DataZone.</p>
@@ -59,6 +72,9 @@ namespace Model
5972
///@}
6073
private:
6174

75+
Aws::String m_idcInstanceArn;
76+
bool m_idcInstanceArnHasBeenSet = false;
77+
6278
AuthType m_type{AuthType::NOT_SET};
6379
bool m_typeHasBeenSet = false;
6480

generated/src/aws-cpp-sdk-datazone/source/model/SingleSignOn.cpp

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,11 @@ SingleSignOn::SingleSignOn(JsonView jsonValue)
2525

2626
SingleSignOn& SingleSignOn::operator =(JsonView jsonValue)
2727
{
28+
if(jsonValue.ValueExists("idcInstanceArn"))
29+
{
30+
m_idcInstanceArn = jsonValue.GetString("idcInstanceArn");
31+
m_idcInstanceArnHasBeenSet = true;
32+
}
2833
if(jsonValue.ValueExists("type"))
2934
{
3035
m_type = AuthTypeMapper::GetAuthTypeForName(jsonValue.GetString("type"));
@@ -42,6 +47,12 @@ JsonValue SingleSignOn::Jsonize() const
4247
{
4348
JsonValue payload;
4449

50+
if(m_idcInstanceArnHasBeenSet)
51+
{
52+
payload.WithString("idcInstanceArn", m_idcInstanceArn);
53+
54+
}
55+
4556
if(m_typeHasBeenSet)
4657
{
4758
payload.WithString("type", AuthTypeMapper::GetNameForAuthType(m_type));

generated/src/aws-cpp-sdk-route53-recovery-control-config/include/aws/route53-recovery-control-config/Route53RecoveryControlConfigClient.h

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -648,6 +648,32 @@ namespace Route53RecoveryControlConfig
648648
return SubmitAsync(&Route53RecoveryControlConfigClient::UntagResource, request, handler, context);
649649
}
650650

651+
/**
652+
* <p>Updates an existing cluster. You can only update the network type of a
653+
* cluster.</p><p><h3>See Also:</h3> <a
654+
* href="http://docs.aws.amazon.com/goto/WebAPI/route53-recovery-control-config-2020-11-02/UpdateCluster">AWS
655+
* API Reference</a></p>
656+
*/
657+
virtual Model::UpdateClusterOutcome UpdateCluster(const Model::UpdateClusterRequest& request) const;
658+
659+
/**
660+
* A Callable wrapper for UpdateCluster that returns a future to the operation so that it can be executed in parallel to other requests.
661+
*/
662+
template<typename UpdateClusterRequestT = Model::UpdateClusterRequest>
663+
Model::UpdateClusterOutcomeCallable UpdateClusterCallable(const UpdateClusterRequestT& request) const
664+
{
665+
return SubmitCallable(&Route53RecoveryControlConfigClient::UpdateCluster, request);
666+
}
667+
668+
/**
669+
* An Async wrapper for UpdateCluster that queues the request into a thread executor and triggers associated callback when operation has finished.
670+
*/
671+
template<typename UpdateClusterRequestT = Model::UpdateClusterRequest>
672+
void UpdateClusterAsync(const UpdateClusterRequestT& request, const UpdateClusterResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const
673+
{
674+
return SubmitAsync(&Route53RecoveryControlConfigClient::UpdateCluster, request, handler, context);
675+
}
676+
651677
/**
652678
* <p>Updates a control panel. The only update you can make to a control panel is
653679
* to change the name of the control panel.</p><p><h3>See Also:</h3> <a

generated/src/aws-cpp-sdk-route53-recovery-control-config/include/aws/route53-recovery-control-config/Route53RecoveryControlConfigServiceClientModel.h

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@
3939
#include <aws/route53-recovery-control-config/model/ListTagsForResourceResult.h>
4040
#include <aws/route53-recovery-control-config/model/TagResourceResult.h>
4141
#include <aws/route53-recovery-control-config/model/UntagResourceResult.h>
42+
#include <aws/route53-recovery-control-config/model/UpdateClusterResult.h>
4243
#include <aws/route53-recovery-control-config/model/UpdateControlPanelResult.h>
4344
#include <aws/route53-recovery-control-config/model/UpdateRoutingControlResult.h>
4445
#include <aws/route53-recovery-control-config/model/UpdateSafetyRuleResult.h>
@@ -107,6 +108,7 @@ namespace Aws
107108
class ListTagsForResourceRequest;
108109
class TagResourceRequest;
109110
class UntagResourceRequest;
111+
class UpdateClusterRequest;
110112
class UpdateControlPanelRequest;
111113
class UpdateRoutingControlRequest;
112114
class UpdateSafetyRuleRequest;
@@ -134,6 +136,7 @@ namespace Aws
134136
typedef Aws::Utils::Outcome<ListTagsForResourceResult, Route53RecoveryControlConfigError> ListTagsForResourceOutcome;
135137
typedef Aws::Utils::Outcome<TagResourceResult, Route53RecoveryControlConfigError> TagResourceOutcome;
136138
typedef Aws::Utils::Outcome<UntagResourceResult, Route53RecoveryControlConfigError> UntagResourceOutcome;
139+
typedef Aws::Utils::Outcome<UpdateClusterResult, Route53RecoveryControlConfigError> UpdateClusterOutcome;
137140
typedef Aws::Utils::Outcome<UpdateControlPanelResult, Route53RecoveryControlConfigError> UpdateControlPanelOutcome;
138141
typedef Aws::Utils::Outcome<UpdateRoutingControlResult, Route53RecoveryControlConfigError> UpdateRoutingControlOutcome;
139142
typedef Aws::Utils::Outcome<UpdateSafetyRuleResult, Route53RecoveryControlConfigError> UpdateSafetyRuleOutcome;
@@ -161,6 +164,7 @@ namespace Aws
161164
typedef std::future<ListTagsForResourceOutcome> ListTagsForResourceOutcomeCallable;
162165
typedef std::future<TagResourceOutcome> TagResourceOutcomeCallable;
163166
typedef std::future<UntagResourceOutcome> UntagResourceOutcomeCallable;
167+
typedef std::future<UpdateClusterOutcome> UpdateClusterOutcomeCallable;
164168
typedef std::future<UpdateControlPanelOutcome> UpdateControlPanelOutcomeCallable;
165169
typedef std::future<UpdateRoutingControlOutcome> UpdateRoutingControlOutcomeCallable;
166170
typedef std::future<UpdateSafetyRuleOutcome> UpdateSafetyRuleOutcomeCallable;
@@ -191,6 +195,7 @@ namespace Aws
191195
typedef std::function<void(const Route53RecoveryControlConfigClient*, const Model::ListTagsForResourceRequest&, const Model::ListTagsForResourceOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ListTagsForResourceResponseReceivedHandler;
192196
typedef std::function<void(const Route53RecoveryControlConfigClient*, const Model::TagResourceRequest&, const Model::TagResourceOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > TagResourceResponseReceivedHandler;
193197
typedef std::function<void(const Route53RecoveryControlConfigClient*, const Model::UntagResourceRequest&, const Model::UntagResourceOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > UntagResourceResponseReceivedHandler;
198+
typedef std::function<void(const Route53RecoveryControlConfigClient*, const Model::UpdateClusterRequest&, const Model::UpdateClusterOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > UpdateClusterResponseReceivedHandler;
194199
typedef std::function<void(const Route53RecoveryControlConfigClient*, const Model::UpdateControlPanelRequest&, const Model::UpdateControlPanelOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > UpdateControlPanelResponseReceivedHandler;
195200
typedef std::function<void(const Route53RecoveryControlConfigClient*, const Model::UpdateRoutingControlRequest&, const Model::UpdateRoutingControlOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > UpdateRoutingControlResponseReceivedHandler;
196201
typedef std::function<void(const Route53RecoveryControlConfigClient*, const Model::UpdateSafetyRuleRequest&, const Model::UpdateSafetyRuleOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > UpdateSafetyRuleResponseReceivedHandler;

generated/src/aws-cpp-sdk-route53-recovery-control-config/include/aws/route53-recovery-control-config/model/Cluster.h

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
#include <aws/core/utils/memory/stl/AWSString.h>
99
#include <aws/core/utils/memory/stl/AWSVector.h>
1010
#include <aws/route53-recovery-control-config/model/Status.h>
11+
#include <aws/route53-recovery-control-config/model/NetworkType.h>
1112
#include <aws/route53-recovery-control-config/model/ClusterEndpoint.h>
1213
#include <utility>
1314

@@ -106,6 +107,17 @@ namespace Model
106107
template<typename OwnerT = Aws::String>
107108
Cluster& WithOwner(OwnerT&& value) { SetOwner(std::forward<OwnerT>(value)); return *this;}
108109
///@}
110+
111+
///@{
112+
/**
113+
* <p>The network type of the cluster. NetworkType can be one of the following:
114+
* IPV4, DUALSTACK.</p>
115+
*/
116+
inline NetworkType GetNetworkType() const { return m_networkType; }
117+
inline bool NetworkTypeHasBeenSet() const { return m_networkTypeHasBeenSet; }
118+
inline void SetNetworkType(NetworkType value) { m_networkTypeHasBeenSet = true; m_networkType = value; }
119+
inline Cluster& WithNetworkType(NetworkType value) { SetNetworkType(value); return *this;}
120+
///@}
109121
private:
110122

111123
Aws::String m_clusterArn;
@@ -122,6 +134,9 @@ namespace Model
122134

123135
Aws::String m_owner;
124136
bool m_ownerHasBeenSet = false;
137+
138+
NetworkType m_networkType{NetworkType::NOT_SET};
139+
bool m_networkTypeHasBeenSet = false;
125140
};
126141

127142
} // namespace Model

0 commit comments

Comments
 (0)