Source code for m2x.v2.distributions

from m2x.v2.resource import Resource
from m2x.v2.metadata import Metadata
from m2x.v2.devices import Device

class DistributionDevice(Device):
    COLLECTION_PATH = 'distributions/{distribution_id}/devices'

    @classmethod
    def create(cls, api, distribution_id, **attrs):
        return super(cls, cls).create(
            api,
            path=cls.collection_path(distribution_id=distribution_id),
            **attrs
        )

[docs]class Distribution(Resource, Metadata): """ Wrapper for AT&T M2X `Distribution API <https://m2x.att.com/developer/documentation/v2/distribution>`_ """ COLLECTION_PATH = 'distributions' ITEM_PATH = 'distributions/{id}' ITEMS_KEY = 'distributions'
[docs] def devices(self, **params): """ Method for `List Devices from an existing Distribution <https://m2x.att.com/developer/documentation/v2/distribution#List-Devices-from-an-existing-Distribution>`_ endpoint. :param params: Query parameters passed as keyword arguments. View M2X API Docs for listing of available parameters. :return: List of Devices associated with this Distribution as :class:`.DistributionDevice` objects :rtype: `list <https://docs.python.org/2/library/functions.html#list>`_ :raises: :class:`~requests.exceptions.HTTPError` if an error occurs when sending the HTTP request """ return DistributionDevice.list(self.api, distribution_id=self.id, **params)
[docs] def add_device(self, params): """ Method for `Add Device to an Existing Distribution <https://m2x.att.com/developer/documentation/v2/distribution#Add-Device-to-an-existing-Distribution>`_ endpoint. :param params: Query parameters passed as keyword arguments. View M2X API Docs for listing of available parameters. :return: The newly created DistributionDevice :rtype: DistributionDevice :raises: :class:`~requests.exceptions.HTTPError` if an error occurs when sending the HTTP request """ return DistributionDevice.create(self.api, distribution_id=self.id, **params)