def get_listing_operations()

in aws_resource_scan.py [0:0]


def get_listing_operations(service, region=None, selected_operations=()):
  """Return a list of API calls.

  Return a list of API calls which (probably) list
  resources created by the user
  in the given service (in contrast to AWS-managed or default resources).

  Args:
    service: aws service name.
    region: aws region name.
    selected_operations: service operations.

  Returns:
    list of operations.
  """
  client = get_client(service, region)
  operations = []

  for operation in sorted(client.meta.service_model.operation_names):
    if not any(operation.startswith(prefix) for prefix in verbs_listings):
      continue
    op_model = client.meta.service_model.operation_model(operation)
    required_members = (op_model.input_shape.required_members
                        if op_model.input_shape else [])
    required_members = [m for m in required_members if m != 'MaxResults']
    if required_members:
      continue

    if operation in reference_aws.PARAMETERS_REQUIRED.get(service, []):
      continue
    if operation in reference_aws.AWS_RESOURCE_QUERIES.get(service, []):
      continue
    if operation in reference_aws.NOT_RESOURCE_DESCRIPTIONS.get(service, []):
      continue
    if operation in reference_aws.DEPRECATED_OR_DISALLOWED.get(service, []):
      continue

    if selected_operations and operation not in selected_operations:
      continue
    operations.append(operation)

  return operations