SaltStack Exchange ================== SaltStack Exchange /api/exchange-users/ -------------------- A filter backend that uses django-filter. Supported actions and methods: .. topic:: ``/api/exchange-users/`` Methods: ``GET``, ``POST`` Supported fields for creation: * **tenant** -- ``link to /api/exchange-tenants//`` * **mailbox_size** -- ``integer`` (Maximum storage size of all tenant mailboxes together, MB) * **name** -- ``string`` * **first_name** -- ``string`` * **last_name** -- ``string`` * **username** -- ``string`` * office -- ``string`` * phone -- ``string`` * department -- ``string`` * company -- ``string`` * title -- ``string`` * manager -- ``link to /api/exchange-users//`` * notify -- ``boolean`` * send_on_behalf_members -- ``list of [link to /api/exchange-users//]`` * send_as_members -- ``list of [link to /api/exchange-users//]`` 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`` .. topic:: ``/api/exchange-users//`` Methods: ``GET``, ``PUT``, ``PATCH``, ``DELETE`` Supported fields for update: * **mailbox_size** -- ``integer`` (Maximum storage size of all tenant mailboxes together, MB) * **name** -- ``string`` * **first_name** -- ``string`` * **last_name** -- ``string`` * **username** -- ``string`` * office -- ``string`` * phone -- ``string`` * department -- ``string`` * company -- ``string`` * title -- ``string`` * manager -- ``link to /api/exchange-users//`` * send_on_behalf_members -- ``list of [link to /api/exchange-users//]`` * send_as_members -- ``list of [link to /api/exchange-users//]`` .. topic:: ``/api/exchange-users//password/`` Methods: ``POST``, ``PUT`` .. topic:: ``/api/exchange-users//sendas/`` Methods: ``GET``, ``POST``, ``PUT`` .. topic:: ``/api/exchange-users//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: .. code-block:: http /api/openstack-instances/?actual_sla=90&period=2016-02 Example query parameters for sorting list of OpenStack instances: .. code-block:: http /api/openstack-instances/?o=actual_sla&period=2016-02 Monitoring filter ^^^^^^^^^^^^^^^^^ Filter and order resources by monitoring item. For example, given query dictionary .. code-block:: http { 'monitoring__installation_state': True } it produces following query .. code-block:: http { 'monitoring_item__name': 'installation_state', 'monitoring_item__value': True } Example query parameters for sorting list of OpenStack instances: .. code-block:: http /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: .. topic:: ``/api/exchange-tenants/`` Methods: ``GET``, ``POST`` Supported fields for creation: * **name** -- ``string`` * description -- ``string`` * **service_project_link** -- ``link to /api/saltstack-service-project-link//`` * **domain** -- ``string`` * **mailbox_size** -- ``integer`` (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`` .. topic:: ``/api/exchange-tenants//`` Methods: ``GET``, ``PUT``, ``PATCH``, ``DELETE`` Supported fields for update: * **name** -- ``string`` * description -- ``string`` Optional `field` query parameter (can be list) allows to limit what fields are returned. For example, given request /api/openstack-instances//?field=uuid&field=name you get response like this: .. code-block:: javascript { "uuid": "90bcfe38b0124c9bbdadd617b5d739f5", "name": "Azure Virtual Machine" } .. topic:: ``/api/exchange-tenants//change_quotas/`` Methods: ``POST``, ``PUT`` .. topic:: ``/api/exchange-tenants//domain/`` Methods: ``GET``, ``POST``, ``PUT`` .. topic:: ``/api/exchange-tenants//unlink/`` Methods: ``POST`` .. topic:: ``/api/exchange-tenants//users/`` Methods: ``GET``, ``POST``, ``PUT`` /api/exchange-groups/ --------------------- A filter backend that uses django-filter. Supported actions and methods: .. topic:: ``/api/exchange-groups/`` Methods: ``GET``, ``POST`` Supported fields for creation: * **tenant** -- ``link to /api/exchange-tenants//`` * **manager** -- ``link to /api/exchange-users//`` * **name** -- ``string`` * **username** -- ``string`` * senders_out -- ``boolean`` (Delivery management for senders outside organizational unit) * members -- ``list of [link to /api/exchange-users//]`` Filter fields: * ?username = ``string`` * ?name = ``string`` * ?tenant_domain = ``string`` * ?tenant_uuid = ``UUIDFilter`` .. topic:: ``/api/exchange-groups//`` Methods: ``GET``, ``PUT``, ``PATCH``, ``DELETE`` Supported fields for update: * **manager** -- ``link to /api/exchange-users//`` * **name** -- ``string`` * **username** -- ``string`` * senders_out -- ``boolean`` (Delivery management for senders outside organizational unit) * members -- ``list of [link to /api/exchange-users//]`` .. topic:: ``/api/exchange-groups//delivery_members/`` Methods: ``GET``, ``POST``, ``PUT`` .. topic:: ``/api/exchange-groups//members/`` Methods: ``GET`` /api/exchange-contacts/ ----------------------- A filter backend that uses django-filter. Supported actions and methods: .. topic:: ``/api/exchange-contacts/`` Methods: ``GET``, ``POST`` Supported fields for creation: * **tenant** -- ``link to /api/exchange-tenants//`` * **name** -- ``string`` * **email** -- ``email`` * **first_name** -- ``string`` * **last_name** -- ``string`` Filter fields: * ?first_name = ``string`` * ?last_name = ``string`` * ?tenant_uuid = ``UUIDFilter`` * ?name = ``string`` * ?email = ``string`` .. topic:: ``/api/exchange-contacts//`` Methods: ``GET``, ``PUT``, ``PATCH``, ``DELETE`` Supported fields for update: * **name** -- ``string`` * **email** -- ``email`` * **first_name** -- ``string`` * **last_name** -- ``string`` /api/exchange-conference-rooms/ ------------------------------- A filter backend that uses django-filter. Supported actions and methods: .. topic:: ``/api/exchange-conference-rooms/`` Methods: ``GET``, ``POST`` Supported fields for creation: * **tenant** -- ``link to /api/exchange-tenants//`` * **mailbox_size** -- ``integer`` (Maximum storage size of all tenant mailboxes together, MB) * **name** -- ``string`` * **username** -- ``string`` * location -- ``string`` * phone -- ``string`` Filter fields: * ?username = ``string`` * ?name = ``string`` * ?phone = ``string`` * ?location = ``string`` * ?tenant_domain = ``string`` * ?tenant_uuid = ``UUIDFilter`` .. topic:: ``/api/exchange-conference-rooms//`` Methods: ``GET``, ``PUT``, ``PATCH``, ``DELETE`` Supported fields for update: * **mailbox_size** -- ``integer`` (Maximum storage size of all tenant mailboxes together, MB) * **name** -- ``string`` * **username** -- ``string`` * location -- ``string`` * phone -- ``string``