Skip to content

Commit 241d820

Browse files
Updated Authentication Profile APIs to add support for automatic logout on user inactivity
This release expands ALB Authentication to support JWT verification and adds support for a new JWT validation action in listener rule. Adds complete AMI ancestry tracing from immediate parent through each preceding generation back to the root AMI Added support of SQL statements creation, metadata model discovery and selection rules transformation. Adds support for request metrics metrics APIs for S3 Tables Add VPC source configuration support enabling Amazon Managed Service for Prometheus Collector to collect metrics from MSK clusters. Added GetIdentityCenterAuthToken API to retrieve encrypted authentication tokens for Identity Center integrated applications. This API enables programmatic access to secure Identity Center tokens with proper error handling and parameter validation across supported SDK languages. Add support for trn2.3xlarge instance type for SageMaker Hyperpod
1 parent c3f40c9 commit 241d820

File tree

115 files changed

+6121
-328
lines changed

Some content is hidden

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

115 files changed

+6121
-328
lines changed

VERSION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
1.11.688
1+
1.11.689

generated/src/aws-cpp-sdk-amp/include/aws/amp/PrometheusServiceClient.h

Lines changed: 23 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -218,10 +218,12 @@ class AWS_PROMETHEUSSERVICE_API PrometheusServiceClient : public Aws::Client::AW
218218
/**
219219
* <p>The <code>CreateRuleGroupsNamespace</code> operation creates a rule groups
220220
* namespace within a workspace. A rule groups namespace is associated with exactly
221-
* one rules file. A workspace can have multiple rule groups namespaces.</p> <p>Use
222-
* this operation only to create new rule groups namespaces. To update an existing
223-
* rule groups namespace, use <code>PutRuleGroupsNamespace</code>.</p><p><h3>See
224-
* Also:</h3> <a
221+
* one rules file. A workspace can have multiple rule groups namespaces.</p>
222+
* <p>The combined length of a rule group namespace and a rule group
223+
* name cannot exceed 721 UTF-8 bytes.</p> <p>Use this operation only
224+
* to create new rule groups namespaces. To update an existing rule groups
225+
* namespace, use <code>PutRuleGroupsNamespace</code>.</p><p><h3>See Also:</h3>
226+
* <a
225227
* href="http://docs.aws.amazon.com/goto/WebAPI/amp-2020-08-01/CreateRuleGroupsNamespace">AWS
226228
* API Reference</a></p>
227229
*/
@@ -250,24 +252,25 @@ class AWS_PROMETHEUSSERVICE_API PrometheusServiceClient : public Aws::Client::AW
250252

251253
/**
252254
* <p>The <code>CreateScraper</code> operation creates a scraper to collect
253-
* metrics. A scraper pulls metrics from Prometheus-compatible sources within an
254-
* Amazon EKS cluster, and sends them to your Amazon Managed Service for Prometheus
255-
* workspace. Scrapers are flexible, and can be configured to control what metrics
256-
* are collected, the frequency of collection, what transformations are applied to
257-
* the metrics, and more.</p> <p>An IAM role will be created for you that Amazon
258-
* Managed Service for Prometheus uses to access the metrics in your cluster. You
259-
* must configure this role with a policy that allows it to scrape metrics from
260-
* your cluster. For more information, see <a
255+
* metrics. A scraper pulls metrics from Prometheus-compatible sources and sends
256+
* them to your Amazon Managed Service for Prometheus workspace. You can configure
257+
* scrapers to collect metrics from Amazon EKS clusters, Amazon MSK clusters, or
258+
* from VPC-based sources that support DNS-based service discovery. Scrapers are
259+
* flexible, and can be configured to control what metrics are collected, the
260+
* frequency of collection, what transformations are applied to the metrics, and
261+
* more.</p> <p>An IAM role will be created for you that Amazon Managed Service for
262+
* Prometheus uses to access the metrics in your source. You must configure this
263+
* role with a policy that allows it to scrape metrics from your source. For Amazon
264+
* EKS sources, see <a
261265
* href="https://docs.aws.amazon.com/prometheus/latest/userguide/AMP-collector-how-to.html#AMP-collector-eks-setup">Configuring
262266
* your Amazon EKS cluster</a> in the <i>Amazon Managed Service for Prometheus User
263267
* Guide</i>.</p> <p>The <code>scrapeConfiguration</code> parameter contains the
264268
* base-64 encoded YAML configuration for the scraper.</p> <p>When creating a
265269
* scraper, the service creates a <code>Network Interface</code> in each
266270
* <b>Availability Zone</b> that are passed into <code>CreateScraper</code> through
267-
* subnets. These network interfaces are used to connect to the Amazon EKS cluster
268-
* within the VPC for scraping metrics.</p> <p>For more information about
269-
* collectors, including what metrics are collected, and how to configure the
270-
* scraper, see <a
271+
* subnets. These network interfaces are used to connect to your source within the
272+
* VPC for scraping metrics.</p> <p>For more information about collectors,
273+
* including what metrics are collected, and how to configure the scraper, see <a
271274
* href="https://docs.aws.amazon.com/prometheus/latest/userguide/AMP-collector-how-to.html">Using
272275
* an Amazon Web Services managed collector</a> in the <i>Amazon Managed Service
273276
* for Prometheus User Guide</i>.</p> <p><h3>See Also:</h3> <a
@@ -1153,8 +1156,10 @@ class AWS_PROMETHEUSSERVICE_API PrometheusServiceClient : public Aws::Client::AW
11531156
/**
11541157
* <p>Updates an existing rule groups namespace within a workspace. A rule groups
11551158
* namespace is associated with exactly one rules file. A workspace can have
1156-
* multiple rule groups namespaces.</p> <p>Use this operation only to update
1157-
* existing rule groups namespaces. To create a new rule groups namespace, use
1159+
* multiple rule groups namespaces.</p> <p>The combined length of a
1160+
* rule group namespace and a rule group name cannot exceed 721 UTF-8 bytes.</p>
1161+
* <p>Use this operation only to update existing rule groups
1162+
* namespaces. To create a new rule groups namespace, use
11581163
* <code>CreateRuleGroupsNamespace</code>.</p> <p>You can't use this operation to
11591164
* add tags to an existing rule groups namespace. Instead, use
11601165
* <code>TagResource</code>.</p><p><h3>See Also:</h3> <a

generated/src/aws-cpp-sdk-amp/include/aws/amp/model/CreateScraperRequest.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,8 @@ class CreateScraperRequest : public PrometheusServiceRequest {
8181

8282
///@{
8383
/**
84-
* <p>The Amazon EKS cluster from which the scraper will collect metrics.</p>
84+
* <p>The Amazon EKS or Amazon Web Services cluster from which the scraper will
85+
* collect metrics.</p>
8586
*/
8687
inline const Source& GetSource() const { return m_source; }
8788
inline bool SourceHasBeenSet() const { return m_sourceHasBeenSet; }

generated/src/aws-cpp-sdk-amp/include/aws/amp/model/Source.h

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
#pragma once
77
#include <aws/amp/PrometheusService_EXPORTS.h>
88
#include <aws/amp/model/EksConfiguration.h>
9+
#include <aws/amp/model/VpcConfiguration.h>
910

1011
#include <utility>
1112

@@ -48,9 +49,33 @@ class Source {
4849
return *this;
4950
}
5051
///@}
52+
53+
///@{
54+
/**
55+
* <p>The Amazon VPC configuration for the Prometheus collector when connecting to
56+
* Amazon MSK clusters. This configuration enables secure, private network
57+
* connectivity between the collector and your Amazon MSK cluster within your
58+
* Amazon VPC.</p>
59+
*/
60+
inline const VpcConfiguration& GetVpcConfiguration() const { return m_vpcConfiguration; }
61+
inline bool VpcConfigurationHasBeenSet() const { return m_vpcConfigurationHasBeenSet; }
62+
template <typename VpcConfigurationT = VpcConfiguration>
63+
void SetVpcConfiguration(VpcConfigurationT&& value) {
64+
m_vpcConfigurationHasBeenSet = true;
65+
m_vpcConfiguration = std::forward<VpcConfigurationT>(value);
66+
}
67+
template <typename VpcConfigurationT = VpcConfiguration>
68+
Source& WithVpcConfiguration(VpcConfigurationT&& value) {
69+
SetVpcConfiguration(std::forward<VpcConfigurationT>(value));
70+
return *this;
71+
}
72+
///@}
5173
private:
5274
EksConfiguration m_eksConfiguration;
5375
bool m_eksConfigurationHasBeenSet = false;
76+
77+
VpcConfiguration m_vpcConfiguration;
78+
bool m_vpcConfigurationHasBeenSet = false;
5479
};
5580

5681
} // namespace Model
Lines changed: 99 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,99 @@
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/amp/PrometheusService_EXPORTS.h>
8+
#include <aws/core/utils/memory/stl/AWSString.h>
9+
#include <aws/core/utils/memory/stl/AWSVector.h>
10+
11+
#include <utility>
12+
13+
namespace Aws {
14+
namespace Utils {
15+
namespace Json {
16+
class JsonValue;
17+
class JsonView;
18+
} // namespace Json
19+
} // namespace Utils
20+
namespace PrometheusService {
21+
namespace Model {
22+
23+
/**
24+
* <p>The Amazon VPC configuration that specifies the network settings for a
25+
* Prometheus collector to securely connect to Amazon MSK clusters. This
26+
* configuration includes the security groups and subnets that control network
27+
* access and placement for the collector.</p><p><h3>See Also:</h3> <a
28+
* href="http://docs.aws.amazon.com/goto/WebAPI/amp-2020-08-01/VpcConfiguration">AWS
29+
* API Reference</a></p>
30+
*/
31+
class VpcConfiguration {
32+
public:
33+
AWS_PROMETHEUSSERVICE_API VpcConfiguration() = default;
34+
AWS_PROMETHEUSSERVICE_API VpcConfiguration(Aws::Utils::Json::JsonView jsonValue);
35+
AWS_PROMETHEUSSERVICE_API VpcConfiguration& operator=(Aws::Utils::Json::JsonView jsonValue);
36+
AWS_PROMETHEUSSERVICE_API Aws::Utils::Json::JsonValue Jsonize() const;
37+
38+
///@{
39+
/**
40+
* <p>The security group IDs that control network access for the Prometheus
41+
* collector. These security groups must allow the collector to communicate with
42+
* your Amazon MSK cluster on the required ports.</p>
43+
*/
44+
inline const Aws::Vector<Aws::String>& GetSecurityGroupIds() const { return m_securityGroupIds; }
45+
inline bool SecurityGroupIdsHasBeenSet() const { return m_securityGroupIdsHasBeenSet; }
46+
template <typename SecurityGroupIdsT = Aws::Vector<Aws::String>>
47+
void SetSecurityGroupIds(SecurityGroupIdsT&& value) {
48+
m_securityGroupIdsHasBeenSet = true;
49+
m_securityGroupIds = std::forward<SecurityGroupIdsT>(value);
50+
}
51+
template <typename SecurityGroupIdsT = Aws::Vector<Aws::String>>
52+
VpcConfiguration& WithSecurityGroupIds(SecurityGroupIdsT&& value) {
53+
SetSecurityGroupIds(std::forward<SecurityGroupIdsT>(value));
54+
return *this;
55+
}
56+
template <typename SecurityGroupIdsT = Aws::String>
57+
VpcConfiguration& AddSecurityGroupIds(SecurityGroupIdsT&& value) {
58+
m_securityGroupIdsHasBeenSet = true;
59+
m_securityGroupIds.emplace_back(std::forward<SecurityGroupIdsT>(value));
60+
return *this;
61+
}
62+
///@}
63+
64+
///@{
65+
/**
66+
* <p>The subnet IDs where the Prometheus collector will be deployed. The subnets
67+
* must be in the same Amazon VPC as your Amazon MSK cluster and have network
68+
* connectivity to the cluster.</p>
69+
*/
70+
inline const Aws::Vector<Aws::String>& GetSubnetIds() const { return m_subnetIds; }
71+
inline bool SubnetIdsHasBeenSet() const { return m_subnetIdsHasBeenSet; }
72+
template <typename SubnetIdsT = Aws::Vector<Aws::String>>
73+
void SetSubnetIds(SubnetIdsT&& value) {
74+
m_subnetIdsHasBeenSet = true;
75+
m_subnetIds = std::forward<SubnetIdsT>(value);
76+
}
77+
template <typename SubnetIdsT = Aws::Vector<Aws::String>>
78+
VpcConfiguration& WithSubnetIds(SubnetIdsT&& value) {
79+
SetSubnetIds(std::forward<SubnetIdsT>(value));
80+
return *this;
81+
}
82+
template <typename SubnetIdsT = Aws::String>
83+
VpcConfiguration& AddSubnetIds(SubnetIdsT&& value) {
84+
m_subnetIdsHasBeenSet = true;
85+
m_subnetIds.emplace_back(std::forward<SubnetIdsT>(value));
86+
return *this;
87+
}
88+
///@}
89+
private:
90+
Aws::Vector<Aws::String> m_securityGroupIds;
91+
bool m_securityGroupIdsHasBeenSet = false;
92+
93+
Aws::Vector<Aws::String> m_subnetIds;
94+
bool m_subnetIdsHasBeenSet = false;
95+
};
96+
97+
} // namespace Model
98+
} // namespace PrometheusService
99+
} // namespace Aws

generated/src/aws-cpp-sdk-amp/source/model/Source.cpp

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,10 @@ Source& Source::operator=(JsonView jsonValue) {
2222
m_eksConfiguration = jsonValue.GetObject("eksConfiguration");
2323
m_eksConfigurationHasBeenSet = true;
2424
}
25+
if (jsonValue.ValueExists("vpcConfiguration")) {
26+
m_vpcConfiguration = jsonValue.GetObject("vpcConfiguration");
27+
m_vpcConfigurationHasBeenSet = true;
28+
}
2529
return *this;
2630
}
2731

@@ -32,6 +36,10 @@ JsonValue Source::Jsonize() const {
3236
payload.WithObject("eksConfiguration", m_eksConfiguration.Jsonize());
3337
}
3438

39+
if (m_vpcConfigurationHasBeenSet) {
40+
payload.WithObject("vpcConfiguration", m_vpcConfiguration.Jsonize());
41+
}
42+
3543
return payload;
3644
}
3745

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/amp/model/VpcConfiguration.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+
namespace PrometheusService {
16+
namespace Model {
17+
18+
VpcConfiguration::VpcConfiguration(JsonView jsonValue) { *this = jsonValue; }
19+
20+
VpcConfiguration& VpcConfiguration::operator=(JsonView jsonValue) {
21+
if (jsonValue.ValueExists("securityGroupIds")) {
22+
Aws::Utils::Array<JsonView> securityGroupIdsJsonList = jsonValue.GetArray("securityGroupIds");
23+
for (unsigned securityGroupIdsIndex = 0; securityGroupIdsIndex < securityGroupIdsJsonList.GetLength(); ++securityGroupIdsIndex) {
24+
m_securityGroupIds.push_back(securityGroupIdsJsonList[securityGroupIdsIndex].AsString());
25+
}
26+
m_securityGroupIdsHasBeenSet = true;
27+
}
28+
if (jsonValue.ValueExists("subnetIds")) {
29+
Aws::Utils::Array<JsonView> subnetIdsJsonList = jsonValue.GetArray("subnetIds");
30+
for (unsigned subnetIdsIndex = 0; subnetIdsIndex < subnetIdsJsonList.GetLength(); ++subnetIdsIndex) {
31+
m_subnetIds.push_back(subnetIdsJsonList[subnetIdsIndex].AsString());
32+
}
33+
m_subnetIdsHasBeenSet = true;
34+
}
35+
return *this;
36+
}
37+
38+
JsonValue VpcConfiguration::Jsonize() const {
39+
JsonValue payload;
40+
41+
if (m_securityGroupIdsHasBeenSet) {
42+
Aws::Utils::Array<JsonValue> securityGroupIdsJsonList(m_securityGroupIds.size());
43+
for (unsigned securityGroupIdsIndex = 0; securityGroupIdsIndex < securityGroupIdsJsonList.GetLength(); ++securityGroupIdsIndex) {
44+
securityGroupIdsJsonList[securityGroupIdsIndex].AsString(m_securityGroupIds[securityGroupIdsIndex]);
45+
}
46+
payload.WithArray("securityGroupIds", std::move(securityGroupIdsJsonList));
47+
}
48+
49+
if (m_subnetIdsHasBeenSet) {
50+
Aws::Utils::Array<JsonValue> subnetIdsJsonList(m_subnetIds.size());
51+
for (unsigned subnetIdsIndex = 0; subnetIdsIndex < subnetIdsJsonList.GetLength(); ++subnetIdsIndex) {
52+
subnetIdsJsonList[subnetIdsIndex].AsString(m_subnetIds[subnetIdsIndex]);
53+
}
54+
payload.WithArray("subnetIds", std::move(subnetIdsJsonList));
55+
}
56+
57+
return payload;
58+
}
59+
60+
} // namespace Model
61+
} // namespace PrometheusService
62+
} // namespace Aws

generated/src/aws-cpp-sdk-connect/include/aws/connect/model/AuthenticationProfile.h

Lines changed: 39 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -244,26 +244,6 @@ class AuthenticationProfile {
244244
}
245245
///@}
246246

247-
///@{
248-
/**
249-
* <p>The short lived session duration configuration for users logged in to Amazon
250-
* Connect, in minutes. This value determines the maximum possible time before an
251-
* agent is authenticated. For more information, see <a
252-
* href="https://docs.aws.amazon.com/connect/latest/adminguide/authentication-profiles.html#configure-session-timeouts">Configure
253-
* the session duration</a> in the <i>Amazon Connect Administrator Guide</i>.</p>
254-
*/
255-
inline int GetPeriodicSessionDuration() const { return m_periodicSessionDuration; }
256-
inline bool PeriodicSessionDurationHasBeenSet() const { return m_periodicSessionDurationHasBeenSet; }
257-
inline void SetPeriodicSessionDuration(int value) {
258-
m_periodicSessionDurationHasBeenSet = true;
259-
m_periodicSessionDuration = value;
260-
}
261-
inline AuthenticationProfile& WithPeriodicSessionDuration(int value) {
262-
SetPeriodicSessionDuration(value);
263-
return *this;
264-
}
265-
///@}
266-
267247
///@{
268248
/**
269249
* <p>The long lived session duration for users logged in to Amazon Connect, in
@@ -283,6 +263,39 @@ class AuthenticationProfile {
283263
return *this;
284264
}
285265
///@}
266+
267+
///@{
268+
/**
269+
* <p>The period, in minutes, before an agent is automatically signed out of the
270+
* contact center when they go inactive.</p>
271+
*/
272+
inline int GetSessionInactivityDuration() const { return m_sessionInactivityDuration; }
273+
inline bool SessionInactivityDurationHasBeenSet() const { return m_sessionInactivityDurationHasBeenSet; }
274+
inline void SetSessionInactivityDuration(int value) {
275+
m_sessionInactivityDurationHasBeenSet = true;
276+
m_sessionInactivityDuration = value;
277+
}
278+
inline AuthenticationProfile& WithSessionInactivityDuration(int value) {
279+
SetSessionInactivityDuration(value);
280+
return *this;
281+
}
282+
///@}
283+
284+
///@{
285+
/**
286+
* <p>Determines if automatic logout on user inactivity is enabled.</p>
287+
*/
288+
inline bool GetSessionInactivityHandlingEnabled() const { return m_sessionInactivityHandlingEnabled; }
289+
inline bool SessionInactivityHandlingEnabledHasBeenSet() const { return m_sessionInactivityHandlingEnabledHasBeenSet; }
290+
inline void SetSessionInactivityHandlingEnabled(bool value) {
291+
m_sessionInactivityHandlingEnabledHasBeenSet = true;
292+
m_sessionInactivityHandlingEnabled = value;
293+
}
294+
inline AuthenticationProfile& WithSessionInactivityHandlingEnabled(bool value) {
295+
SetSessionInactivityHandlingEnabled(value);
296+
return *this;
297+
}
298+
///@}
286299
private:
287300
Aws::String m_id;
288301
bool m_idHasBeenSet = false;
@@ -314,11 +327,14 @@ class AuthenticationProfile {
314327
Aws::String m_lastModifiedRegion;
315328
bool m_lastModifiedRegionHasBeenSet = false;
316329

317-
int m_periodicSessionDuration{0};
318-
bool m_periodicSessionDurationHasBeenSet = false;
319-
320330
int m_maxSessionDuration{0};
321331
bool m_maxSessionDurationHasBeenSet = false;
332+
333+
int m_sessionInactivityDuration{0};
334+
bool m_sessionInactivityDurationHasBeenSet = false;
335+
336+
bool m_sessionInactivityHandlingEnabled{false};
337+
bool m_sessionInactivityHandlingEnabledHasBeenSet = false;
322338
};
323339

324340
} // namespace Model

0 commit comments

Comments
 (0)