MCPcopy Index your code
hub / github.com/aws/aws-cli / _document_nested_structure

Method _document_nested_structure

awscli/clidocs.py:255–287  ·  view source on GitHub ↗

Recursively documents parameters in nested structures

(self, model, doc)

Source from the content-addressed store, hash-verified

253 doc.style.end_ul()
254
255 def _document_nested_structure(self, model, doc):
256 """Recursively documents parameters in nested structures"""
257 member_type_name = getattr(model, 'type_name', None)
258 if member_type_name == 'structure':
259 required_members = model.metadata.get('required', [])
260 for member_name, member_shape in model.members.items():
261 is_required = member_name in required_members
262 self._doc_member(
263 doc,
264 member_name,
265 member_shape,
266 stack=[model.name],
267 required=is_required,
268 )
269 elif member_type_name == 'list':
270 self._doc_member(
271 doc, '', model.member, stack=[model.name], required=False
272 )
273 elif member_type_name == 'map':
274 key_shape = model.key
275 key_name = key_shape.serialization.get('name', 'key')
276 self._doc_member(
277 doc, key_name, key_shape, stack=[model.name], required=False
278 )
279 value_shape = model.value
280 value_name = value_shape.serialization.get('name', 'value')
281 self._doc_member(
282 doc,
283 value_name,
284 value_shape,
285 stack=[model.name],
286 required=False,
287 )
288
289 def _doc_member(
290 self, doc, member_name, member_shape, stack, required=False

Callers 1

doc_optionMethod · 0.95

Calls 1

_doc_memberMethod · 0.95

Tested by

no test coverage detected