Skip to content

Commit 5c98b5e

Browse files
committed
Merge branch 'main' of https://github.com/awslabs/aws-sdk-kotlin into gradle-mirror
2 parents b39f377 + 239d68c commit 5c98b5e

File tree

67 files changed

+12032
-1817
lines changed

Some content is hidden

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

67 files changed

+12032
-1817
lines changed

.github/workflows/continuous-integration.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ jobs:
4646
./gradlew -Ptest.java.version=${{ matrix.java-version }} jvmTest --stacktrace
4747
- name: Save Test Reports
4848
if: failure()
49-
uses: actions/upload-artifact@v3
49+
uses: actions/upload-artifact@v4
5050
with:
5151
name: test-reports
5252
path: '**/build/reports'
@@ -92,7 +92,7 @@ jobs:
9292
./gradlew testAllProtocols
9393
- name: Save Test Reports
9494
if: failure()
95-
uses: actions/upload-artifact@v3
95+
uses: actions/upload-artifact@v4
9696
with:
9797
name: test-reports
9898
path: '**/build/reports'

CHANGELOG.md

Lines changed: 133 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,138 @@
11
# Changelog
22

3+
## [1.4.13] - 02/04/2025
4+
5+
### Features
6+
* (**databasemigrationservice**) Introduces TargetDataSettings with the TablePreparationMode option available for data migrations.
7+
* (**iam**) This release adds support for accepting encrypted SAML assertions. Customers can now configure their identity provider to encrypt the SAML assertions it sends to IAM.
8+
* (**neptunegraph**) Added argument to `list-export` to filter by graph ID
9+
* (**qbusiness**) Adds functionality to enable/disable a new Q Business Chat orchestration feature. If enabled, Q Business can orchestrate over datasources and plugins without the need for customers to select specific chat modes.
10+
11+
### Documentation
12+
* (**datasync**) Doc-only update to provide more information on using Kerberos authentication with SMB locations.
13+
* (**sagemaker**) IPv6 support for Hyperpod clusters
14+
15+
## [1.4.12] - 02/03/2025
16+
17+
### Features
18+
* (**mediatailor**) Add support for CloudWatch Vended Logs which allows for delivery of customer logs to CloudWatch Logs, S3, or Firehose.
19+
20+
## [1.4.11] - 01/31/2025
21+
22+
### Features
23+
* (**amp**) Add support for sending metrics to cross account and CMCK AMP workspaces through RoleConfiguration on Create/Update Scraper.
24+
* (**bedrockagentruntime**) This change is to deprecate the existing citation field under RetrieveAndGenerateStream API response in lieu of GeneratedResponsePart and RetrievedReferences
25+
* (**codebuild**) Added support for CodeBuild self-hosted Buildkite runner builds
26+
* (**georoutes**) The OptimizeWaypoints API now supports 50 waypoints per request (20 with constraints like AccessHours or AppointmentTime). It adds waypoint clustering via Clustering and ClusteringIndex for better optimization. Also, total distance validation is removed for greater flexibility.
27+
* (**sagemaker**) This release introduces a new valid value in InstanceType parameter: p5en.48xlarge, in ProductionVariant.
28+
29+
### Documentation
30+
* (**rds**) Updates to Aurora MySQL and Aurora PostgreSQL API pages with instance log type in the create and modify DB Cluster.
31+
32+
## [1.4.10] - 01/30/2025
33+
34+
### Features
35+
* (**appstream**) Add support for managing admin consent requirement on selected domains for OneDrive Storage Connectors in AppStream2.0.
36+
* (**bedrockagentruntime**) Add a 'reason' field to InternalServerException
37+
* (**ecr**) Temporarily updating dualstack endpoint support
38+
* (**ecrpublic**) Temporarily updating dualstack endpoint support
39+
* (**mediatailor**) Adds options for configuring how MediaTailor conditions ads before inserting them into the content stream. Based on the new settings, MediaTailor will either transcode ads to match the content stream as it has in the past, or it will insert ads without first transcoding them.
40+
* (**qbusiness**) Added APIs to manage QBusiness user subscriptions
41+
* (**s3tables**) You can now use the CreateTable API operation to create tables with schemas by adding an optional metadata argument.
42+
* (**verifiedpermissions**) Adds Cedar JSON format support for entities and context data in authorization requests
43+
44+
## [1.4.9] - 01/29/2025
45+
46+
### Features
47+
* (**bcmpricingcalculator**) Added ConflictException error type in DeleteBillScenario, BatchDeleteBillScenarioCommitmentModification, BatchDeleteBillScenarioUsageModification, BatchUpdateBillScenarioUsageModification, and BatchUpdateBillScenarioCommitmentModification API operations.
48+
* (**ecr**) Add support for Dualstack and Dualstack-with-FIPS Endpoints
49+
* (**ecrpublic**) Add support for Dualstack Endpoints
50+
* (**mailmanager**) This release includes a new feature for Amazon SES Mail Manager which allows customers to specify known addresses and domains and make use of those in traffic policies and rules actions to distinguish between known and unknown entries.
51+
* (**s3**) Change the type of MpuObjectSize in CompleteMultipartUploadRequest from int to long.
52+
* (**transcribestreaming**) This release adds support for AWS HealthScribe Streaming APIs within Amazon Transcribe.
53+
54+
### Fixes
55+
* Upgrade **smithy-kotlin** version to pick up fixes for header signing
56+
57+
## [1.4.8] - 01/28/2025
58+
59+
### Features
60+
* (**appsync**) Add stash and outErrors to EvaluateCode/EvaluateMappingTemplate response
61+
* (**datasync**) AWS DataSync now supports the Kerberos authentication protocol for SMB locations.
62+
* (**deadline**) feature: Deadline: Add support for limiting the concurrent usage of external resources, like floating licenses, using limits and the ability to constrain the maximum number of workers that work on a job
63+
* (**ec2**) This release changes the CreateFleet CLI and SDK's such that if you do not specify a client token, a randomly generated token is used for the request to ensure idempotency.
64+
* (**firehose**) For AppendOnly streams, Firehose will automatically scale to match your throughput.
65+
* (**timestreaminfluxdb**) Adds 'allocatedStorage' parameter to UpdateDbInstance API that allows increasing the database instance storage size and 'dbStorageType' parameter to UpdateDbInstance API that allows changing the storage type of the database instance
66+
67+
## [1.4.7] - 01/27/2025
68+
69+
### Features
70+
* (**bedrockagent**) Add support for the prompt caching feature for Bedrock Prompt Management
71+
* (**iot**) Raised the documentParameters size limit to 30 KB for AWS IoT Device Management - Jobs.
72+
* (**mediaconvert**) This release adds support for dynamic audio configuration and the ability to disable the deblocking filter for h265 encodes.
73+
* (**s3control**) Minor fix to ARN validation for Lambda functions passed to S3 Batch Operations
74+
75+
## [1.4.6] - 01/24/2025
76+
77+
### Features
78+
* (**cloudtrail**) This release introduces the SearchSampleQueries API that allows users to search for CloudTrail Lake sample queries.
79+
* (**eks**) Adds support for UpdateStrategies in EKS Managed Node Groups.
80+
* (**healthlake**) Added new authorization strategy value 'SMART_ON_FHIR' for CreateFHIRDatastore API to support Smart App 2.0
81+
* (**transfer**) Added CustomDirectories as a new directory option for storing inbound AS2 messages, MDN files and Status files.
82+
83+
### Documentation
84+
* (**ssm**) Systems Manager doc-only update for January, 2025.
85+
* (**ssooidc**) Fixed typos in the descriptions.
86+
87+
## [1.4.5] - 01/23/2025
88+
89+
### Features
90+
* (**ec2**) Added "future" allocation type for future dated capacity reservation
91+
92+
## [1.4.4] - 01/22/2025
93+
94+
### Features
95+
* (**bedrockagentruntime**) Adds multi-turn input support for an Agent node in an Amazon Bedrock Flow
96+
* (**medialive**) AWS Elemental MediaLive adds a new feature, ID3 segment tagging, in CMAF Ingest output groups. It allows customers to insert ID3 tags into every output segment, controlled by a newly added channel schedule action Id3SegmentTagging.
97+
98+
### Documentation
99+
* (**glue**) Docs Update for timeout changes
100+
* (**workspacesthinclient**) Rename WorkSpaces Web to WorkSpaces Secure Browser
101+
102+
## [1.4.3] - 01/21/2025
103+
104+
### Features
105+
* (**cognitoidentityprovider**) corrects the dual-stack endpoint configuration for cognitoidp
106+
* (**connect**) Added DeleteContactFlowVersion API and the CAMPAIGN flow type
107+
* (**emrserverless**) Increasing entryPoint in SparkSubmit to accept longer script paths. New limit is 4kb.
108+
* (**iotsitewise**) AWS IoT SiteWise now supports ingestion and querying of Null (all data types) and NaN (double type) values of bad or uncertain data quality. New partial error handling prevents data loss during ingestion. Enabled by default for new customers; existing customers can opt-in.
109+
* (**quicksight**) Added `DigitGroupingStyle` in ThousandsSeparator to allow grouping by `LAKH`( Indian Grouping system ) currency. Support LAKH and `CRORE` currency types in Column Formatting.
110+
111+
### Documentation
112+
* (**batch**) Documentation-only update: clarified the description of the shareDecaySeconds parameter of the FairsharePolicy data type, clarified the description of the priority parameter of the JobQueueDetail data type.
113+
* (**cloudwatchlogs**) Documentation-only update to address doc errors
114+
* (**sns**) This release adds support for the topic attribute FifoThroughputScope for SNS FIFO topics. For details, see the documentation history in the Amazon Simple Notification Service Developer Guide.
115+
116+
## [1.4.2] - 01/17/2025
117+
118+
### Features
119+
* (**bedrockruntime**) Allow hyphens in tool name for Converse and ConverseStream APIs
120+
* (**ec2**) Release u7i-6tb.112xlarge, u7i-8tb.112xlarge, u7inh-32tb.480xlarge, p5e.48xlarge, p5en.48xlarge, f2.12xlarge, f2.48xlarge, trn2.48xlarge instance types.
121+
* (**notifications**) Added support for Managed Notifications, integration with AWS Organization and added aggregation summaries for Aggregate Notifications
122+
* Add auth token generator for RDS and DSQL
123+
124+
### Documentation
125+
* (**detective**) Doc only update for Detective documentation.
126+
* (**sagemaker**) Correction of docs for "Added support for ml.trn1.32xlarge instance type in Reserved Capacity Offering"
127+
128+
## [1.4.1] - 01/16/2025
129+
130+
### Features
131+
* (**sagemaker**) Added support for ml.trn1.32xlarge instance type in Reserved Capacity Offering
132+
133+
### Documentation
134+
* (**ecs**) The release addresses Amazon ECS documentation tickets.
135+
3136
## [1.4.0] - 01/15/2025
4137

5138
### Features

aws-runtime/aws-config/common/src/aws/sdk/kotlin/runtime/config/profile/AwsProfile.kt

Lines changed: 23 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -83,14 +83,7 @@ public val AwsProfile.credentialProcess: String?
8383
*/
8484
@InternalSdkApi
8585
public val AwsProfile.retryMode: RetryMode?
86-
get() = getOrNull("retry_mode")?.run {
87-
RetryMode.values().firstOrNull { it.name.equals(this, ignoreCase = true) }
88-
?: throw ConfigurationException(
89-
"retry_mode $this is not supported, should be one of: ${
90-
RetryMode.values().joinToString(", ") { it.name.lowercase() }
91-
}",
92-
)
93-
}
86+
get() = getEnumOrNull<RetryMode>("retry_mode")
9487

9588
/**
9689
* Whether service clients should make requests to the FIPS endpoint variant.
@@ -139,14 +132,7 @@ public val AwsProfile.sdkUserAgentAppId: String?
139132
*/
140133
@InternalSdkApi
141134
public val AwsProfile.accountIdEndpointMode: AccountIdEndpointMode?
142-
get() = getOrNull("account_id_endpoint_mode")?.run {
143-
AccountIdEndpointMode.values().firstOrNull { it.name.equals(this, ignoreCase = true) }
144-
?: throw ConfigurationException(
145-
"account_id_endpoint_mode $this is not supported, should be one of: ${
146-
AccountIdEndpointMode.values().joinToString(", ") { it.name.lowercase() }
147-
}",
148-
)
149-
}
135+
get() = getEnumOrNull<AccountIdEndpointMode>("account_id_endpoint_mode")
150136

151137
/**
152138
* Determines when a request should be compressed or not
@@ -174,30 +160,14 @@ public val AwsProfile.sigV4aSigningRegionSet: String?
174160
*/
175161
@InternalSdkApi
176162
public val AwsProfile.requestChecksumCalculation: RequestHttpChecksumConfig?
177-
get() = getOrNull("request_checksum_calculation")?.run {
178-
RequestHttpChecksumConfig
179-
.values()
180-
.firstOrNull { it.name.equals(this, ignoreCase = true) }
181-
?: throw ConfigurationException(
182-
"request_checksum_calculation $this is not supported, should be one of: " +
183-
RequestHttpChecksumConfig.values().joinToString(", ") { it.name.lowercase() },
184-
)
185-
}
163+
get() = getEnumOrNull<RequestHttpChecksumConfig>("request_checksum_calculation")
186164

187165
/**
188166
* Configures response checksum validation
189167
*/
190168
@InternalSdkApi
191169
public val AwsProfile.responseChecksumValidation: ResponseHttpChecksumConfig?
192-
get() = getOrNull("response_checksum_validation")?.run {
193-
ResponseHttpChecksumConfig
194-
.values()
195-
.firstOrNull { it.name.equals(this, ignoreCase = true) }
196-
?: throw ConfigurationException(
197-
"response_checksum_validation $this is not supported, should be one of: " +
198-
ResponseHttpChecksumConfig.values().joinToString(", ") { it.name.lowercase() },
199-
)
200-
}
170+
get() = getEnumOrNull<ResponseHttpChecksumConfig>("response_checksum_validation")
201171

202172
/**
203173
* Parse a config value as a boolean, ignoring case.
@@ -232,6 +202,25 @@ public fun AwsProfile.getLongOrNull(key: String, subKey: String? = null): Long?
232202
)
233203
}
234204

205+
/**
206+
* Parse a config value as an enum.
207+
*/
208+
@InternalSdkApi
209+
public inline fun <reified T : Enum<T>> AwsProfile.getEnumOrNull(key: String, subKey: String? = null): T? =
210+
getOrNull(key, subKey)?.let { value ->
211+
enumValues<T>().firstOrNull {
212+
it.name.equals(value, ignoreCase = true)
213+
} ?: throw ConfigurationException(
214+
buildString {
215+
append(key)
216+
append(" '")
217+
append(value)
218+
append("' is not supported, should be one of: ")
219+
enumValues<T>().joinTo(this) { it.name.lowercase() }
220+
},
221+
)
222+
}
223+
235224
internal fun AwsProfile.getUrlOrNull(key: String, subKey: String? = null): Url? =
236225
getOrNull(key, subKey)?.let {
237226
try {

0 commit comments

Comments
 (0)