Class DeviceManagerClient (2.8.0)

DeviceManagerClient(*, credentials: Optional[google.auth.credentials.Credentials] = None, transport: Optional[Union[str, google.cloud.iot_v1.services.device_manager.transports.base.DeviceManagerTransport]] = None, client_options: Optional[Union[google.api_core.client_options.ClientOptions, dict]] = None, client_info: google.api_core.gapic_v1.client_info.ClientInfo = <google.api_core.gapic_v1.client_info.ClientInfo object>)

Internet of Things (IoT) service. Securely connect and manage IoT devices.

Properties

transport

Returns the transport used by the client instance.

Returns
TypeDescription
DeviceManagerTransportThe transport used by the client instance.

Methods

DeviceManagerClient

DeviceManagerClient(*, credentials: Optional[google.auth.credentials.Credentials] = None, transport: Optional[Union[str, google.cloud.iot_v1.services.device_manager.transports.base.DeviceManagerTransport]] = None, client_options: Optional[Union[google.api_core.client_options.ClientOptions, dict]] = None, client_info: google.api_core.gapic_v1.client_info.ClientInfo = <google.api_core.gapic_v1.client_info.ClientInfo object>)

Instantiates the device manager client.

Parameters
NameDescription
credentials Optional[google.auth.credentials.Credentials]

The authorization credentials to attach to requests. These credentials identify the application to the service; if none are specified, the client will attempt to ascertain the credentials from the environment.

transport Union[str, DeviceManagerTransport]

The transport to use. If set to None, a transport is chosen automatically.

client_options Optional[Union[google.api_core.client_options.ClientOptions, dict]]

Custom options for the client. It won't take effect if a transport instance is provided. (1) The api_endpoint property can be used to override the default endpoint provided by the client. GOOGLE_API_USE_MTLS_ENDPOINT environment variable can also be used to override the endpoint: "always" (always use the default mTLS endpoint), "never" (always use the default regular endpoint) and "auto" (auto switch to the default mTLS endpoint if client certificate is present, this is the default value). However, the api_endpoint property takes precedence if provided. (2) If GOOGLE_API_USE_CLIENT_CERTIFICATE environment variable is "true", then the client_cert_source property can be used to provide client certificate for mutual TLS transport. If not provided, the default SSL client certificate will be used if present. If GOOGLE_API_USE_CLIENT_CERTIFICATE is "false" or not set, no client certificate will be used.

client_info google.api_core.gapic_v1.client_info.ClientInfo

The client info used to send a user-agent string along with API requests. If None, then default info will be used. Generally, you only need to set this if you're developing your own client library.

Exceptions
TypeDescription
google.auth.exceptions.MutualTLSChannelErrorIf mutual TLS transport creation failed for any reason.

__exit__

__exit__(type, value, traceback)

Releases underlying transport's resources.

bind_device_to_gateway

bind_device_to_gateway(request: Optional[Union[google.cloud.iot_v1.types.device_manager.BindDeviceToGatewayRequest, dict]] = None, *, parent: Optional[str] = None, gateway_id: Optional[str] = None, device_id: Optional[str] = None, retry: Union[google.api_core.retry.Retry, google.api_core.gapic_v1.method._MethodDefault] = <_MethodDefault._DEFAULT_VALUE: <object object>>, timeout: Union[float, object] = <_MethodDefault._DEFAULT_VALUE: <object object>>, metadata: Sequence[Tuple[str, str]] = ())

Associates the device with the gateway.

# This snippet has been automatically generated and should be regarded as a
# code template only.
# It will require modifications to work:
# - It may require correct/in-range values for request initialization.
# - It may require specifying regional endpoints when creating the service
#   client as shown in:
#   https://googleapis.dev/python/google-api-core/latest/client_options.html
from google.cloud import iot_v1

def sample_bind_device_to_gateway():
    # Create a client
    client = iot_v1.DeviceManagerClient()

    # Initialize request argument(s)
    request = iot_v1.BindDeviceToGatewayRequest(
        parent="parent_value",
        gateway_id="gateway_id_value",
        device_id="device_id_value",
    )

    # Make the request
    response = client.bind_device_to_gateway(request=request)

    # Handle the response
    print(response)
Parameters
NameDescription
request Union[google.cloud.iot_v1.types.BindDeviceToGatewayRequest, dict]

The request object. Request for BindDeviceToGateway.

parent str

Required. The name of the registry. For example, projects/example-project/locations/us-central1/registries/my-registry. This corresponds to the parent field on the request instance; if request is provided, this should not be set.

gateway_id str

Required. The value of gateway_id can be either the device numeric ID or the user-defined device identifier. This corresponds to the gateway_id field on the request instance; if request is provided, this should not be set.

device_id str

Required. The device to associate with the specified gateway. The value of device_id can be either the device numeric ID or the user-defined device identifier. This corresponds to the device_id field on the request instance; if request is provided, this should not be set.

retry google.api_core.retry.Retry

Designation of what errors, if any, should be retried.

timeout float

The timeout for this request.

metadata Sequence[Tuple[str, str]]

Strings which should be sent along with the request as metadata.

Returns
TypeDescription
google.cloud.iot_v1.types.BindDeviceToGatewayResponseResponse for BindDeviceToGateway.

common_billing_account_path

common_billing_account_path(billing_account: str)

Returns a fully-qualified billing_account string.

common_folder_path

common_folder_path(folder: str)

Returns a fully-qualified folder string.

common_location_path

common_location_path(project: str, location: str)

Returns a fully-qualified location string.

common_organization_path

common_organization_path(organization: str)

Returns a fully-qualified organization string.

common_project_path

common_project_path(project: str)

Returns a fully-qualified project string.

create_device

create_device(request: Optional[Union[google.cloud.iot_v1.types.device_manager.CreateDeviceRequest, dict]] = None, *, parent: Optional[str] = None, device: Optional[google.cloud.iot_v1.types.resources.Device] = None, retry: Union[google.api_core.retry.Retry, google.api_core.gapic_v1.method._MethodDefault] = <_MethodDefault._DEFAULT_VALUE: <object object>>, timeout: Union[float, object] = <_MethodDefault._DEFAULT_VALUE: <object object>>, metadata: Sequence[Tuple[str, str]] = ())

Creates a device in a device registry.

# This snippet has been automatically generated and should be regarded as a
# code template only.
# It will require modifications to work:
# - It may require correct/in-range values for request initialization.
# - It may require specifying regional endpoints when creating the service
#   client as shown in:
#   https://googleapis.dev/python/google-api-core/latest/client_options.html
from google.cloud import iot_v1

def sample_create_device():
    # Create a client
    client = iot_v1.DeviceManagerClient()

    # Initialize request argument(s)
    request = iot_v1.CreateDeviceRequest(
        parent="parent_value",
    )

    # Make the request
    response = client.create_device(request=request)

    # Handle the response
    print(response)
Parameters
NameDescription
request Union[google.cloud.iot_v1.types.CreateDeviceRequest, dict]

The request object. Request for CreateDevice.

parent str

Required. The name of the device registry where this device should be created. For example, projects/example-project/locations/us-central1/registries/my-registry. This corresponds to the parent field on the request instance; if request is provided, this should not be set.

device google.cloud.iot_v1.types.Device

Required. The device registration details. The field name must be empty. The server generates name from the device registry id and the parent field. This corresponds to the device field on the request instance; if request is provided, this should not be set.

retry google.api_core.retry.Retry

Designation of what errors, if any, should be retried.

timeout float

The timeout for this request.

metadata Sequence[Tuple[str, str]]

Strings which should be sent along with the request as metadata.

Returns
TypeDescription
google.cloud.iot_v1.types.DeviceThe device resource.

create_device_registry

create_device_registry(request: Optional[Union[google.cloud.iot_v1.types.device_manager.CreateDeviceRegistryRequest, dict]] = None, *, parent: Optional[str] = None, device_registry: Optional[google.cloud.iot_v1.types.resources.DeviceRegistry] = None, retry: Union[google.api_core.retry.Retry, google.api_core.gapic_v1.method._MethodDefault] = <_MethodDefault._DEFAULT_VALUE: <object object>>, timeout: Union[float, object] = <_MethodDefault._DEFAULT_VALUE: <object object>>, metadata: Sequence[Tuple[str, str]] = ())

Creates a device registry that contains devices.

# This snippet has been automatically generated and should be regarded as a
# code template only.
# It will require modifications to work:
# - It may require correct/in-range values for request initialization.
# - It may require specifying regional endpoints when creating the service
#   client as shown in:
#   https://googleapis.dev/python/google-api-core/latest/client_options.html
from google.cloud import iot_v1

def sample_create_device_registry():
    # Create a client
    client = iot_v1.DeviceManagerClient()

    # Initialize request argument(s)
    request = iot_v1.CreateDeviceRegistryRequest(
        parent="parent_value",
    )

    # Make the request
    response = client.create_device_registry(request=request)

    # Handle the response
    print(response)
Parameters
NameDescription
request Union[google.cloud.iot_v1.types.CreateDeviceRegistryRequest, dict]

The request object. Request for CreateDeviceRegistry.

parent str

Required. The project and cloud region where this device registry must be created. For example, projects/example-project/locations/us-central1. This corresponds to the parent field on the request instance; if request is provided, this should not be set.

device_registry google.cloud.iot_v1.types.DeviceRegistry

Required. The device registry. The field name must be empty. The server will generate that field from the device registry id provided and the parent field. This corresponds to the device_registry field on the request instance; if request is provided, this should not be set.

retry google.api_core.retry.Retry

Designation of what errors, if any, should be retried.

timeout float

The timeout for this request.

metadata Sequence[Tuple[str, str]]

Strings which should be sent along with the request as metadata.

Returns
TypeDescription
google.cloud.iot_v1.types.DeviceRegistryA container for a group of devices.

delete_device

delete_device(request: Optional[Union[google.cloud.iot_v1.types.device_manager.DeleteDeviceRequest, dict]] = None, *, name: Optional[str] = None, retry: Union[google.api_core.retry.Retry, google.api_core.gapic_v1.method._MethodDefault] = <_MethodDefault._DEFAULT_VALUE: <object object>>, timeout: Union[float, object] = <_MethodDefault._DEFAULT_VALUE: <object object>>, metadata: Sequence[Tuple[str, str]] = ())

Deletes a device.

# This snippet has been automatically generated and should be regarded as a
# code template only.
# It will require modifications to work:
# - It may require correct/in-range values for request initialization.
# - It may require specifying regional endpoints when creating the service
#   client as shown in:
#   https://googleapis.dev/python/google-api-core/latest/client_options.html
from google.cloud import iot_v1

def sample_delete_device():
    # Create a client
    client = iot_v1.DeviceManagerClient()

    # Initialize request argument(s)
    request = iot_v1.DeleteDeviceRequest(
        name="name_value",
    )

    # Make the request
    client.delete_device(request=request)
Parameters
NameDescription
request Union[google.cloud.iot_v1.types.DeleteDeviceRequest, dict]

The request object. Request for DeleteDevice.

name str

Required. The name of the device. For example, projects/p0/locations/us-central1/registries/registry0/devices/device0 or projects/p0/locations/us-central1/registries/registry0/devices/{num_id}. This corresponds to the name field on the request instance; if request is provided, this should not be set.

retry google.api_core.retry.Retry

Designation of what errors, if any, should be retried.

timeout float

The timeout for this request.

metadata Sequence[Tuple[str, str]]

Strings which should be sent along with the request as metadata.

delete_device_registry

delete_device_registry(request: Optional[Union[google.cloud.iot_v1.types.device_manager.DeleteDeviceRegistryRequest, dict]] = None, *, name: Optional[str] = None, retry: Union[google.api_core.retry.Retry, google.api_core.gapic_v1.method._MethodDefault] = <_MethodDefault._DEFAULT_VALUE: <object object>>, timeout: Union[float, object] = <_MethodDefault._DEFAULT_VALUE: <object object>>, metadata: Sequence[Tuple[str, str]] = ())

Deletes a device registry configuration.

# This snippet has been automatically generated and should be regarded as a
# code template only.
# It will require modifications to work:
# - It may require correct/in-range values for request initialization.
# - It may require specifying regional endpoints when creating the service
#   client as shown in:
#   https://googleapis.dev/python/google-api-core/latest/client_options.html
from google.cloud import iot_v1

def sample_delete_device_registry():
    # Create a client
    client = iot_v1.DeviceManagerClient()

    # Initialize request argument(s)
    request = iot_v1.DeleteDeviceRegistryRequest(
        name="name_value",
    )

    # Make the request
    client.delete_device_registry(request=request)
Parameters
NameDescription
request Union[google.cloud.iot_v1.types.DeleteDeviceRegistryRequest, dict]

The request object. Request for DeleteDeviceRegistry.

name str

Required. The name of the device registry. For example, projects/example-project/locations/us-central1/registries/my-registry. This corresponds to the name field on the request instance; if request is provided, this should not be set.

retry google.api_core.retry.Retry

Designation of what errors, if any, should be retried.

timeout float

The timeout for this request.

metadata Sequence[Tuple[str, str]]

Strings which should be sent along with the request as metadata.

device_path

device_path(project: str, location: str, registry: str, device: str)

Returns a fully-qualified device string.

from_service_account_file

from_service_account_file(filename: str, *args, **kwargs)

Creates an instance of this client using the provided credentials file.

Parameter
NameDescription
filename str

The path to the service account private key json file.

Returns
TypeDescription
DeviceManagerClientThe constructed client.

from_service_account_info

from_service_account_info(info: dict, *args, **kwargs)

Creates an instance of this client using the provided credentials info.

Parameter
NameDescription
info dict

The service account private key info.

Returns
TypeDescription
DeviceManagerClientThe constructed client.

from_service_account_json

from_service_account_json(filename: str, *args, **kwargs)

Creates an instance of this client using the provided credentials file.

Parameter
NameDescription
filename str

The path to the service account private key json file.

Returns
TypeDescription
DeviceManagerClientThe constructed client.

get_device

get_device(request: Optional[Union[google.cloud.iot_v1.types.device_manager.GetDeviceRequest, dict]] = None, *, name: Optional[str] = None, retry: Union[google.api_core.retry.Retry, google.api_core.gapic_v1.method._MethodDefault] = <_MethodDefault._DEFAULT_VALUE: <object object>>, timeout: Union[float, object] = <_MethodDefault._DEFAULT_VALUE: <object object>>, metadata: Sequence[Tuple[str, str]] = ())

Gets details about a device.

# This snippet has been automatically generated and should be regarded as a
# code template only.
# It will require modifications to work:
# - It may require correct/in-range values for request initialization.
# - It may require specifying regional endpoints when creating the service
#   client as shown in:
#   https://googleapis.dev/python/google-api-core/latest/client_options.html
from google.cloud import iot_v1

def sample_get_device():
    # Create a client
    client = iot_v1.DeviceManagerClient()

    # Initialize request argument(s)
    request = iot_v1.GetDeviceRequest(
        name="name_value",
    )

    # Make the request
    response = client.get_device(request=request)

    # Handle the response
    print(response)
Parameters
NameDescription
request Union[google.cloud.iot_v1.types.GetDeviceRequest, dict]

The request object. Request for GetDevice.

name str

Required. The name of the device. For example, projects/p0/locations/us-central1/registries/registry0/devices/device0 or projects/p0/locations/us-central1/registries/registry0/devices/{num_id}. This corresponds to the name field on the request instance; if request is provided, this should not be set.

retry google.api_core.retry.Retry

Designation of what errors, if any, should be retried.

timeout float

The timeout for this request.

metadata Sequence[Tuple[str, str]]

Strings which should be sent along with the request as metadata.

Returns
TypeDescription
google.cloud.iot_v1.types.DeviceThe device resource.

get_device_registry

get_device_registry(request: Optional[Union[google.cloud.iot_v1.types.device_manager.GetDeviceRegistryRequest, dict]] = None, *, name: Optional[str] = None, retry: Union[google.api_core.retry.Retry, google.api_core.gapic_v1.method._MethodDefault] = <_MethodDefault._DEFAULT_VALUE: <object object>>, timeout: Union[float, object] = <_MethodDefault._DEFAULT_VALUE: <object object>>, metadata: Sequence[Tuple[str, str]] = ())

Gets a device registry configuration.

# This snippet has been automatically generated and should be regarded as a
# code template only.
# It will require modifications to work:
# - It may require correct/in-range values for request initialization.
# - It may require specifying regional endpoints when creating the service
#   client as shown in:
#   https://googleapis.dev/python/google-api-core/latest/client_options.html
from google.cloud import iot_v1

def sample_get_device_registry():
    # Create a client
    client = iot_v1.DeviceManagerClient()

    # Initialize request argument(s)
    request = iot_v1.GetDeviceRegistryRequest(
        name="name_value",
    )

    # Make the request
    response = client.get_device_registry(request=request)

    # Handle the response
    print(response)
Parameters
NameDescription
request Union[google.cloud.iot_v1.types.GetDeviceRegistryRequest, dict]

The request object. Request for GetDeviceRegistry.

name str

Required. The name of the device registry. For example, projects/example-project/locations/us-central1/registries/my-registry. This corresponds to the name field on the request instance; if request is provided, this should not be set.

retry google.api_core.retry.Retry

Designation of what errors, if any, should be retried.

timeout float

The timeout for this request.

metadata Sequence[Tuple[str, str]]

Strings which should be sent along with the request as metadata.

Returns
TypeDescription
google.cloud.iot_v1.types.DeviceRegistryA container for a group of devices.

get_iam_policy

get_iam_policy(request: Optional[Union[google.iam.v1.iam_policy_pb2.GetIamPolicyRequest, dict]] = None, *, resource: Optional[str] = None, retry: Union[google.api_core.retry.Retry, google.api_core.gapic_v1.method._MethodDefault] = <_MethodDefault._DEFAULT_VALUE: <object object>>, timeout: Union[float, object] = <_MethodDefault._DEFAULT_VALUE: <object object>>, metadata: Sequence[Tuple[str, str]] = ())

Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.

# This snippet has been automatically generated and should be regarded as a
# code template only.
# It will require modifications to work:
# - It may require correct/in-range values for request initialization.
# - It may require specifying regional endpoints when creating the service
#   client as shown in:
#   https://googleapis.dev/python/google-api-core/latest/client_options.html
from google.cloud import iot_v1
from google.iam.v1 import iam_policy_pb2  # type: ignore

def sample_get_iam_policy():
    # Create a client
    client = iot_v1.DeviceManagerClient()

    # Initialize request argument(s)
    request = iam_policy_pb2.GetIamPolicyRequest(
        resource="resource_value",
    )

    # Make the request
    response = client.get_iam_policy(request=request)

    # Handle the response
    print(response)
Parameters
NameDescription
request Union[google.iam.v1.iam_policy_pb2.GetIamPolicyRequest, dict]

The request object. Request message for GetIamPolicy method.

resource str

REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field. This corresponds to the resource field on the request instance; if request is provided, this should not be set.

retry google.api_core.retry.Retry

Designation of what errors, if any, should be retried.

timeout float

The timeout for this request.

metadata Sequence[Tuple[str, str]]

Strings which should be sent along with the request as metadata.

Returns
TypeDescription
google.iam.v1.policy_pb2.PolicyAn Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A Policy is a collection of bindings. A binding binds one or more members, or principals, to a single role. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A role is a named list of permissions; each role can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a binding can also specify a condition, which is a logical expression that allows access to a resource only if the expression evaluates to true. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](\ https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** { "bindings": [ { "role": "roles/resourcemanager.organizationAdmin", "members": [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "serviceAccount:my-project-id@appspot.gserviceaccount.com" ] }, { "role": "roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com" ], "condition": { "title": "expirable access", "description": "Does not grant access after Sep 2020", "expression": "request.time < timestamp('2020-10-01t00:00:00.000z')",="" }="" }="" ],="" "etag":="" "bwwwja0yfja=", " version":="" 3="" }="" **yaml="" example:**="" bindings:="" -="" members:="" -="" user:\="" mike@example.com="" -="" group:\="" admins@example.com="" -="" domain:google.com="" -="" serviceaccount:\="" my-project-id@appspot.gserviceaccount.com="" role:="" roles/resourcemanager.organizationadmin="" -="" members:="" -="" user:\="" eve@example.com="" role:="" roles/resourcemanager.organizationviewer="" condition:="" title:="" expirable="" access="" description:="" does="" not="" grant="" access="" after="" sep="" 2020="" expression:="" request.time="">< timestamp('2020-10-01t00:00:00.000z')="" etag:="" bwwwja0yfja="version:" 3="" for="" a="" description="" of="" iam="" and="" its="" features,="" see="" the="" [iam="" documentation](\="">

get_mtls_endpoint_and_cert_source

get_mtls_endpoint_and_cert_source(
    client_options: Optional[google.api_core.client_options.ClientOptions] = None,
)

Return the API endpoint and client cert source for mutual TLS.

The client cert source is determined in the following order: (1) if GOOGLE_API_USE_CLIENT_CERTIFICATE environment variable is not "true", the client cert source is None. (2) if client_options.client_cert_source is provided, use the provided one; if the default client cert source exists, use the default one; otherwise the client cert source is None.

The API endpoint is determined in the following order: (1) if client_options.api_endpoint if provided, use the provided one. (2) if GOOGLE_API_USE_CLIENT_CERTIFICATE environment variable is "always", use the default mTLS endpoint; if the environment variable is "never", use the default API endpoint; otherwise if client cert source exists, use the default mTLS endpoint, otherwise use the default API endpoint.

More details can be found at https://google.aip.dev/auth/4114.

Parameter
NameDescription
client_options google.api_core.client_options.ClientOptions

Custom options for the client. Only the api_endpoint and client_cert_source properties may be used in this method.

Exceptions
TypeDescription
google.auth.exceptions.MutualTLSChannelErrorIf any errors happen.
Returns
TypeDescription
Tuple[str, Callable[[], Tuple[bytes, bytes]]]returns the API endpoint and the client cert source to use.

list_device_config_versions

list_device_config_versions(request: Optional[Union[google.cloud.iot_v1.types.device_manager.ListDeviceConfigVersionsRequest, dict]] = None, *, name: Optional[str] = None, retry: Union[google.api_core.retry.Retry, google.api_core.gapic_v1.method._MethodDefault] = <_MethodDefault._DEFAULT_VALUE: <object object>>, timeout: Union[float, object] = <_MethodDefault._DEFAULT_VALUE: <object object>>, metadata: Sequence[Tuple[str, str]] = ())

Lists the last few versions of the device configuration in descending order (i.e.: newest first).

# This snippet has been automatically generated and should be regarded as a
# code template only.
# It will require modifications to work:
# - It may require correct/in-range values for request initialization.
# - It may require specifying regional endpoints when creating the service
#   client as shown in:
#   https://googleapis.dev/python/google-api-core/latest/client_options.html
from google.cloud import iot_v1

def sample_list_device_config_versions():
    # Create a client
    client = iot_v1.DeviceManagerClient()

    # Initialize request argument(s)
    request = iot_v1.ListDeviceConfigVersionsRequest(
        name="name_value",
    )

    # Make the request
    response = client.list_device_config_versions(request=request)

    # Handle the response
    print(response)
Parameters
NameDescription
request Union[google.cloud.iot_v1.types.ListDeviceConfigVersionsRequest, dict]

The request object. Request for ListDeviceConfigVersions.

name str

Required. The name of the device. For example, projects/p0/locations/us-central1/registries/registry0/devices/device0 or projects/p0/locations/us-central1/registries/registry0/devices/{num_id}. This corresponds to the name field on the request instance; if request is provided, this should not be set.

retry google.api_core.retry.Retry

Designation of what errors, if any, should be retried.

timeout float

The timeout for this request.

metadata Sequence[Tuple[str, str]]

Strings which should be sent along with the request as metadata.

Returns
TypeDescription
google.cloud.iot_v1.types.ListDeviceConfigVersionsResponseResponse for ListDeviceConfigVersions.

list_device_registries

list_device_registries(request: Optional[Union[google.cloud.iot_v1.types.device_manager.ListDeviceRegistriesRequest, dict]] = None, *, parent: Optional[str] = None, retry: Union[google.api_core.retry.Retry, google.api_core.gapic_v1.method._MethodDefault] = <_MethodDefault._DEFAULT_VALUE: <object object>>, timeout: Union[float, object] = <_MethodDefault._DEFAULT_VALUE: <object object>>, metadata: Sequence[Tuple[str, str]] = ())

Lists device registries.

# This snippet has been automatically generated and should be regarded as a
# code template only.
# It will require modifications to work:
# - It may require correct/in-range values for request initialization.
# - It may require specifying regional endpoints when creating the service
#   client as shown in:
#   https://googleapis.dev/python/google-api-core/latest/client_options.html
from google.cloud import iot_v1

def sample_list_device_registries():
    # Create a client
    client = iot_v1.DeviceManagerClient()

    # Initialize request argument(s)
    request = iot_v1.ListDeviceRegistriesRequest(
        parent="parent_value",
    )

    # Make the request
    page_result = client.list_device_registries(request=request)

    # Handle the response
    for response in page_result:
        print(response)
Parameters
NameDescription
request Union[google.cloud.iot_v1.types.ListDeviceRegistriesRequest, dict]

The request object. Request for ListDeviceRegistries.

parent str

Required. The project and cloud region path. For example, projects/example-project/locations/us-central1. This corresponds to the parent field on the request instance; if request is provided, this should not be set.

retry google.api_core.retry.Retry

Designation of what errors, if any, should be retried.

timeout float

The timeout for this request.

metadata Sequence[Tuple[str, str]]

Strings which should be sent along with the request as metadata.

Returns
TypeDescription
google.cloud.iot_v1.services.device_manager.pagers.ListDeviceRegistriesPagerResponse for ListDeviceRegistries. Iterating over this object will yield results and resolve additional pages automatically.

list_device_states

list_device_states(request: Optional[Union[google.cloud.iot_v1.types.device_manager.ListDeviceStatesRequest, dict]] = None, *, name: Optional[str] = None, retry: Union[google.api_core.retry.Retry, google.api_core.gapic_v1.method._MethodDefault] = <_MethodDefault._DEFAULT_VALUE: <object object>>, timeout: Union[float, object] = <_MethodDefault._DEFAULT_VALUE: <object object>>, metadata: Sequence[Tuple[str, str]] = ())

Lists the last few versions of the device state in descending order (i.e.: newest first).

# This snippet has been automatically generated and should be regarded as a
# code template only.
# It will require modifications to work:
# - It may require correct/in-range values for request initialization.
# - It may require specifying regional endpoints when creating the service
#   client as shown in:
#   https://googleapis.dev/python/google-api-core/latest/client_options.html
from google.cloud import iot_v1

def sample_list_device_states():
    # Create a client
    client = iot_v1.DeviceManagerClient()

    # Initialize request argument(s)
    request = iot_v1.ListDeviceStatesRequest(
        name="name_value",
    )

    # Make the request
    response = client.list_device_states(request=request)

    # Handle the response
    print(response)
Parameters
NameDescription
request Union[google.cloud.iot_v1.types.ListDeviceStatesRequest, dict]

The request object. Request for ListDeviceStates.

name str

Required. The name of the device. For example, projects/p0/locations/us-central1/registries/registry0/devices/device0 or projects/p0/locations/us-central1/registries/registry0/devices/{num_id}. This corresponds to the name field on the request instance; if request is provided, this should not be set.

retry google.api_core.retry.Retry

Designation of what errors, if any, should be retried.

timeout float

The timeout for this request.

metadata Sequence[Tuple[str, str]]

Strings which should be sent along with the request as metadata.

Returns
TypeDescription
google.cloud.iot_v1.types.ListDeviceStatesResponseResponse for ListDeviceStates.

list_devices

list_devices(request: Optional[Union[google.cloud.iot_v1.types.device_manager.ListDevicesRequest, dict]] = None, *, parent: Optional[str] = None, retry: Union[google.api_core.retry.Retry, google.api_core.gapic_v1.method._MethodDefault] = <_MethodDefault._DEFAULT_VALUE: <object object>>, timeout: Union[float, object] = <_MethodDefault._DEFAULT_VALUE: <object object>>, metadata: Sequence[Tuple[str, str]] = ())

List devices in a device registry.

# This snippet has been automatically generated and should be regarded as a
# code template only.
# It will require modifications to work:
# - It may require correct/in-range values for request initialization.
# - It may require specifying regional endpoints when creating the service
#   client as shown in:
#   https://googleapis.dev/python/google-api-core/latest/client_options.html
from google.cloud import iot_v1

def sample_list_devices():
    # Create a client
    client = iot_v1.DeviceManagerClient()

    # Initialize request argument(s)
    request = iot_v1.ListDevicesRequest(
        parent="parent_value",
    )

    # Make the request
    page_result = client.list_devices(request=request)

    # Handle the response
    for response in page_result:
        print(response)
Parameters
NameDescription
request Union[google.cloud.iot_v1.types.ListDevicesRequest, dict]

The request object. Request for ListDevices.

parent str

Required. The device registry path. Required. For example, projects/my-project/locations/us-central1/registries/my-registry. This corresponds to the parent field on the request instance; if request is provided, this should not be set.

retry google.api_core.retry.Retry

Designation of what errors, if any, should be retried.

timeout float

The timeout for this request.

metadata Sequence[Tuple[str, str]]

Strings which should be sent along with the request as metadata.

Returns
TypeDescription
google.cloud.iot_v1.services.device_manager.pagers.ListDevicesPagerResponse for ListDevices. Iterating over this object will yield results and resolve additional pages automatically.

modify_cloud_to_device_config

modify_cloud_to_device_config(request: Optional[Union[google.cloud.iot_v1.types.device_manager.ModifyCloudToDeviceConfigRequest, dict]] = None, *, name: Optional[str] = None, binary_data: Optional[bytes] = None, retry: Union[google.api_core.retry.Retry, google.api_core.gapic_v1.method._MethodDefault] = <_MethodDefault._DEFAULT_VALUE: <object object>>, timeout: Union[float, object] = <_MethodDefault._DEFAULT_VALUE: <object object>>, metadata: Sequence[Tuple[str, str]] = ())

Modifies the configuration for the device, which is eventually sent from the Cloud IoT Core servers. Returns the modified configuration version and its metadata.

# This snippet has been automatically generated and should be regarded as a
# code template only.
# It will require modifications to work:
# - It may require correct/in-range values for request initialization.
# - It may require specifying regional endpoints when creating the service
#   client as shown in:
#   https://googleapis.dev/python/google-api-core/latest/client_options.html
from google.cloud import iot_v1

def sample_modify_cloud_to_device_config():
    # Create a client
    client = iot_v1.DeviceManagerClient()

    # Initialize request argument(s)
    request = iot_v1.ModifyCloudToDeviceConfigRequest(
        name="name_value",
        binary_data=b'binary_data_blob',
    )

    # Make the request
    response = client.modify_cloud_to_device_config(request=request)

    # Handle the response
    print(response)
Parameters
NameDescription
request Union[google.cloud.iot_v1.types.ModifyCloudToDeviceConfigRequest, dict]

The request object. Request for ModifyCloudToDeviceConfig.

name str

Required. The name of the device. For example, projects/p0/locations/us-central1/registries/registry0/devices/device0 or projects/p0/locations/us-central1/registries/registry0/devices/{num_id}. This corresponds to the name field on the request instance; if request is provided, this should not be set.

binary_data bytes

Required. The configuration data for the device. This corresponds to the binary_data field on the request instance; if request is provided, this should not be set.

retry google.api_core.retry.Retry

Designation of what errors, if any, should be retried.

timeout float

The timeout for this request.

metadata Sequence[Tuple[str, str]]

Strings which should be sent along with the request as metadata.

Returns
TypeDescription
google.cloud.iot_v1.types.DeviceConfigThe device configuration. Eventually delivered to devices.

parse_common_billing_account_path

parse_common_billing_account_path(path: str)

Parse a billing_account path into its component segments.

parse_common_folder_path

parse_common_folder_path(path: str)

Parse a folder path into its component segments.

parse_common_location_path

parse_common_location_path(path: str)

Parse a location path into its component segments.

parse_common_organization_path

parse_common_organization_path(path: str)

Parse a organization path into its component segments.

parse_common_project_path

parse_common_project_path(path: str)

Parse a project path into its component segments.

parse_device_path

parse_device_path(path: str)

Parses a device path into its component segments.

parse_registry_path

parse_registry_path(path: str)

Parses a registry path into its component segments.

registry_path

registry_path(project: str, location: str, registry: str)

Returns a fully-qualified registry string.

send_command_to_device

send_command_to_device(request: Optional[Union[google.cloud.iot_v1.types.device_manager.SendCommandToDeviceRequest, dict]] = None, *, name: Optional[str] = None, binary_data: Optional[bytes] = None, subfolder: Optional[str] = None, retry: Union[google.api_core.retry.Retry, google.api_core.gapic_v1.method._MethodDefault] = <_MethodDefault._DEFAULT_VALUE: <object object>>, timeout: Union[float, object] = <_MethodDefault._DEFAULT_VALUE: <object object>>, metadata: Sequence[Tuple[str, str]] = ())

Sends a command to the specified device. In order for a device to be able to receive commands, it must:

1) be connected to Cloud IoT Core using the MQTT protocol, and 2) be subscribed to the group of MQTT topics specified by /devices/{device-id}/commands/#. This subscription will receive commands at the top-level topic /devices/{device-id}/commands as well as commands for subfolders, like /devices/{device-id}/commands/subfolder. Note that subscribing to specific subfolders is not supported. If the command could not be delivered to the device, this method will return an error; in particular, if the device is not subscribed, this method will return FAILED_PRECONDITION. Otherwise, this method will return OK. If the subscription is QoS 1, at least once delivery will be guaranteed; for QoS 0, no acknowledgment will be expected from the device.

# This snippet has been automatically generated and should be regarded as a
# code template only.
# It will require modifications to work:
# - It may require correct/in-range values for request initialization.
# - It may require specifying regional endpoints when creating the service
#   client as shown in:
#   https://googleapis.dev/python/google-api-core/latest/client_options.html
from google.cloud import iot_v1

def sample_send_command_to_device():
    # Create a client
    client = iot_v1.DeviceManagerClient()

    # Initialize request argument(s)
    request = iot_v1.SendCommandToDeviceRequest(
        name="name_value",
        binary_data=b'binary_data_blob',
    )

    # Make the request
    response = client.send_command_to_device(request=request)

    # Handle the response
    print(response)
Parameters
NameDescription
request Union[google.cloud.iot_v1.types.SendCommandToDeviceRequest, dict]

The request object. Request for SendCommandToDevice.

name str

Required. The name of the device. For example, projects/p0/locations/us-central1/registries/registry0/devices/device0 or projects/p0/locations/us-central1/registries/registry0/devices/{num_id}. This corresponds to the name field on the request instance; if request is provided, this should not be set.

binary_data bytes

Required. The command data to send to the device. This corresponds to the binary_data field on the request instance; if request is provided, this should not be set.

subfolder str

Optional subfolder for the command. If empty, the command will be delivered to the /devices/{device-id}/commands topic, otherwise it will be delivered to the /devices/{device-id}/commands/{subfolder} topic. Multi-level subfolders are allowed. This field must not have more than 256 characters, and must not contain any MQTT wildcards ("+" or "#") or null characters. This corresponds to the subfolder field on the request instance; if request is provided, this should not be set.

retry google.api_core.retry.Retry

Designation of what errors, if any, should be retried.

timeout float

The timeout for this request.

metadata Sequence[Tuple[str, str]]

Strings which should be sent along with the request as metadata.

Returns
TypeDescription
google.cloud.iot_v1.types.SendCommandToDeviceResponseResponse for SendCommandToDevice.

set_iam_policy

set_iam_policy(request: Optional[Union[google.iam.v1.iam_policy_pb2.SetIamPolicyRequest, dict]] = None, *, resource: Optional[str] = None, retry: Union[google.api_core.retry.Retry, google.api_core.gapic_v1.method._MethodDefault] = <_MethodDefault._DEFAULT_VALUE: <object object>>, timeout: Union[float, object] = <_MethodDefault._DEFAULT_VALUE: <object object>>, metadata: Sequence[Tuple[str, str]] = ())

Sets the access control policy on the specified resource. Replaces any existing policy.

# This snippet has been automatically generated and should be regarded as a
# code template only.
# It will require modifications to work:
# - It may require correct/in-range values for request initialization.
# - It may require specifying regional endpoints when creating the service
#   client as shown in:
#   https://googleapis.dev/python/google-api-core/latest/client_options.html
from google.cloud import iot_v1
from google.iam.v1 import iam_policy_pb2  # type: ignore

def sample_set_iam_policy():
    # Create a client
    client = iot_v1.DeviceManagerClient()

    # Initialize request argument(s)
    request = iam_policy_pb2.SetIamPolicyRequest(
        resource="resource_value",
    )

    # Make the request
    response = client.set_iam_policy(request=request)

    # Handle the response
    print(response)
Parameters
NameDescription
request Union[google.iam.v1.iam_policy_pb2.SetIamPolicyRequest, dict]

The request object. Request message for SetIamPolicy method.

resource str

REQUIRED: The resource for which the policy is being specified. See the operation documentation for the appropriate value for this field. This corresponds to the resource field on the request instance; if request is provided, this should not be set.

retry google.api_core.retry.Retry

Designation of what errors, if any, should be retried.

timeout float

The timeout for this request.

metadata Sequence[Tuple[str, str]]

Strings which should be sent along with the request as metadata.

Returns
TypeDescription
google.iam.v1.policy_pb2.PolicyAn Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A Policy is a collection of bindings. A binding binds one or more members, or principals, to a single role. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A role is a named list of permissions; each role can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a binding can also specify a condition, which is a logical expression that allows access to a resource only if the expression evaluates to true. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](\ https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** { "bindings": [ { "role": "roles/resourcemanager.organizationAdmin", "members": [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "serviceAccount:my-project-id@appspot.gserviceaccount.com" ] }, { "role": "roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com" ], "condition": { "title": "expirable access", "description": "Does not grant access after Sep 2020", "expression": "request.time < timestamp('2020-10-01t00:00:00.000z')",="" }="" }="" ],="" "etag":="" "bwwwja0yfja=", " version":="" 3="" }="" **yaml="" example:**="" bindings:="" -="" members:="" -="" user:\="" mike@example.com="" -="" group:\="" admins@example.com="" -="" domain:google.com="" -="" serviceaccount:\="" my-project-id@appspot.gserviceaccount.com="" role:="" roles/resourcemanager.organizationadmin="" -="" members:="" -="" user:\="" eve@example.com="" role:="" roles/resourcemanager.organizationviewer="" condition:="" title:="" expirable="" access="" description:="" does="" not="" grant="" access="" after="" sep="" 2020="" expression:="" request.time="">< timestamp('2020-10-01t00:00:00.000z')="" etag:="" bwwwja0yfja="version:" 3="" for="" a="" description="" of="" iam="" and="" its="" features,="" see="" the="" [iam="" documentation](\="">

test_iam_permissions

test_iam_permissions(request: Optional[Union[google.iam.v1.iam_policy_pb2.TestIamPermissionsRequest, dict]] = None, *, resource: Optional[str] = None, permissions: Optional[MutableSequence[str]] = None, retry: Union[google.api_core.retry.Retry, google.api_core.gapic_v1.method._MethodDefault] = <_MethodDefault._DEFAULT_VALUE: <object object>>, timeout: Union[float, object] = <_MethodDefault._DEFAULT_VALUE: <object object>>, metadata: Sequence[Tuple[str, str]] = ())

Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a NOT_FOUND error.

# This snippet has been automatically generated and should be regarded as a
# code template only.
# It will require modifications to work:
# - It may require correct/in-range values for request initialization.
# - It may require specifying regional endpoints when creating the service
#   client as shown in:
#   https://googleapis.dev/python/google-api-core/latest/client_options.html
from google.cloud import iot_v1
from google.iam.v1 import iam_policy_pb2  # type: ignore

def sample_test_iam_permissions():
    # Create a client
    client = iot_v1.DeviceManagerClient()

    # Initialize request argument(s)
    request = iam_policy_pb2.TestIamPermissionsRequest(
        resource="resource_value",
        permissions=['permissions_value1', 'permissions_value2'],
    )

    # Make the request
    response = client.test_iam_permissions(request=request)

    # Handle the response
    print(response)
Parameters
NameDescription
request Union[google.iam.v1.iam_policy_pb2.TestIamPermissionsRequest, dict]

The request object. Request message for TestIamPermissions method.

resource str

REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field. This corresponds to the resource field on the request instance; if request is provided, this should not be set.

permissions MutableSequence[str]

The set of permissions to check for the resource. Permissions with wildcards (such as '' or 'storage.') are not allowed. For more information see IAM Overview https://cloud.google.com/iam/docs/overview#permissions__. This corresponds to the permissions field on the request instance; if request is provided, this should not be set.

retry google.api_core.retry.Retry

Designation of what errors, if any, should be retried.

timeout float

The timeout for this request.

metadata Sequence[Tuple[str, str]]

Strings which should be sent along with the request as metadata.

Returns
TypeDescription
google.iam.v1.iam_policy_pb2.TestIamPermissionsResponseResponse message for TestIamPermissions method.

unbind_device_from_gateway

unbind_device_from_gateway(request: Optional[Union[google.cloud.iot_v1.types.device_manager.UnbindDeviceFromGatewayRequest, dict]] = None, *, parent: Optional[str] = None, gateway_id: Optional[str] = None, device_id: Optional[str] = None, retry: Union[google.api_core.retry.Retry, google.api_core.gapic_v1.method._MethodDefault] = <_MethodDefault._DEFAULT_VALUE: <object object>>, timeout: Union[float, object] = <_MethodDefault._DEFAULT_VALUE: <object object>>, metadata: Sequence[Tuple[str, str]] = ())

Deletes the association between the device and the gateway.

# This snippet has been automatically generated and should be regarded as a
# code template only.
# It will require modifications to work:
# - It may require correct/in-range values for request initialization.
# - It may require specifying regional endpoints when creating the service
#   client as shown in:
#   https://googleapis.dev/python/google-api-core/latest/client_options.html
from google.cloud import iot_v1

def sample_unbind_device_from_gateway():
    # Create a client
    client = iot_v1.DeviceManagerClient()

    # Initialize request argument(s)
    request = iot_v1.UnbindDeviceFromGatewayRequest(
        parent="parent_value",
        gateway_id="gateway_id_value",
        device_id="device_id_value",
    )

    # Make the request
    response = client.unbind_device_from_gateway(request=request)

    # Handle the response
    print(response)
Parameters
NameDescription
request Union[google.cloud.iot_v1.types.UnbindDeviceFromGatewayRequest, dict]

The request object. Request for UnbindDeviceFromGateway.

parent str

Required. The name of the registry. For example, projects/example-project/locations/us-central1/registries/my-registry. This corresponds to the parent field on the request instance; if request is provided, this should not be set.

gateway_id str

Required. The value of gateway_id can be either the device numeric ID or the user-defined device identifier. This corresponds to the gateway_id field on the request instance; if request is provided, this should not be set.

device_id str

Required. The device to disassociate from the specified gateway. The value of device_id can be either the device numeric ID or the user-defined device identifier. This corresponds to the device_id field on the request instance; if request is provided, this should not be set.

retry google.api_core.retry.Retry

Designation of what errors, if any, should be retried.

timeout float

The timeout for this request.

metadata Sequence[Tuple[str, str]]

Strings which should be sent along with the request as metadata.

Returns
TypeDescription
google.cloud.iot_v1.types.UnbindDeviceFromGatewayResponseResponse for UnbindDeviceFromGateway.

update_device

update_device(request: Optional[Union[google.cloud.iot_v1.types.device_manager.UpdateDeviceRequest, dict]] = None, *, device: Optional[google.cloud.iot_v1.types.resources.Device] = None, update_mask: Optional[google.protobuf.field_mask_pb2.FieldMask] = None, retry: Union[google.api_core.retry.Retry, google.api_core.gapic_v1.method._MethodDefault] = <_MethodDefault._DEFAULT_VALUE: <object object>>, timeout: Union[float, object] = <_MethodDefault._DEFAULT_VALUE: <object object>>, metadata: Sequence[Tuple[str, str]] = ())

Updates a device.

# This snippet has been automatically generated and should be regarded as a
# code template only.
# It will require modifications to work:
# - It may require correct/in-range values for request initialization.
# - It may require specifying regional endpoints when creating the service
#   client as shown in:
#   https://googleapis.dev/python/google-api-core/latest/client_options.html
from google.cloud import iot_v1

def sample_update_device():
    # Create a client
    client = iot_v1.DeviceManagerClient()

    # Initialize request argument(s)
    request = iot_v1.UpdateDeviceRequest(
    )

    # Make the request
    response = client.update_device(request=request)

    # Handle the response
    print(response)
Parameters
NameDescription
request Union[google.cloud.iot_v1.types.UpdateDeviceRequest, dict]

The request object. Request for UpdateDevice.

device google.cloud.iot_v1.types.Device

Required. The new values for the device. The id and num_id fields must be empty, and the field name must specify the name path. For example, projects/p0/locations/us-central1/registries/registry0/devices/device0\ or projects/p0/locations/us-central1/registries/registry0/devices/{num_id}. This corresponds to the device field on the request instance; if request is provided, this should not be set.

update_mask google.protobuf.field_mask_pb2.FieldMask

Required. Only updates the device fields indicated by this mask. The field mask must not be empty, and it must not contain fields that are immutable or only set by the server. Mutable top-level fields: credentials, blocked, and metadata This corresponds to the update_mask field on the request instance; if request is provided, this should not be set.

retry google.api_core.retry.Retry

Designation of what errors, if any, should be retried.

timeout float

The timeout for this request.

metadata Sequence[Tuple[str, str]]

Strings which should be sent along with the request as metadata.

Returns
TypeDescription
google.cloud.iot_v1.types.DeviceThe device resource.

update_device_registry

update_device_registry(request: Optional[Union[google.cloud.iot_v1.types.device_manager.UpdateDeviceRegistryRequest, dict]] = None, *, device_registry: Optional[google.cloud.iot_v1.types.resources.DeviceRegistry] = None, update_mask: Optional[google.protobuf.field_mask_pb2.FieldMask] = None, retry: Union[google.api_core.retry.Retry, google.api_core.gapic_v1.method._MethodDefault] = <_MethodDefault._DEFAULT_VALUE: <object object>>, timeout: Union[float, object] = <_MethodDefault._DEFAULT_VALUE: <object object>>, metadata: Sequence[Tuple[str, str]] = ())

Updates a device registry configuration.

# This snippet has been automatically generated and should be regarded as a
# code template only.
# It will require modifications to work:
# - It may require correct/in-range values for request initialization.
# - It may require specifying regional endpoints when creating the service
#   client as shown in:
#   https://googleapis.dev/python/google-api-core/latest/client_options.html
from google.cloud import iot_v1

def sample_update_device_registry():
    # Create a client
    client = iot_v1.DeviceManagerClient()

    # Initialize request argument(s)
    request = iot_v1.UpdateDeviceRegistryRequest(
    )

    # Make the request
    response = client.update_device_registry(request=request)

    # Handle the response
    print(response)
Parameters
NameDescription
request Union[google.cloud.iot_v1.types.UpdateDeviceRegistryRequest, dict]

The request object. Request for UpdateDeviceRegistry.

device_registry google.cloud.iot_v1.types.DeviceRegistry

Required. The new values for the device registry. The id field must be empty, and the name field must indicate the path of the resource. For example, projects/example-project/locations/us-central1/registries/my-registry. This corresponds to the device_registry field on the request instance; if request is provided, this should not be set.

update_mask google.protobuf.field_mask_pb2.FieldMask

Required. Only updates the device_registry fields indicated by this mask. The field mask must not be empty, and it must not contain fields that are immutable or only set by the server. Mutable top-level fields: event_notification_config, http_config, mqtt_config, and state_notification_config. This corresponds to the update_mask field on the request instance; if request is provided, this should not be set.

retry google.api_core.retry.Retry

Designation of what errors, if any, should be retried.

timeout float

The timeout for this request.

metadata Sequence[Tuple[str, str]]

Strings which should be sent along with the request as metadata.

Returns
TypeDescription
google.cloud.iot_v1.types.DeviceRegistryA container for a group of devices.