Packages

Erlang client library for the AT&T M2X (http://m2x.att.com) API. AT&T M2X is a cloud-based fully managed time-series data storage service for network connected machine-to-machine (M2M) devices and the Internet of Things (IoT).

Current section

Files

Jump to
m2x_erlang src m2x_distribution.erl
Raw

src/m2x_distribution.erl

-module(m2x_distribution).
%% API
-export([view/2 ]).
-export([ update/3 ]).
-export([delete/2 ]).
-export([metadata/2 ]).
-export([ update_metadata/3 ]).
-export([get_metadata_field/3 ]).
-export([ set_metadata_field/4]).
-export([devices/2 ]).
-export([ create_device/3 ]).
-export([streams/2 ]).
%% @doc Get details of an existing distribution.
%% https://m2x.att.com/developer/documentation/v2/distribution#View-Distribution-Details
view(Client, Dist) -> Client({get, <<"/distributions/", Dist/binary>>}).
%% @doc Update an existing distribution's information.
%% https://m2x.att.com/developer/documentation/v2/distribution#Update-Distribution-Details
update(Client, Dist, Params) -> Client({put, <<"/distributions/", Dist/binary>>, Params}).
%% @doc Delete an existing device distribution.
%% https://m2x.att.com/developer/documentation/v2/distribution#Delete-Distribution
delete(Client, Dist) -> Client({delete, <<"/distributions/", Dist/binary>>}).
%% @doc Get the custom metadata of the specified distribution.
%% https://m2x.att.com/developer/documentation/v2/distribution#Read-Distribution-Metadata
metadata(Client, Dist) -> Client({get, <<"/distributions/", Dist/binary, "/metadata">>}).
%% @doc Update the custom metadata of the specified distribution.
%% https://m2x.att.com/developer/documentation/v2/distribution#Update-Distribution-Metadata
update_metadata(Client, Dist, Params) -> Client({put, <<"/distributions/", Dist/binary, "/metadata">>, Params}).
%% @doc Get the value of a single field of the custom metadata.
%% https://m2x.att.com/developer/documentation/v2/distribution#Read-Distribution-Metadata-Field
get_metadata_field(Client, Dist, K) -> Client({get, <<"/distributions/", Dist/binary, "/metadata/", K/binary>>}).
%% @doc Update the value of a single field of the custom metadata.
%% https://m2x.att.com/developer/documentation/v2/distribution#Update-Distribution-Metadata-Field
set_metadata_field(Client, Dist, K, V) -> Client({put, <<"/distributions/", Dist/binary, "/metadata/", K/binary>>, [{<<"value">>, V}]}).
%% @doc Retrieve list of devices added to the specified distribution.
%% https://m2x.att.com/developer/documentation/v2/distribution#List-Devices-from-an-existing-Distribution
devices(Client, Dist) -> Client({get, <<"/distributions/", Dist/binary, "/devices">>}).
%% @doc Add a new device to an existing distribution.
%% https://m2x.att.com/developer/documentation/v2/distribution#Add-Device-to-an-existing-Distribution
create_device(Client, Dist, Params) -> Client({post, <<"/distributions/", Dist/binary, "/devices">>, Params}).
%% @doc Retrieve list of data streams associated with the specified distribution.
%% https://m2x.att.com/developer/documentation/v2/distribution#List-Data-Streams
streams(Client, Dist) -> Client({get, <<"/distributions/", Dist/binary, "/streams">>}).