@@ -24,7 +24,6 @@ def example_from_yaml(
2424 services : Dict [str , Service ],
2525 blocks : Set [str ],
2626 validation : ValidationConfig ,
27- root : Path ,
2827) -> Tuple [Example , MetadataErrors ]:
2928 errors = MetadataErrors ()
3029
@@ -39,7 +38,7 @@ def example_from_yaml(
3938 errors .append (guide_topic )
4039 guide_topic = None
4140
42- parsed_services = parse_services (yaml .get ("services" , {}), errors , services )
41+ parsed_services = parse_services (yaml .get ("services" , {}), errors )
4342 category = yaml .get ("category" , "" )
4443 if category == "" :
4544 category = "Api" if len (parsed_services ) == 1 else "Scenarios"
@@ -84,7 +83,7 @@ def example_from_yaml(
8483 else :
8584 for name in yaml_languages :
8685 language , errs = language_from_yaml (
87- name , yaml_languages [name ], sdks , services , blocks , is_action , root
86+ name , yaml_languages [name ], sdks , blocks , is_action
8887 )
8988 languages [language .name ] = language
9089 errors .extend (errs )
@@ -145,10 +144,8 @@ def language_from_yaml(
145144 name : str ,
146145 yaml : Any ,
147146 sdks : Dict [str , Sdk ],
148- services : Dict [str , Service ],
149147 blocks : Set [str ],
150148 is_action : bool ,
151- root : Path ,
152149) -> Tuple [Language , MetadataErrors ]:
153150 errors = MetadataErrors ()
154151 if name not in sdks :
@@ -164,9 +161,7 @@ def language_from_yaml(
164161
165162 versions : List [Version ] = []
166163 for version in yaml_versions :
167- vers , version_errors = version_from_yaml (
168- version , services , blocks , is_action , root
169- )
164+ vers , version_errors = version_from_yaml (version , blocks , is_action )
170165 errors .extend (version_errors )
171166 versions .append (vers )
172167
@@ -177,26 +172,21 @@ def language_from_yaml(
177172 return Language (name , property , versions ), errors
178173
179174
180- def parse_services (
181- yaml : Any , errors : MetadataErrors , known_services : Dict [str , Service ]
182- ) -> Dict [str , Set [str ]]:
175+ def parse_services (yaml : Any , errors : MetadataErrors ) -> Dict [str , Set [str ]]:
183176 if yaml is None :
184177 return {}
185178 services : Dict [str , Set [str ]] = {}
186179 for name in yaml :
187- if name not in known_services :
188- errors .append (metadata_errors .UnknownService (service = name ))
189- else :
190- service : Union [Dict [str , None ], Set [str ], None ] = yaml .get (name )
191- # While .get replaces missing with {}, `sqs: ` in yaml parses a literal `None`
192- if service is None :
193- service = set ()
194- if isinstance (service , dict ):
195- service = set (service .keys ())
196- if isinstance (service , set ):
197- # Make a copy of the set for ourselves
198- service = set (service )
199- services [name ] = set (service )
180+ service : Union [Dict [str , None ], Set [str ], None ] = yaml .get (name )
181+ # While .get replaces missing with {}, `sqs: ` in yaml parses a literal `None`
182+ if service is None :
183+ service = set ()
184+ if isinstance (service , dict ):
185+ service = set (service .keys ())
186+ if isinstance (service , set ):
187+ # Make a copy of the set for ourselves
188+ service = set (service )
189+ services [name ] = set (service )
200190 return services
201191
202192
@@ -216,10 +206,8 @@ def url_from_yaml(
216206
217207def version_from_yaml (
218208 yaml : Dict [str , Any ],
219- services : Dict [str , Service ],
220209 cross_content_blocks : Set [str ],
221210 is_action : bool ,
222- root : Path ,
223211) -> Tuple ["Version" , MetadataErrors ]:
224212 errors = MetadataErrors ()
225213
@@ -255,9 +243,11 @@ def version_from_yaml(
255243 elif url is not None :
256244 errors .append (url )
257245
258- add_services = parse_services (yaml .get ("add_services" , {}), errors , services )
259- if add_services and is_action :
260- errors .append (metadata_errors .APIExampleCannotAddService ())
246+ add_services = parse_services (yaml .get ("add_services" , {}), errors )
247+ if add_services :
248+ errors .append (
249+ metadata_errors .AddServicesHasBeenDeprecated (add_services = add_services )
250+ )
261251
262252 if block_content is not None and block_content not in cross_content_blocks :
263253 errors .append (metadata_errors .MissingCrossContent (block = block_content ))
@@ -272,7 +262,6 @@ def version_from_yaml(
272262 block_content ,
273263 excerpts ,
274264 github ,
275- add_services ,
276265 sdkguide ,
277266 more_info ,
278267 ),
0 commit comments