##### SUMMARY
postgresql_privs module should support a type parameter option for TYPES to allow Grant/Revoke of usage permissions.

##### ISSUE TYPE
- Feature Idea

##### COMPONENT NAME
postgresql_privs

##### ADDITIONAL INFORMATION
Types is supported in for assigning default privs, but we dont have parity for the ability to modify permissions of existing TYPES objects, GRANT USAGE ON TYPE schema.obj TO role;
the special valueC(ALL_IN_SCHEMA) can be provided instead to specify all
      database objects of type I(type) in the schema specified via I(schema).
      (This also works with PostgreSQL < 9.0.) (C(ALL_IN_SCHEMA) is available
       for C(function) and C(partition table) from version 2.8)
    - If I(type) is C(database), this parameter can be omitted, in which case
      privileges are set for the database specified via I(database).
    - 'If I(type) is I(function), colons (":") in object names will be
      replaced with commas (needed to specify function signatures, see examples)'
    type: str
    aliases:
    - obj
  schema:
    description:
    - Schema that contains the database objects specified via I(objs).
    - May only be provided if I(type) is C(table), C(sequence), C(function)
      or C(default_privs). Defaults to  C(public) in these cases.
    type: str
  roles:
    description:
    - Comma separated list of role (user/group) names to set permissions for.
    - The special value C(PUBLIC) can be provided instead to set permissions
      for the implicitly defined PUBLIC group.
    type: str
    required: yes
    aliases:
    - role
  fail_on_role:
    version_added: '2.8'
    description:
    - If C(yes), fail when target role (for whom privs need to be granted) does not exist.