99namespace Elastic . Markdown . Myst . FrontMatter ;
1010
1111[ YamlSerializable ]
12- [ Obsolete ( "Use YamlFrontMatter.Apply instead see also DeploymentMode" ) ]
12+ [ Obsolete ( "Use YamlFrontMatter.Apply instead see also DeploymentMode" ) ]
1313public record Deployment
1414{
1515 [ YamlMember ( Alias = "self" ) ]
@@ -26,7 +26,7 @@ public record Deployment
2626}
2727
2828[ YamlSerializable ]
29- [ Obsolete ( "Use YamlFrontMatter.Apply instead" ) ]
29+ [ Obsolete ( "Use YamlFrontMatter.Apply instead" ) ]
3030public record SelfManagedDeployment
3131{
3232 [ YamlMember ( Alias = "stack" ) ]
@@ -47,7 +47,7 @@ public record SelfManagedDeployment
4747}
4848
4949[ YamlSerializable ]
50- [ Obsolete ( "Use YamlFrontMatter.Apply instead" ) ]
50+ [ Obsolete ( "Use YamlFrontMatter.Apply instead" ) ]
5151public record CloudManagedDeployment
5252{
5353 [ YamlMember ( Alias = "hosted" ) ]
@@ -61,11 +61,10 @@ public record CloudManagedDeployment
6161 Hosted = Applicability . GenerallyAvailable ,
6262 Serverless = Applicability . GenerallyAvailable
6363 } ;
64-
6564}
6665
6766#pragma warning disable CS0618 // Type or member is obsolete
68- [ Obsolete ( "Use DeploymentAvailability instead" ) ]
67+ [ Obsolete ( "Use DeploymentAvailability instead" ) ]
6968public class DeploymentConverter : IYamlTypeConverter
7069{
7170 public bool Accepts ( Type type ) => type == typeof ( Deployment ) ;
@@ -79,6 +78,7 @@ public class DeploymentConverter : IYamlTypeConverter
7978 if ( string . Equals ( value . Value , "all" , StringComparison . InvariantCultureIgnoreCase ) )
8079 return Deployment . All ;
8180 }
81+
8282 var deserialized = rootDeserializer . Invoke ( typeof ( Dictionary < string , string > ) ) ;
8383 if ( deserialized is not Dictionary < string , string > { Count : > 0 } dictionary )
8484 return null ;
@@ -91,6 +91,7 @@ public class DeploymentConverter : IYamlTypeConverter
9191 deployment . Cloud . Serverless = version ;
9292 deployment . Cloud . Hosted = version ;
9393 }
94+
9495 if ( TryGetAvailability ( "self" , out version ) )
9596 {
9697 deployment . SelfManaged ??= new SelfManagedDeployment ( ) ;
@@ -104,34 +105,38 @@ public class DeploymentConverter : IYamlTypeConverter
104105 deployment . SelfManaged ??= new SelfManagedDeployment ( ) ;
105106 deployment . SelfManaged . Stack = version ;
106107 }
108+
107109 if ( TryGetAvailability ( "ece" , out version ) )
108110 {
109111 deployment . SelfManaged ??= new SelfManagedDeployment ( ) ;
110112 deployment . SelfManaged . Ece = version ;
111113 }
114+
112115 if ( TryGetAvailability ( "eck" , out version ) )
113116 {
114117 deployment . SelfManaged ??= new SelfManagedDeployment ( ) ;
115118 deployment . SelfManaged . Eck = version ;
116119 }
120+
117121 if ( TryGetAvailability ( "hosted" , out version ) )
118122 {
119123 deployment . Cloud ??= new CloudManagedDeployment ( ) ;
120124 deployment . Cloud . Hosted = version ;
121125 }
126+
122127 if ( TryGetAvailability ( "serverless" , out version ) )
123128 {
124129 deployment . Cloud ??= new CloudManagedDeployment ( ) ;
125130 deployment . Cloud . Serverless = version ;
126131 }
132+
127133 return deployment ;
128134
129135 bool TryGetAvailability ( string key , out Applicability ? semVersion )
130136 {
131137 semVersion = null ;
132138 return dictionary . TryGetValue ( key , out var v ) && Applicability . TryParse ( v , out semVersion ) ;
133139 }
134-
135140 }
136141
137142 public void WriteYaml ( IEmitter emitter , object ? value , Type type , ObjectSerializer serializer ) =>
0 commit comments