@Override
        public Trait createTrait(ShapeId target, Node value) {
            ObjectNode objectNode = value.expectObjectNode();
            Builder builder = builder().sourceLocation(value);
            builder.template(objectNode.expectStringMember(TEMPLATE).getValue());
            builder.absolute(objectNode.getBooleanMemberOrDefault(ABSOLUTE));
            builder.noRegion(objectNode.getBooleanMemberOrDefault(NO_REGION));
            builder.noAccount(objectNode.getBooleanMemberOrDefault(NO_ACCOUNT));
            objectNode.getStringMember(RESOURCE_DELIMITER, builder::resourceDelimiter);
            builder.reusable(objectNode.getBooleanMemberOrDefault(REUSABLE));
            ArnTrait result = builder.build();
            result.setNodeCache(value);
            return result;
        }
Configures the ARN template of a resource shape, relative to the
service to which a resource is bound.
smithy-aws-traits/src/main/java/software/amazon/smithy/aws/traits/ArnTrait.java