Skip to content

Commit b46feca

Browse files
committed
Merge branch 'development' of https://github.com/aws/aws-sdk-net-staging into development
2 parents 45026cb + 0d372de commit b46feca

File tree

199 files changed

+14757
-12937
lines changed

Some content is hidden

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

199 files changed

+14757
-12937
lines changed

changelogs/SDK.CHANGELOG.2026.md

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,19 @@
1+
### 4.0.169.0 (2026-01-13 19:20 UTC)
2+
* Bedrock (4.0.19.0)
3+
* This change will increase TestCase guardContent input size from 1024 to 2028 characters and PolicyBuildDocumentDescription from 2000 to 4000 characters
4+
* DataZone (4.0.18.0)
5+
* Adds support for IAM role subscriptions to Glue table listings via CreateSubscriptionRequest API. Also adds owningIamPrincipalArn filter to List APIs and subscriptionGrantCreationMode parameter to subscription target APIs for controlling grant creation behavior.
6+
7+
### 4.0.168.0 (2026-01-12 19:24 UTC)
8+
* Billing (4.0.6.0)
9+
* Cost Categories filtering support to BillingView data filter expressions through the new costCategories parameter, enabling users to filter billing views by AWS Cost Categories for more granular cost management and allocation.
10+
* IoTManagedIntegrations (4.0.5.0)
11+
* This release introduces WiFi Simple Setup (WSS) enabling device provisioning via barcode scanning with automated network discovery, authentication, and credential provisioning. Additionally, it introduces 2P Device Capability Rediscovery for updating hub-managed device capabilities post-onboarding.
12+
* S3 (4.0.17.1)
13+
* Generate GetBucketWebsite, PutBucketWebsite, and DeleteBucketWebsite
14+
* SageMaker (4.0.40.0)
15+
* Added ultraServerType to the UltraServerInfo structure to support server type identification for SageMaker HyperPod
16+
117
### 4.0.167.0 (2026-01-09 19:18 UTC)
218
* BedrockAgentCoreControl (4.0.14.0)
319
* Adds optional field "view" to GetMemory API input to give customers control over whether CMK encrypted data such as strategy decryption or override prompts is returned or not.

changelogs/SDK.CHANGELOG.ALL.md

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,19 @@
1+
### 4.0.169.0 (2026-01-13 19:20 UTC)
2+
* Bedrock (4.0.19.0)
3+
* This change will increase TestCase guardContent input size from 1024 to 2028 characters and PolicyBuildDocumentDescription from 2000 to 4000 characters
4+
* DataZone (4.0.18.0)
5+
* Adds support for IAM role subscriptions to Glue table listings via CreateSubscriptionRequest API. Also adds owningIamPrincipalArn filter to List APIs and subscriptionGrantCreationMode parameter to subscription target APIs for controlling grant creation behavior.
6+
7+
### 4.0.168.0 (2026-01-12 19:24 UTC)
8+
* Billing (4.0.6.0)
9+
* Cost Categories filtering support to BillingView data filter expressions through the new costCategories parameter, enabling users to filter billing views by AWS Cost Categories for more granular cost management and allocation.
10+
* IoTManagedIntegrations (4.0.5.0)
11+
* This release introduces WiFi Simple Setup (WSS) enabling device provisioning via barcode scanning with automated network discovery, authentication, and credential provisioning. Additionally, it introduces 2P Device Capability Rediscovery for updating hub-managed device capabilities post-onboarding.
12+
* S3 (4.0.17.1)
13+
* Generate GetBucketWebsite, PutBucketWebsite, and DeleteBucketWebsite
14+
* SageMaker (4.0.40.0)
15+
* Added ultraServerType to the UltraServerInfo structure to support server type identification for SageMaker HyperPod
16+
117
### 4.0.167.0 (2026-01-09 19:18 UTC)
218
* BedrockAgentCoreControl (4.0.14.0)
319
* Adds optional field "view" to GetMemory API input to give customers control over whether CMK encrypted data such as strategy decryption or override prompts is returned or not.

generator/ServiceClientGeneratorLib/Customizations.cs

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1035,6 +1035,7 @@ public class ShapeModifier
10351035
public const string PredicateListUnmarshallersKey = "predicateListUnmarshallers";
10361036
public const string ExcludeFromUnmarshallingKey = "excludeFromUnmarshalling";
10371037
public const string InjectXmlMarshallCodeInPayloadKey = "injectXmlMarshallCodeInPayload";
1038+
public const string InjectXmlUnmarshallResultCodeKey = "injectXmlUnmarshallResultCode";
10381039

10391040
private readonly HashSet<string> _excludedProperties;
10401041
private readonly Dictionary<string, JsonData> _modifiedProperties;
@@ -1047,6 +1048,7 @@ public class ShapeModifier
10471048
private readonly Dictionary<string, JsonData> _predicateListUnmarshallers;
10481049
private readonly HashSet<string> _excludedUnmarshallingProperties;
10491050
private readonly HashSet<string> _injectXmlMarshallCodeInPayload;
1051+
private readonly HashSet<string> _injectXmlUnmarshallResultCode;
10501052

10511053
public string DeprecationMessage { get; private set; }
10521054

@@ -1068,8 +1070,21 @@ public ShapeModifier(JsonData data)
10681070
_predicateListUnmarshallers = ParsePredicateListUnmarshallers(data);
10691071
_excludedUnmarshallingProperties = ParseExcludedUnmarshallingProperties(data);
10701072
_injectXmlMarshallCodeInPayload = ParseInjectXmlMarshallCodeInPayload(data);
1073+
_injectXmlUnmarshallResultCode = ParseInjectXmlUnmarshallResultCode(data);
10711074
}
10721075

1076+
private HashSet<string> ParseInjectXmlUnmarshallResultCode(JsonData data)
1077+
{
1078+
var shapeModifierData = data[InjectXmlUnmarshallResultCodeKey]?.Cast<object>()
1079+
.Select(x => x.ToString());
1080+
1081+
return new HashSet<string>(shapeModifierData ?? new string[0]);
1082+
}
1083+
/// <summary>
1084+
/// Use this customization to inject code into the UnmarshallResult method of restXmlUnmarshallers.
1085+
/// </summary>
1086+
public HashSet<string> InjectXmlUnmarshallResultCode { get { return _injectXmlUnmarshallResultCode; } }
1087+
10731088
private HashSet<string> ParseInjectXmlMarshallCodeInPayload(JsonData data)
10741089
{
10751090
var shapeModifierData = data[InjectXmlMarshallCodeInPayloadKey]?.Cast<object>()
@@ -1746,6 +1761,11 @@ public ShapeModifier GetShapeModifier(string shapeName)
17461761
return shapeModifiers.ContainsKey(shapeName) ? shapeModifiers[shapeName] : null;
17471762
}
17481763

1764+
public bool TryGetShapeModifier(string shapeName, out ShapeModifier shapeModifier)
1765+
{
1766+
shapeModifier = GetShapeModifier(shapeName);
1767+
return shapeModifier == null ? false : true;
1768+
}
17491769
/// <summary>
17501770
/// Returns true if the specified property name is excluded at global or
17511771
/// per-shape scope.

generator/ServiceClientGeneratorLib/GeneratorDriver.cs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1693,8 +1693,10 @@ private void S3NeedsCustomUpdate(Shape shape)
16931693
{ "MetricsAndOperator", 3 },
16941694
{ "AnalyticsAndOperator", 2 },
16951695
{ "IntelligentTieringAndOperator", 2},
1696-
//TODO: Add runbook entry as to why this excluded and how to do a customization for this.
1697-
{ "GlacierJobParameters", 1 }
1696+
{ "GlacierJobParameters", 1 },
1697+
// these two shapes have been changed from a structure to a string.
1698+
{ "IndexDocument", 1 },
1699+
{ "ErrorDocument", 1 }
16981700
};
16991701
if (customUpdateShapes.TryGetValue(shape.Name, out int membersCount))
17001702
{

generator/ServiceClientGeneratorLib/Generators/Marshallers/RestXmlResponseUnmarshaller.cs

Lines changed: 29 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -317,10 +317,22 @@ public override AmazonWebServiceResponse Unmarshall(XmlUnmarshallerContext conte
317317
#line default
318318
#line hidden
319319
this.Write(" if (context.IsEmptyResponse)\r\n {\r\n return;\r" +
320-
"\n }\r\n while (context.Read())\r\n {\r\n\t\t\t\tif (conte" +
321-
"xt.IsStartElement || context.IsAttribute)\r\n {\r\n");
320+
"\n }\r\n");
322321

323-
#line 155 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\RestXmlResponseUnmarshaller.tt"
322+
#line 151 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\RestXmlResponseUnmarshaller.tt"
323+
324+
if (this.Config.ServiceModel.Customizations.TryGetShapeModifier(this.Structure.Name, out var injectUnmarshallResultShapeModifier) && injectUnmarshallResultShapeModifier.InjectXmlUnmarshallResultCode.Count > 0)
325+
{
326+
WriteInjectXmlCode(injectUnmarshallResultShapeModifier.InjectXmlUnmarshallResultCode, 3);
327+
}
328+
329+
330+
#line default
331+
#line hidden
332+
this.Write(" while (context.Read())\r\n {\r\n\t\t\t\tif (context.IsStartElement" +
333+
" || context.IsAttribute)\r\n {\r\n");
334+
335+
#line 161 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\RestXmlResponseUnmarshaller.tt"
324336

325337
foreach (var member in this.Operation.ResponseBodyMembers)
326338
{
@@ -339,7 +351,7 @@ public override AmazonWebServiceResponse Unmarshall(XmlUnmarshallerContext conte
339351
"\r\n {\r\n return;\r\n }\r\n " +
340352
" }\r\n return;\r\n }\r\n");
341353

342-
#line 174 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\RestXmlResponseUnmarshaller.tt"
354+
#line 180 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\RestXmlResponseUnmarshaller.tt"
343355

344356
}
345357

@@ -359,7 +371,7 @@ public override AmazonServiceException UnmarshallException(XmlUnmarshallerContex
359371
{
360372
");
361373

362-
#line 187 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\RestXmlResponseUnmarshaller.tt"
374+
#line 193 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\RestXmlResponseUnmarshaller.tt"
363375

364376
if (this.Config.ServiceId == "S3")
365377
{
@@ -370,7 +382,7 @@ public override AmazonServiceException UnmarshallException(XmlUnmarshallerContex
370382
this.Write(" S3ErrorResponse errorResponse = S3ErrorResponseUnmarshaller.Instance." +
371383
"Unmarshall(context);\r\n");
372384

373-
#line 192 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\RestXmlResponseUnmarshaller.tt"
385+
#line 198 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\RestXmlResponseUnmarshaller.tt"
374386

375387
}
376388
else
@@ -382,7 +394,7 @@ public override AmazonServiceException UnmarshallException(XmlUnmarshallerContex
382394
this.Write(" ErrorResponse errorResponse = XmlErrorResponseUnmarshaller.GetInstanc" +
383395
"e().Unmarshall(context);\r\n");
384396

385-
#line 198 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\RestXmlResponseUnmarshaller.tt"
397+
#line 204 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\RestXmlResponseUnmarshaller.tt"
386398

387399
}
388400

@@ -399,7 +411,7 @@ public override AmazonServiceException UnmarshallException(XmlUnmarshallerContex
399411
{
400412
");
401413

402-
#line 209 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\RestXmlResponseUnmarshaller.tt"
414+
#line 215 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\RestXmlResponseUnmarshaller.tt"
403415

404416
foreach (var exception in this.Operation.Exceptions)
405417
{
@@ -409,22 +421,22 @@ public override AmazonServiceException UnmarshallException(XmlUnmarshallerContex
409421
#line hidden
410422
this.Write(" if (errorResponse.Code != null && errorResponse.Code.Equals(\"");
411423

412-
#line 213 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\RestXmlResponseUnmarshaller.tt"
424+
#line 219 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\RestXmlResponseUnmarshaller.tt"
413425
this.Write(this.ToStringHelper.ToStringWithCulture(exception.Code));
414426

415427
#line default
416428
#line hidden
417429
this.Write("\"))\r\n {\r\n return ");
418430

419-
#line 215 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\RestXmlResponseUnmarshaller.tt"
431+
#line 221 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\RestXmlResponseUnmarshaller.tt"
420432
this.Write(this.ToStringHelper.ToStringWithCulture(exception.Name));
421433

422434
#line default
423435
#line hidden
424436
this.Write("Unmarshaller.Instance.Unmarshall(contextCopy, errorResponse);\r\n }\r" +
425437
"\n");
426438

427-
#line 217 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\RestXmlResponseUnmarshaller.tt"
439+
#line 223 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\RestXmlResponseUnmarshaller.tt"
428440

429441
}
430442

@@ -433,7 +445,7 @@ public override AmazonServiceException UnmarshallException(XmlUnmarshallerContex
433445
#line hidden
434446
this.Write(" }\r\n");
435447

436-
#line 221 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\RestXmlResponseUnmarshaller.tt"
448+
#line 227 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\RestXmlResponseUnmarshaller.tt"
437449

438450
if (this.Config.ServiceId == "S3")
439451
{
@@ -444,7 +456,7 @@ public override AmazonServiceException UnmarshallException(XmlUnmarshallerContex
444456
this.Write(" return base.ConstructS3Exception(context, errorResponse, innerExcepti" +
445457
"on, statusCode);\r\n");
446458

447-
#line 226 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\RestXmlResponseUnmarshaller.tt"
459+
#line 232 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\RestXmlResponseUnmarshaller.tt"
448460

449461
}
450462
else
@@ -455,15 +467,15 @@ public override AmazonServiceException UnmarshallException(XmlUnmarshallerContex
455467
#line hidden
456468
this.Write(" return new ");
457469

458-
#line 231 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\RestXmlResponseUnmarshaller.tt"
470+
#line 237 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\RestXmlResponseUnmarshaller.tt"
459471
this.Write(this.ToStringHelper.ToStringWithCulture(this.BaseException));
460472

461473
#line default
462474
#line hidden
463475
this.Write("(errorResponse.Message, innerException, errorResponse.Type, errorResponse.Code, e" +
464476
"rrorResponse.RequestId, statusCode);\r\n");
465477

466-
#line 232 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\RestXmlResponseUnmarshaller.tt"
478+
#line 238 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\RestXmlResponseUnmarshaller.tt"
467479

468480
}
469481

@@ -473,14 +485,14 @@ public override AmazonServiceException UnmarshallException(XmlUnmarshallerContex
473485
this.Write(" }\r\n\r\n partial void PostUnmarshallCustomization(XmlUnmarshallerCont" +
474486
"ext context, ");
475487

476-
#line 237 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\RestXmlResponseUnmarshaller.tt"
488+
#line 243 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\RestXmlResponseUnmarshaller.tt"
477489
this.Write(this.ToStringHelper.ToStringWithCulture(this.Operation.Name));
478490

479491
#line default
480492
#line hidden
481493
this.Write("Response response);\r\n\r\n");
482494

483-
#line 239 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\RestXmlResponseUnmarshaller.tt"
495+
#line 245 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\RestXmlResponseUnmarshaller.tt"
484496

485497
this.AddResponseSingletonMethod();
486498

generator/ServiceClientGeneratorLib/Generators/Marshallers/RestXmlResponseUnmarshaller.tt

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -148,6 +148,12 @@ namespace <#=this.Config.Namespace #>.Model.Internal.MarshallTransformations
148148
{
149149
return;
150150
}
151+
<#
152+
if (this.Config.ServiceModel.Customizations.TryGetShapeModifier(this.Structure.Name, out var injectUnmarshallResultShapeModifier) && injectUnmarshallResultShapeModifier.InjectXmlUnmarshallResultCode.Count > 0)
153+
{
154+
WriteInjectXmlCode(injectUnmarshallResultShapeModifier.InjectXmlUnmarshallResultCode, 3);
155+
}
156+
#>
151157
while (context.Read())
152158
{
153159
if (context.IsStartElement || context.IsAttribute)

generator/ServiceClientGeneratorLib/ServiceModel.cs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -588,8 +588,10 @@ public List<Operation> S3AllowListOperations
588588
new Operation(this, "DeleteObjects", DocumentRoot[OperationsKey]["DeleteObjects"]),
589589
new Operation(this, "DeleteObjectTagging", DocumentRoot[OperationsKey]["DeleteObjectTagging"]),
590590
new Operation(this, "GetBucketLogging", DocumentRoot[OperationsKey]["GetBucketLogging"]),
591-
new Operation(this, "PutBucketLogging", DocumentRoot[OperationsKey]["PutBucketLogging"])
592-
591+
new Operation(this, "PutBucketLogging", DocumentRoot[OperationsKey]["PutBucketLogging"]),
592+
new Operation(this, "GetBucketWebsite", DocumentRoot[OperationsKey]["GetBucketWebsite"]),
593+
new Operation(this, "PutBucketWebsite", DocumentRoot[OperationsKey]["PutBucketWebsite"]),
594+
new Operation(this, "DeleteBucketWebsite", DocumentRoot[OperationsKey]["DeleteBucketWebsite"])
593595
};
594596
}
595597
return _s3AllowListOperations.Where(operation => operation.data != null).ToList();

generator/ServiceModels/_sdk-versions.json

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11

22
{
33
"NewServiceVersion" : "4.0.0.0",
4-
"ProductVersion" : "4.0.167.0",
4+
"ProductVersion" : "4.0.169.0",
55
"CoreVersion" : "4.0.3.8",
66
"OverrideCoreVersion" : "4.0",
77
"DefaultToPreview" : false,
@@ -300,7 +300,7 @@
300300
"InPreview" : false
301301
},
302302
"S3" : {
303-
"Version" : "4.0.17.0",
303+
"Version" : "4.0.17.1",
304304
"AssemblyVersionOverride" : "4.0",
305305
"Dependencies" : {
306306
"Core" : "4.0.3.8"
@@ -900,7 +900,7 @@
900900
"InPreview" : false
901901
},
902902
"SageMaker" : {
903-
"Version" : "4.0.39.2",
903+
"Version" : "4.0.40.0",
904904
"AssemblyVersionOverride" : "4.0",
905905
"Dependencies" : {
906906
"Core" : "4.0.3.8"
@@ -2676,15 +2676,15 @@
26762676
"InPreview" : false
26772677
},
26782678
"Bedrock" : {
2679-
"Version" : "4.0.18.3",
2679+
"Version" : "4.0.19.0",
26802680
"AssemblyVersionOverride" : "4.0",
26812681
"Dependencies" : {
26822682
"Core" : "4.0.3.8"
26832683
},
26842684
"InPreview" : false
26852685
},
26862686
"DataZone" : {
2687-
"Version" : "4.0.17.5",
2687+
"Version" : "4.0.18.0",
26882688
"AssemblyVersionOverride" : "4.0",
26892689
"Dependencies" : {
26902690
"Core" : "4.0.3.8"
@@ -3028,7 +3028,7 @@
30283028
"InPreview" : false
30293029
},
30303030
"Billing" : {
3031-
"Version" : "4.0.5.6",
3031+
"Version" : "4.0.6.0",
30323032
"AssemblyVersionOverride" : "4.0",
30333033
"Dependencies" : {
30343034
"Core" : "4.0.3.8"
@@ -3148,7 +3148,7 @@
31483148
"InPreview" : false
31493149
},
31503150
"IoTManagedIntegrations" : {
3151-
"Version" : "4.0.4.10",
3151+
"Version" : "4.0.5.0",
31523152
"AssemblyVersionOverride" : "4.0",
31533153
"Dependencies" : {
31543154
"Core" : "4.0.3.8"

0 commit comments

Comments
 (0)