def get_resource_public_methods( resource_class: Type[Boto3ServiceResource], ) -> Dict[str, FunctionType]: """ Extract public methods from boto3 sub resource. Arguments: resource_class -- boto3 resource meta. Returns: A dictionary of method name and method. """ class_members = inspect.getmembers(resource_class) methods: Dict[str, FunctionType] = {} for name, member in class_members: if name.startswith("_"): continue if name[0].isupper(): continue if not is_resource_action(member): continue methods[name] = member return methods
def get_resource_public_actions(resource_class): resource_class_members = inspect.getmembers(resource_class) resource_methods = {} for name, member in resource_class_members: if not name.startswith('_'): if not name[0].isupper(): if is_resource_action(member): resource_methods[name] = member return resource_methods