SaltStack Exchange

SaltStack Exchange

/api/exchange-users/

A filter backend that uses django-filter. Supported actions and methods:

/api/exchange-users/

Methods: GET, POST

Supported fields for creation:

  • tenantlink to /api/exchange-tenants/<uuid>/
  • mailbox_sizeinteger (Maximum storage size of all tenant mailboxes together, MB)
  • namestring
  • first_namestring
  • last_namestring
  • usernamestring
  • office – string
  • phone – string
  • department – string
  • company – string
  • title – string
  • manager – link to /api/exchange-users/<uuid>/
  • notify – boolean
  • send_on_behalf_members – list of [link to /api/exchange-users/<uuid>/]
  • send_as_members – list of [link to /api/exchange-users/<uuid>/]

Filter fields:

  • ?username = string
  • ?first_name = string
  • ?last_name = string
  • ?name = string
  • ?email = string
  • ?tenant_uuid = UUIDFilter

Order fields: email, first_name, last_name, name, username

/api/exchange-users/<uuid>/

Methods: GET, PUT, PATCH, DELETE

Supported fields for update:

  • mailbox_sizeinteger (Maximum storage size of all tenant mailboxes together, MB)
  • namestring
  • first_namestring
  • last_namestring
  • usernamestring
  • office – string
  • phone – string
  • department – string
  • company – string
  • title – string
  • manager – link to /api/exchange-users/<uuid>/
  • send_on_behalf_members – list of [link to /api/exchange-users/<uuid>/]
  • send_as_members – list of [link to /api/exchange-users/<uuid>/]

/api/exchange-users/<uuid>/password/

Methods: POST, PUT

/api/exchange-users/<uuid>/sendas/

Methods: GET, POST, PUT

/api/exchange-users/<uuid>/sendonbehalf/

Methods: GET, POST, PUT

/api/exchange-tenants/

SLA filter

Allows to filter or sort resources by actual_sla Default period is current year and month.

Example query parameters for filtering list of OpenStack instances:

/api/openstack-instances/?actual_sla=90&period=2016-02

Example query parameters for sorting list of OpenStack instances:

/api/openstack-instances/?o=actual_sla&period=2016-02

Monitoring filter

Filter and order resources by monitoring item. For example, given query dictionary

{
    'monitoring__installation_state': True
}

it produces following query

{
    'monitoring_item__name': 'installation_state',
    'monitoring_item__value': True
}

Example query parameters for sorting list of OpenStack instances:

/api/openstack-instances/?o=monitoring__installation_state

Tags ordering. Filtering for complex tags.

Example:
?tag__license-os=centos7 - will filter objects with tag “license-os:centos7”.
Allow to define next parameters in view:
  • tags_filter_db_field - name of tags field in database. Default: tags.
  • tags_filter_request_field - name of tags in request. Default: tag.

In PostgreSQL NULL values come last with ascending sort order. In MySQL NULL values come first with ascending sort order. This filter provides unified sorting for both databases. Supported actions and methods:

/api/exchange-tenants/

Methods: GET, POST

Supported fields for creation:

  • namestring
  • description – string
  • service_project_linklink to /api/saltstack-service-project-link/<pk>/
  • domainstring
  • mailbox_sizeinteger (Maximum storage size of all tenant mailboxes together, MB)

Filter fields:

  • ?customer_native_name = string
  • ?domain = string
  • ?service_settings_name = string
  • ?service_name = string
  • ?customer_uuid = UUIDFilter
  • ?customer_abbreviation = string
  • ?tag = ModelMultipleChoiceField
  • ?customer_name = string
  • ?uuid = UUIDFilter
  • ?project_group = UUIDFilter
  • ?state = choice('Deleting', 'Deletion Scheduled', 'Erred', 'Offline', 'Online', 'Provisioning', 'Provisioning Scheduled', 'Resizing', 'Resizing Scheduled', 'Restarting', 'Restarting Scheduled', 'Starting', 'Starting Scheduled', 'Stopping', 'Stopping Scheduled')
  • ?rtag = ModelMultipleChoiceField
  • ?project_name = string
  • ?description = string
  • ?service_uuid = UUIDFilter
  • ?service_settings_uuid = UUIDFilter
  • ?customer = UUIDFilter
  • ?name = string
  • ?project_uuid = UUIDFilter
  • ?project = UUIDFilter
  • ?project_group_uuid = UUIDFilter
  • ?project_group_name = string

Order fields: created, customer_abbreviation, customer_name, customer_native_name, domain, name, project_group_name, project_name, state

/api/exchange-tenants/<uuid>/

Methods: GET, PUT, PATCH, DELETE

Supported fields for update:

  • namestring
  • description – string

Optional field query parameter (can be list) allows to limit what fields are returned. For example, given request /api/openstack-instances/<uuid>/?field=uuid&field=name you get response like this:

{
    "uuid": "90bcfe38b0124c9bbdadd617b5d739f5",
    "name": "Azure Virtual Machine"
}

/api/exchange-tenants/<uuid>/change_quotas/

Methods: POST, PUT

/api/exchange-tenants/<uuid>/domain/

Methods: GET, POST, PUT

/api/exchange-tenants/<uuid>/unlink/

Methods: POST

/api/exchange-tenants/<uuid>/users/

Methods: GET, POST, PUT

/api/exchange-groups/

A filter backend that uses django-filter. Supported actions and methods:

/api/exchange-groups/

Methods: GET, POST

Supported fields for creation:

  • tenantlink to /api/exchange-tenants/<uuid>/
  • managerlink to /api/exchange-users/<uuid>/
  • namestring
  • usernamestring
  • senders_out – boolean (Delivery management for senders outside organizational unit)
  • members – list of [link to /api/exchange-users/<uuid>/]

Filter fields:

  • ?username = string
  • ?name = string
  • ?tenant_domain = string
  • ?tenant_uuid = UUIDFilter

/api/exchange-groups/<uuid>/

Methods: GET, PUT, PATCH, DELETE

Supported fields for update:

  • managerlink to /api/exchange-users/<uuid>/
  • namestring
  • usernamestring
  • senders_out – boolean (Delivery management for senders outside organizational unit)
  • members – list of [link to /api/exchange-users/<uuid>/]

/api/exchange-groups/<uuid>/delivery_members/

Methods: GET, POST, PUT

/api/exchange-groups/<uuid>/members/

Methods: GET

/api/exchange-contacts/

A filter backend that uses django-filter. Supported actions and methods:

/api/exchange-contacts/

Methods: GET, POST

Supported fields for creation:

  • tenantlink to /api/exchange-tenants/<uuid>/
  • namestring
  • emailemail
  • first_namestring
  • last_namestring

Filter fields:

  • ?first_name = string
  • ?last_name = string
  • ?tenant_uuid = UUIDFilter
  • ?name = string
  • ?email = string

/api/exchange-contacts/<uuid>/

Methods: GET, PUT, PATCH, DELETE

Supported fields for update:

  • namestring
  • emailemail
  • first_namestring
  • last_namestring

/api/exchange-conference-rooms/

A filter backend that uses django-filter. Supported actions and methods:

/api/exchange-conference-rooms/

Methods: GET, POST

Supported fields for creation:

  • tenantlink to /api/exchange-tenants/<uuid>/
  • mailbox_sizeinteger (Maximum storage size of all tenant mailboxes together, MB)
  • namestring
  • usernamestring
  • location – string
  • phone – string

Filter fields:

  • ?username = string
  • ?name = string
  • ?phone = string
  • ?location = string
  • ?tenant_domain = string
  • ?tenant_uuid = UUIDFilter

/api/exchange-conference-rooms/<uuid>/

Methods: GET, PUT, PATCH, DELETE

Supported fields for update:

  • mailbox_sizeinteger (Maximum storage size of all tenant mailboxes together, MB)
  • namestring
  • usernamestring
  • location – string
  • phone – string