From ac30998fa42ba7e35cbca2ef69ebcb4c46565393 Mon Sep 17 00:00:00 2001 From: Emil Lerch Date: Thu, 29 Feb 2024 13:36:45 -0800 Subject: [PATCH] make arn_namespace, cloudformation_name, and cloudtrail_event_source optional --- src/smithy.zig | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/smithy.zig b/src/smithy.zig index 08f52ce..06b6fc5 100644 --- a/src/smithy.zig +++ b/src/smithy.zig @@ -117,9 +117,9 @@ pub const TraitType = enum { pub const Trait = union(TraitType) { aws_api_service: struct { sdk_id: []const u8, - arn_namespace: []const u8, - cloudformation_name: []const u8, - cloudtrail_event_source: []const u8, + arn_namespace: ?[]const u8, + cloudformation_name: ?[]const u8, + cloudtrail_event_source: ?[]const u8, endpoint_prefix: []const u8, }, aws_auth_sigv4: struct { @@ -508,9 +508,9 @@ fn getTrait(trait_type: []const u8, value: std.json.Value) SmithyParseError!?Tra return Trait{ .aws_api_service = .{ .sdk_id = value.object.get("sdkId").?.string, - .arn_namespace = value.object.get("arnNamespace").?.string, - .cloudformation_name = value.object.get("cloudFormationName").?.string, - .cloudtrail_event_source = value.object.get("cloudTrailEventSource").?.string, + .arn_namespace = if (value.object.get("arnNamespace")) |a| a.string else null, + .cloudformation_name = if (value.object.get("cloudFormationName")) |n| n.string else null, + .cloudtrail_event_source = if (value.object.get("cloudTrailEventSource")) |s| s.string else null, // what good is a service without an endpoint? I don't know - ask amp .endpoint_prefix = if (value.object.get("endpointPrefix")) |endpoint| endpoint.string else "", },