void IUtf8JsonSerializable.Write(Utf8JsonWriter writer)
 {
     writer.WriteStartObject();
     if (Optional.IsDefined(TemplateJson))
     {
         writer.WritePropertyName("template");
         TemplateJson.WriteTo(writer);
     }
     if (Optional.IsDefined(TemplateLink))
     {
         writer.WritePropertyName("templateLink");
         writer.WriteObjectValue(TemplateLink);
     }
     if (Optional.IsDefined(ParametersJson))
     {
         writer.WritePropertyName("parameters");
         ParametersJson.WriteTo(writer);
     }
     if (Optional.IsDefined(ParametersLink))
     {
         writer.WritePropertyName("parametersLink");
         writer.WriteObjectValue(ParametersLink);
     }
     writer.WritePropertyName("mode");
     writer.WriteStringValue(Mode.ToSerialString());
     if (Optional.IsDefined(DebugSetting))
     {
         writer.WritePropertyName("debugSetting");
         writer.WriteObjectValue(DebugSetting);
     }
     writer.WriteEndObject();
 }
 void IUtf8JsonSerializable.Write(Utf8JsonWriter writer)
 {
     writer.WriteStartObject();
     writer.WritePropertyName("template");
     TemplateJson.WriteTo(writer);
     if (TemplateLink != null)
     {
         writer.WritePropertyName("templateLink");
         writer.WriteObjectValue(TemplateLink);
     }
     writer.WritePropertyName("parameters");
     ParametersJson.WriteTo(writer);
     if (ParametersLink != null)
     {
         writer.WritePropertyName("parametersLink");
         writer.WriteObjectValue(ParametersLink);
     }
     writer.WritePropertyName("mode");
     writer.WriteStringValue(Mode.ToSerialString());
     if (DebugSetting != null)
     {
         writer.WritePropertyName("debugSetting");
         writer.WriteObjectValue(DebugSetting);
     }
     if (OnErrorDeployment != null)
     {
         writer.WritePropertyName("onErrorDeployment");
         writer.WriteObjectValue(OnErrorDeployment);
     }
     writer.WriteEndObject();
 }