MCPcopy Create free account
hub / github.com/aws/aws-cli / StructureShape

Class StructureShape

awscli/botocore/model.py:220–259  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

218
219
220class StructureShape(Shape):
221 @CachedProperty
222 def members(self):
223 members = self._shape_model.get('members', self.MAP_TYPE())
224 # The members dict looks like:
225 # 'members': {
226 # 'MemberName': {'shape': 'shapeName'},
227 # 'MemberName2': {'shape': 'shapeName'},
228 # }
229 # We return a dict of member name to Shape object.
230 shape_members = self.MAP_TYPE()
231 for name, shape_ref in members.items():
232 shape_members[name] = self._resolve_shape_ref(shape_ref)
233 return shape_members
234
235 @CachedProperty
236 def event_stream_name(self):
237 for member_name, member in self.members.items():
238 if member.serialization.get('eventstream'):
239 return member_name
240 return None
241
242 @CachedProperty
243 def error_code(self):
244 if not self.metadata.get('exception', False):
245 return None
246 error_metadata = self.metadata.get("error", {})
247 code = error_metadata.get("code")
248 if code:
249 return code
250 # Use the exception name if there is no explicit code modeled
251 return self.name
252
253 @CachedProperty
254 def is_document_type(self):
255 return self.metadata.get('document', False)
256
257 @CachedProperty
258 def is_tagged_union(self):
259 return self.metadata.get('union', False)
260
261
262class ListShape(Shape):

Calls

no outgoing calls