def delete_registry( service_account_json, project_id, cloud_region, registry_id): """Deletes the specified registry.""" print('Delete registry') client = send.get_client(service_account_json) registry_name = 'projects/{}/locations/{}/registries/{}'.format( project_id, cloud_region, registry_id) registries = client.projects().locations().registries() return registries.delete(name=registry_name).execute()
def delete_device( service_account_json, project_id, cloud_region, registry_id, device_id): """Delete the device with the given id.""" print('Delete device') client = send.get_client(service_account_json) registry_name = 'projects/{}/locations/{}/registries/{}'.format( project_id, cloud_region, registry_id) device_name = '{}/devices/{}'.format(registry_name, device_id) devices = client.projects().locations().registries().devices() return devices.delete(name=device_name).execute()
def create_registry( service_account_json, project_id, cloud_region, pubsub_topic, registry_id): """ Creates a registry and returns the result. Returns an empty result if the registry already exists.""" client = send.get_client(service_account_json) registry_parent = 'projects/{}/locations/{}'.format( project_id, cloud_region) body = { 'eventNotificationConfigs': [{ 'pubsubTopicName': pubsub_topic }], 'id': registry_id } request = client.projects().locations().registries().create( parent=registry_parent, body=body) response = request.execute() print('Created registry') return response
def create_device( service_account_json, project_id, cloud_region, registry_id, device_id, certificate_file): """Create a new device without authentication.""" registry_name = 'projects/{}/locations/{}/registries/{}'.format( project_id, cloud_region, registry_id) with io.open(certificate_file) as f: certificate = f.read() client = send.get_client(service_account_json) device_template = { 'id': device_id, 'credentials': [{ 'publicKey': { 'format': 'RSA_X509_PEM', 'key': certificate } }] } devices = client.projects().locations().registries().devices() return devices.create(parent=registry_name, body=device_template).execute()