internal static void MapRule()

in src/PSRule.Rules.Azure/Data/Policy/PolicyJsonRuleMapper.cs [35:76]


        internal static void MapRule(JsonWriter writer, JsonSerializer serializer, PolicyDefinition definition)
        {
            writer.WriteStartObject();

            // Synopsis
            writer.WriteComment(string.Concat(SYNOPSIS_COMMENT, definition.Synopsis));

            // Api Version
            writer.WritePropertyName(PROPERTY_APIVERSION);
            writer.WriteValue(APIVERSION_VALUE);

            // Kind
            writer.WritePropertyName(PROPERTY_KIND);
            writer.WriteValue(KIND_VALUE);

            // Metadata
            writer.WritePropertyName(PROPERTY_METADATA);
            writer.WriteStartObject();
            writer.WritePropertyName(PROPERTY_NAME);
            writer.WriteValue(definition.Name);
            if (definition.DisplayName != null)
            {
                writer.WritePropertyName(PROPERTY_DISPLAYNAME);
                writer.WriteValue(definition.DisplayName);
            }
            WriteTags(writer, definition);
            WriteAnnotations(writer, definition);
            writer.WriteEndObject();

            // Spec
            writer.WritePropertyName(PROPERTY_SPEC);
            writer.WriteStartObject();
            writer.WritePropertyName(PROPERTY_RECOMMEND);
            writer.WriteValue(definition.Recommendation);
            WriteType(writer, serializer, definition);
            WriteWith(writer, serializer, definition);
            WriteWhere(writer, serializer, definition);
            WriteCondition(writer, serializer, definition);
            writer.WriteEndObject();

            writer.WriteEndObject();
        }