Skip to content

Commit cec5422

Browse files
committed
Remove omit required field check customization, update devconfig
1 parent 3e544ed commit cec5422

15 files changed

+982
-1261
lines changed

generator/.DevConfigs/40104287-a6e4-47b5-abcc-df8a1b50de48.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
"serviceName": "S3",
55
"type": "patch",
66
"changeLogMessages": [
7-
"Generate PutBucketMetricsConfiguration, GetBucketMetricsConfiguration,ListBucketMetricsConfiguration and DeleteBucketMetricsConfiguration"
7+
"Generate PutBucketMetricsConfiguration, and add check in marshallers for required query strings. If required members for query strings are not set, the SDK will throw the base service-level exception."
88
]
99
}
1010
]
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
{
2+
"core": {
3+
"updateMinimum": true,
4+
"type": "patch",
5+
"changeLogMessages": [
6+
"Add check to see if required query string parameters areany required query string parameter is not set, then the SDK will throw the generic service level exception"
7+
]
8+
}
9+
}

generator/ServiceClientGeneratorLib/Customizations.cs

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1449,7 +1449,6 @@ public class PropertyModifier
14491449
public const string SkipSetterKey = "skipSetter";
14501450
public const string InjectXmlMarshallCodeKey = "injectXmlMarshallCode";
14511451
public const string SkipXmlIsSetKey = "skipXmlIsSet";
1452-
public const string OmitRequiredFieldCheckKey = "omitRequiredFieldCheck";
14531452

14541453
private readonly string _modelPropertyName;
14551454
private readonly JsonData _modifierData;
@@ -1707,11 +1706,6 @@ public HashSet<string> InjectXmlUnmarshallCode
17071706
/// }
17081707
/// </summary>
17091708
public bool SkipContextTestExpressionUnmarshallingLogic { get { return _modifierData[SkipContextTestExpressionUnmarshallingLogicKey] != null; } }
1710-
1711-
/// <summary>
1712-
/// If this is set, the check for a required field in the marshaller will be skipped. Default is false, meaning we will generate the required field check.
1713-
/// </summary>
1714-
public bool OmitRequiredFieldCheck { get { return _modifierData[OmitRequiredFieldCheckKey] != null && _modifierData[OmitRequiredFieldCheckKey].IsBoolean ? (bool)_modifierData[OmitRequiredFieldCheckKey] : false; } }
17151709
}
17161710

17171711
#endregion

generator/ServiceClientGeneratorLib/Generators/Marshallers/BaseMarshaller.cs

Lines changed: 279 additions & 308 deletions
Large diffs are not rendered by default.

generator/ServiceClientGeneratorLib/Generators/Marshallers/BaseMarshaller.tt

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -262,19 +262,18 @@ using Amazon.Runtime.Internal.Util;
262262
// in many cases (s3 specifically, even if the member is required we do not throw a System.ArgumentException)
263263
if (member.IsRequired)
264264
{
265-
bool omitIsRequiredCheck = this.Config.ServiceModel.Customizations.TryGetPropertyModifier(member.OwningShape.Name, member.ModeledName, out var modifier) && modifier.OmitRequiredFieldCheck;
266-
if (member.Shape.IsString && !omitIsRequiredCheck)
265+
if (member.Shape.IsString)
267266
{
268267
#>
269268
if (string.IsNullOrEmpty(<#=variableName#>.<#=member.PropertyName#>))
270-
throw new System.ArgumentException("<#=member.PropertyName#> is a required property and must be set before making this call.", "<#=operation.Name#>Request.<#=member.PropertyName#>");
269+
throw new <#=this.Config.BaseException#>("Request object does not have required field <#=member.PropertyName#> set");
271270
<#+
272271
}
273-
else if (!member.Shape.IsString && !omitIsRequiredCheck)
272+
else
274273
{
275274
#>
276275
if (<#=variableName#>.<#=member.PropertyName#> == null)
277-
throw new System.ArgumentException("<#=member.PropertyName#> is a required property and must be set before making this call.", "<#=operation.Name#>Request.<#=member.PropertyName#>");
276+
throw new <#=this.Config.BaseException#>("Request object does not have required field <#=member.PropertyName#> set");
278277
<#+
279278
}
280279
}

0 commit comments

Comments
 (0)