Skip to content

Commit f068aa5

Browse files
Add support to retry a canary automatically after schedule run failures. Users can enable this feature by configuring the RetryConfig field when calling the CreateCanary or UpdateCanary API. Also includes changes in GetCanary and GetCanaryRuns to support retrieving retry configurations.
We are pleased to announce limit increases to our grok processor logs transformation feature. Now you can define 20 Grok patterns in their configurations, with an expanded total pattern matching limit of 512 characters. Remove parameter EnableWorkDocs from WorkSpacesServiceModel due to end of support of Amazon WorkDocs service. Minor API documentation updates
1 parent 9bb1f6a commit f068aa5

34 files changed

+1321
-1064
lines changed

VERSION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
1.11.564
1+
1.11.565

generated/src/aws-cpp-sdk-athena/include/aws/athena/AthenaClient.h

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -242,8 +242,9 @@ namespace Athena
242242
/**
243243
* <p>Creates (registers) a data catalog with the specified name and properties.
244244
* Catalogs created are visible to all users of the same Amazon Web Services
245-
* account.</p> <p>This API operation creates the following resources.</p> <ul>
246-
* <li> <p>CFN Stack Name with a maximum length of 128 characters and prefix
245+
* account.</p> <p>For a <code>FEDERATED</code> catalog, this API operation creates
246+
* the following resources.</p> <ul> <li> <p>CFN Stack Name with a maximum length
247+
* of 128 characters and prefix
247248
* <code>athenafederatedcatalog-CATALOG_NAME_SANITIZED</code> with length 23
248249
* characters.</p> </li> <li> <p>Lambda Function Name with a maximum length of 64
249250
* characters and prefix <code>athenafederatedcatalog_CATALOG_NAME_SANITIZED</code>

generated/src/aws-cpp-sdk-athena/include/aws/athena/model/CreateDataCatalogRequest.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,8 @@ namespace Model
6868
* catalog, <code>GLUE</code> for an Glue Data Catalog, and <code>HIVE</code> for
6969
* an external Apache Hive metastore. <code>FEDERATED</code> is a federated catalog
7070
* for which Athena creates the connection and the Lambda function for you based on
71-
* the parameters that you pass.</p>
71+
* the parameters that you pass.</p> <p>For <code>FEDERATED</code> type, we do not
72+
* support IAM identity center.</p>
7273
*/
7374
inline DataCatalogType GetType() const { return m_type; }
7475
inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; }

generated/src/aws-cpp-sdk-athena/include/aws/athena/model/QueryExecution.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,8 @@ namespace Model
7777
* query statements. <code>DML</code> indicates DML (Data Manipulation Language)
7878
* query statements, such as <code>CREATE TABLE AS SELECT</code>.
7979
* <code>UTILITY</code> indicates query statements other than DDL and DML, such as
80-
* <code>SHOW CREATE TABLE</code>, or <code>DESCRIBE TABLE</code>.</p>
80+
* <code>SHOW CREATE TABLE</code>, <code>EXPLAIN</code>, <code>DESCRIBE</code>, or
81+
* <code>SHOW TABLES</code>.</p>
8182
*/
8283
inline StatementType GetStatementType() const { return m_statementType; }
8384
inline bool StatementTypeHasBeenSet() const { return m_statementTypeHasBeenSet; }

generated/src/aws-cpp-sdk-logs/include/aws/logs/CloudWatchLogsClient.h

Lines changed: 9 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1490,18 +1490,15 @@ namespace CloudWatchLogs
14901490
* a <code>nextToken</code>, there might be more log events available. You can
14911491
* return these additional log events by providing the nextToken in a subsequent
14921492
* <code>FilterLogEvents</code> operation. If the results don't include a
1493-
* <code>nextToken</code>, then pagination is finished. </p> <p>If you set
1494-
* <code>startFromHead</code> to <code>true</code> and you don’t include
1495-
* <code>endTime</code> in your request, you can end up in a situation where the
1496-
* pagination doesn't terminate. This can happen when the new log events are being
1497-
* added to the target log streams faster than they are being read. This situation
1498-
* is a good use case for the CloudWatch Logs <a
1499-
* href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CloudWatchLogs_LiveTail.html">Live
1500-
* Tail</a> feature.</p> <p>The returned log events are sorted by event
1501-
* timestamp, the timestamp when the event was ingested by CloudWatch Logs, and the
1502-
* ID of the <code>PutLogEvents</code> request.</p> <p>If you are using CloudWatch
1503-
* cross-account observability, you can use this operation in a monitoring account
1504-
* and view data from the linked source accounts. For more information, see <a
1493+
* <code>nextToken</code>, then pagination is finished. </p> <p>Specifying the
1494+
* <code>limit</code> parameter only guarantees that a single page doesn't return
1495+
* more log events than the specified limit, but it might return fewer events than
1496+
* the limit. This is the expected API behavior.</p> <p>The returned log events are
1497+
* sorted by event timestamp, the timestamp when the event was ingested by
1498+
* CloudWatch Logs, and the ID of the <code>PutLogEvents</code> request.</p> <p>If
1499+
* you are using CloudWatch cross-account observability, you can use this operation
1500+
* in a monitoring account and view data from the linked source accounts. For more
1501+
* information, see <a
15051502
* href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Unified-Cross-Account.html">CloudWatch
15061503
* cross-account observability</a>.</p> <p>If you are using <a
15071504
* href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CloudWatch-Logs-Transformation.html">log

generated/src/aws-cpp-sdk-logs/include/aws/logs/model/Grok.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ namespace Model
5858
/**
5959
* <p>The grok pattern to match against the log event. For a list of supported grok
6060
* patterns, see <a
61-
* href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CloudWatch-Logs-Transformation.html#Grok-Patterns">Supported
61+
* href="https://docs.aws.amazon.com/mazonCloudWatch/latest/logs/CloudWatch-Logs-Transformation-Processors.html#Grok-Patterns">Supported
6262
* grok patterns</a>.</p>
6363
*/
6464
inline const Aws::String& GetMatch() const { return m_match; }

generated/src/aws-cpp-sdk-logs/include/aws/logs/model/ListToMap.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ namespace Model
2828
* <p>This processor takes a list of objects that contain key fields, and converts
2929
* them into a map of target keys.</p> <p>For more information about this processor
3030
* including examples, see <a
31-
* href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CloudWatch-Logs-Transformation.html#CloudWatch-Logs-Transformation-listToMap">
31+
* href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CloudWatch-Logs-Transformation-Processors.html#CloudWatch-Logs-Transformation-listToMap">
3232
* listToMap</a> in the <i>CloudWatch Logs User Guide</i>.</p><p><h3>See Also:</h3>
3333
* <a href="http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/ListToMap">AWS
3434
* API Reference</a></p>

generated/src/aws-cpp-sdk-synthetics/include/aws/synthetics/model/CanaryRun.h

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,28 @@ namespace Model
5353
CanaryRun& WithId(IdT&& value) { SetId(std::forward<IdT>(value)); return *this;}
5454
///@}
5555

56+
///@{
57+
/**
58+
* <p>The ID of the scheduled canary run.</p>
59+
*/
60+
inline const Aws::String& GetScheduledRunId() const { return m_scheduledRunId; }
61+
inline bool ScheduledRunIdHasBeenSet() const { return m_scheduledRunIdHasBeenSet; }
62+
template<typename ScheduledRunIdT = Aws::String>
63+
void SetScheduledRunId(ScheduledRunIdT&& value) { m_scheduledRunIdHasBeenSet = true; m_scheduledRunId = std::forward<ScheduledRunIdT>(value); }
64+
template<typename ScheduledRunIdT = Aws::String>
65+
CanaryRun& WithScheduledRunId(ScheduledRunIdT&& value) { SetScheduledRunId(std::forward<ScheduledRunIdT>(value)); return *this;}
66+
///@}
67+
68+
///@{
69+
/**
70+
* <p>The count in number of the retry attempt.</p>
71+
*/
72+
inline int GetRetryAttempt() const { return m_retryAttempt; }
73+
inline bool RetryAttemptHasBeenSet() const { return m_retryAttemptHasBeenSet; }
74+
inline void SetRetryAttempt(int value) { m_retryAttemptHasBeenSet = true; m_retryAttempt = value; }
75+
inline CanaryRun& WithRetryAttempt(int value) { SetRetryAttempt(value); return *this;}
76+
///@}
77+
5678
///@{
5779
/**
5880
* <p>The name of the canary.</p>
@@ -118,6 +140,12 @@ namespace Model
118140
Aws::String m_id;
119141
bool m_idHasBeenSet = false;
120142

143+
Aws::String m_scheduledRunId;
144+
bool m_scheduledRunIdHasBeenSet = false;
145+
146+
int m_retryAttempt{0};
147+
bool m_retryAttemptHasBeenSet = false;
148+
121149
Aws::String m_name;
122150
bool m_nameHasBeenSet = false;
123151

generated/src/aws-cpp-sdk-synthetics/include/aws/synthetics/model/CanaryRunTimeline.h

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,13 +61,28 @@ namespace Model
6161
template<typename CompletedT = Aws::Utils::DateTime>
6262
CanaryRunTimeline& WithCompleted(CompletedT&& value) { SetCompleted(std::forward<CompletedT>(value)); return *this;}
6363
///@}
64+
65+
///@{
66+
/**
67+
* <p>The time at which the metrics will be generated for this run or retries.</p>
68+
*/
69+
inline const Aws::Utils::DateTime& GetMetricTimestampForRunAndRetries() const { return m_metricTimestampForRunAndRetries; }
70+
inline bool MetricTimestampForRunAndRetriesHasBeenSet() const { return m_metricTimestampForRunAndRetriesHasBeenSet; }
71+
template<typename MetricTimestampForRunAndRetriesT = Aws::Utils::DateTime>
72+
void SetMetricTimestampForRunAndRetries(MetricTimestampForRunAndRetriesT&& value) { m_metricTimestampForRunAndRetriesHasBeenSet = true; m_metricTimestampForRunAndRetries = std::forward<MetricTimestampForRunAndRetriesT>(value); }
73+
template<typename MetricTimestampForRunAndRetriesT = Aws::Utils::DateTime>
74+
CanaryRunTimeline& WithMetricTimestampForRunAndRetries(MetricTimestampForRunAndRetriesT&& value) { SetMetricTimestampForRunAndRetries(std::forward<MetricTimestampForRunAndRetriesT>(value)); return *this;}
75+
///@}
6476
private:
6577

6678
Aws::Utils::DateTime m_started{};
6779
bool m_startedHasBeenSet = false;
6880

6981
Aws::Utils::DateTime m_completed{};
7082
bool m_completedHasBeenSet = false;
83+
84+
Aws::Utils::DateTime m_metricTimestampForRunAndRetries{};
85+
bool m_metricTimestampForRunAndRetriesHasBeenSet = false;
7186
};
7287

7388
} // namespace Model

generated/src/aws-cpp-sdk-synthetics/include/aws/synthetics/model/CanaryScheduleInput.h

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
#pragma once
77
#include <aws/synthetics/Synthetics_EXPORTS.h>
88
#include <aws/core/utils/memory/stl/AWSString.h>
9+
#include <aws/synthetics/model/RetryConfigInput.h>
910
#include <utility>
1011

1112
namespace Aws
@@ -75,13 +76,28 @@ namespace Model
7576
inline void SetDurationInSeconds(long long value) { m_durationInSecondsHasBeenSet = true; m_durationInSeconds = value; }
7677
inline CanaryScheduleInput& WithDurationInSeconds(long long value) { SetDurationInSeconds(value); return *this;}
7778
///@}
79+
80+
///@{
81+
/**
82+
* <p>A structure that contains the retry configuration for a canary</p>
83+
*/
84+
inline const RetryConfigInput& GetRetryConfig() const { return m_retryConfig; }
85+
inline bool RetryConfigHasBeenSet() const { return m_retryConfigHasBeenSet; }
86+
template<typename RetryConfigT = RetryConfigInput>
87+
void SetRetryConfig(RetryConfigT&& value) { m_retryConfigHasBeenSet = true; m_retryConfig = std::forward<RetryConfigT>(value); }
88+
template<typename RetryConfigT = RetryConfigInput>
89+
CanaryScheduleInput& WithRetryConfig(RetryConfigT&& value) { SetRetryConfig(std::forward<RetryConfigT>(value)); return *this;}
90+
///@}
7891
private:
7992

8093
Aws::String m_expression;
8194
bool m_expressionHasBeenSet = false;
8295

8396
long long m_durationInSeconds{0};
8497
bool m_durationInSecondsHasBeenSet = false;
98+
99+
RetryConfigInput m_retryConfig;
100+
bool m_retryConfigHasBeenSet = false;
85101
};
86102

87103
} // namespace Model

generated/src/aws-cpp-sdk-synthetics/include/aws/synthetics/model/CanaryScheduleOutput.h

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
#pragma once
77
#include <aws/synthetics/Synthetics_EXPORTS.h>
88
#include <aws/core/utils/memory/stl/AWSString.h>
9+
#include <aws/synthetics/model/RetryConfigOutput.h>
910
#include <utility>
1011

1112
namespace Aws
@@ -74,13 +75,28 @@ namespace Model
7475
inline void SetDurationInSeconds(long long value) { m_durationInSecondsHasBeenSet = true; m_durationInSeconds = value; }
7576
inline CanaryScheduleOutput& WithDurationInSeconds(long long value) { SetDurationInSeconds(value); return *this;}
7677
///@}
78+
79+
///@{
80+
/**
81+
* <p>A structure that contains the retry configuration for a canary</p>
82+
*/
83+
inline const RetryConfigOutput& GetRetryConfig() const { return m_retryConfig; }
84+
inline bool RetryConfigHasBeenSet() const { return m_retryConfigHasBeenSet; }
85+
template<typename RetryConfigT = RetryConfigOutput>
86+
void SetRetryConfig(RetryConfigT&& value) { m_retryConfigHasBeenSet = true; m_retryConfig = std::forward<RetryConfigT>(value); }
87+
template<typename RetryConfigT = RetryConfigOutput>
88+
CanaryScheduleOutput& WithRetryConfig(RetryConfigT&& value) { SetRetryConfig(std::forward<RetryConfigT>(value)); return *this;}
89+
///@}
7790
private:
7891

7992
Aws::String m_expression;
8093
bool m_expressionHasBeenSet = false;
8194

8295
long long m_durationInSeconds{0};
8396
bool m_durationInSecondsHasBeenSet = false;
97+
98+
RetryConfigOutput m_retryConfig;
99+
bool m_retryConfigHasBeenSet = false;
84100
};
85101

86102
} // namespace Model

generated/src/aws-cpp-sdk-synthetics/include/aws/synthetics/model/CanaryStatus.h

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -52,8 +52,8 @@ namespace Model
5252

5353
///@{
5454
/**
55-
* <p>If the canary has insufficient permissions to run, this field provides more
56-
* details.</p>
55+
* <p>If the canary creation or update failed, this field provides details on the
56+
* failure.</p>
5757
*/
5858
inline const Aws::String& GetStateReason() const { return m_stateReason; }
5959
inline bool StateReasonHasBeenSet() const { return m_stateReasonHasBeenSet; }
@@ -65,7 +65,8 @@ namespace Model
6565

6666
///@{
6767
/**
68-
* <p>If the canary cannot run or has failed, this field displays the reason.</p>
68+
* <p>If the canary creation or update failed, this field displays the reason
69+
* code.</p>
6970
*/
7071
inline CanaryStateReasonCode GetStateReasonCode() const { return m_stateReasonCode; }
7172
inline bool StateReasonCodeHasBeenSet() const { return m_stateReasonCodeHasBeenSet; }

generated/src/aws-cpp-sdk-synthetics/include/aws/synthetics/model/GetCanaryRunsRequest.h

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,9 @@ namespace Model
4949
/**
5050
* <p>A token that indicates that there is more data available. You can use this
5151
* token in a subsequent <code>GetCanaryRuns</code> operation to retrieve the next
52-
* set of results.</p>
52+
* set of results.</p> <p>When auto retry is enabled for the canary, the
53+
* first subsequent retry is suffixed with *1 indicating its the first retry and
54+
* the next subsequent try is suffixed with *2.</p>
5355
*/
5456
inline const Aws::String& GetNextToken() const { return m_nextToken; }
5557
inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; }
Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
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/synthetics/Synthetics_EXPORTS.h>
8+
9+
namespace Aws
10+
{
11+
namespace Utils
12+
{
13+
namespace Json
14+
{
15+
class JsonValue;
16+
class JsonView;
17+
} // namespace Json
18+
} // namespace Utils
19+
namespace Synthetics
20+
{
21+
namespace Model
22+
{
23+
24+
/**
25+
* <p>This structure contains information about the canary's retry
26+
* configuration.</p> <p>The default account level concurrent execution
27+
* limit from Lambda is 1000. When you have more than 1000 canaries, it's possible
28+
* there are more than 1000 Lambda invocations due to retries and the console might
29+
* hang. For more information on the Lambda execution limit, see <a
30+
* href="https://docs.aws.amazon.com/lambda/latest/dg/lambda-concurrency.html#:~:text=As%20your%20functions%20receive%20more,functions%20in%20an%20AWS%20Region">Understanding
31+
* Lambda function scaling</a>.</p> <p>For canary with
32+
* <code>MaxRetries = 2</code>, you need to set the
33+
* <code>CanaryRunConfigInput.TimeoutInSeconds</code> to less than 600 seconds to
34+
* avoid validation errors.</p> <p><h3>See Also:</h3> <a
35+
* href="http://docs.aws.amazon.com/goto/WebAPI/synthetics-2017-10-11/RetryConfigInput">AWS
36+
* API Reference</a></p>
37+
*/
38+
class RetryConfigInput
39+
{
40+
public:
41+
AWS_SYNTHETICS_API RetryConfigInput() = default;
42+
AWS_SYNTHETICS_API RetryConfigInput(Aws::Utils::Json::JsonView jsonValue);
43+
AWS_SYNTHETICS_API RetryConfigInput& operator=(Aws::Utils::Json::JsonView jsonValue);
44+
AWS_SYNTHETICS_API Aws::Utils::Json::JsonValue Jsonize() const;
45+
46+
47+
///@{
48+
/**
49+
* <p>The maximum number of retries. The value must be less than or equal to 2.</p>
50+
*/
51+
inline int GetMaxRetries() const { return m_maxRetries; }
52+
inline bool MaxRetriesHasBeenSet() const { return m_maxRetriesHasBeenSet; }
53+
inline void SetMaxRetries(int value) { m_maxRetriesHasBeenSet = true; m_maxRetries = value; }
54+
inline RetryConfigInput& WithMaxRetries(int value) { SetMaxRetries(value); return *this;}
55+
///@}
56+
private:
57+
58+
int m_maxRetries{0};
59+
bool m_maxRetriesHasBeenSet = false;
60+
};
61+
62+
} // namespace Model
63+
} // namespace Synthetics
64+
} // namespace Aws
Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
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/synthetics/Synthetics_EXPORTS.h>
8+
9+
namespace Aws
10+
{
11+
namespace Utils
12+
{
13+
namespace Json
14+
{
15+
class JsonValue;
16+
class JsonView;
17+
} // namespace Json
18+
} // namespace Utils
19+
namespace Synthetics
20+
{
21+
namespace Model
22+
{
23+
24+
/**
25+
* <p>This structure contains information about the canary's retry
26+
* configuration.</p><p><h3>See Also:</h3> <a
27+
* href="http://docs.aws.amazon.com/goto/WebAPI/synthetics-2017-10-11/RetryConfigOutput">AWS
28+
* API Reference</a></p>
29+
*/
30+
class RetryConfigOutput
31+
{
32+
public:
33+
AWS_SYNTHETICS_API RetryConfigOutput() = default;
34+
AWS_SYNTHETICS_API RetryConfigOutput(Aws::Utils::Json::JsonView jsonValue);
35+
AWS_SYNTHETICS_API RetryConfigOutput& operator=(Aws::Utils::Json::JsonView jsonValue);
36+
AWS_SYNTHETICS_API Aws::Utils::Json::JsonValue Jsonize() const;
37+
38+
39+
///@{
40+
/**
41+
* <p>The maximum number of retries. The value must be less than or equal to 2.</p>
42+
*/
43+
inline int GetMaxRetries() const { return m_maxRetries; }
44+
inline bool MaxRetriesHasBeenSet() const { return m_maxRetriesHasBeenSet; }
45+
inline void SetMaxRetries(int value) { m_maxRetriesHasBeenSet = true; m_maxRetries = value; }
46+
inline RetryConfigOutput& WithMaxRetries(int value) { SetMaxRetries(value); return *this;}
47+
///@}
48+
private:
49+
50+
int m_maxRetries{0};
51+
bool m_maxRetriesHasBeenSet = false;
52+
};
53+
54+
} // namespace Model
55+
} // namespace Synthetics
56+
} // namespace Aws

0 commit comments

Comments
 (0)