Exemple #1
0
  def Run(self, args):
    client = devices.DevicesClient()

    device_ref = util.ParseDevice(
        args.id, registry=args.registry, region=args.region)

    return client.Get(device_ref)
    def Run(self, args):
        client = devices.DevicesClient()

        device_ref = util.ParseDevice(args.device,
                                      registry=args.registry,
                                      region=args.region)
        data = util.ReadConfigData(args)

        return client.ModifyConfig(device_ref, data, args.version_to_update)
Exemple #3
0
  def Run(self, args):
    client = devices.DevicesClient()

    device_ref = args.CONCEPTS.device.Parse()
    data = util.ReadConfigData(args)

    response = client.ModifyConfig(device_ref, data, args.version_to_update)
    log.UpdatedResource(device_ref.Name(), 'configuration for device')
    return response
Exemple #4
0
 def Run(self, args):
     client = devices.DevicesClient()
     device_ref = util.ParseDevice(args.device,
                                   registry=args.registry,
                                   region=args.region)
     console_io.PromptContinue(
         message='This will delete ALL CREDENTIALS for device [{}]'.format(
             device_ref.Name()),
         cancel_on_no=True)
     return client.Patch(device_ref, credentials=[])
Exemple #5
0
    def Run(self, args):
        client = devices.DevicesClient()

        device_ref = util.ParseDevice(args.id,
                                      registry=args.registry,
                                      region=args.region)

        response = client.Delete(device_ref)
        log.DeletedResource(device_ref.Name(), 'device')
        return response
  def Run(self, args):
    client = devices.DevicesClient()

    device_ref = util.ParseDevice(args.id, registry=args.registry,
                                  region=args.region)
    enabled_state = util.ParseEnableDevice(args.enable_device, client=client)

    return client.Patch(
        device_ref,
        enabled_state=enabled_state)
 def Run(self, args):
     client = devices.DevicesClient()
     device_ref = args.CONCEPTS.device.Parse()
     console_io.PromptContinue(
         message='This will delete ALL CREDENTIALS for device [{}]'.format(
             device_ref.Name()),
         cancel_on_no=True)
     response = client.Patch(device_ref, credentials=[])
     log.status.Print('Cleared all credentials for device [{}].'.format(
         device_ref.Name()))
     return response
Exemple #8
0
  def Run(self, args):
    client = devices.DevicesClient()

    device_ref = args.CONCEPTS.device.Parse()

    metadata = util.ParseMetadata(args.metadata, args.metadata_from_file,
                                  client.messages)

    device = client.Patch(device_ref, blocked=args.blocked, metadata=metadata)
    log.UpdatedResource(device_ref.Name(), 'device')
    return device
Exemple #9
0
def ParseEnableDevice(enable_device, client=None):
    if enable_device is None:
        return None
    client = client or devices.DevicesClient()
    enabled_state_enum = client.enabled_state_enum
    if enable_device is True:
        return enabled_state_enum.DEVICE_ENABLED
    elif enable_device is False:
        return enabled_state_enum.DEVICE_DISABLED
    else:
        raise ValueError('Invalid value for [enable_device].')
Exemple #10
0
    def Run(self, args):
        """Run the list command."""
        client = devices.DevicesClient()

        device_ref = args.CONCEPTS.device.Parse()

        device = client.Get(device_ref)
        for idx, credential in enumerate(device.credentials):
            serializable = resource_projector.MakeSerializable(credential)
            serializable['index'] = idx
            yield serializable
    def Run(self, args):
        client = devices.DevicesClient()

        device_ref = args.CONCEPTS.device.Parse()

        credentials = client.Get(device_ref).credentials
        try:
            return credentials[args.index]
        except IndexError:
            raise util.BadCredentialIndexError(device_ref.Name(), credentials,
                                               args.index)
Exemple #12
0
  def Run(self, args):
    client = devices.DevicesClient()

    device_ref = util.ParseDevice(args.id, registry=args.registry,
                                  region=args.region)
    blocked = util.ParseDeviceBlocked(args.blocked, args.enable_device)
    metadata = util.ParseMetadata(args.metadata, args.metadata_from_file,
                                  client.messages)

    device = client.Patch(device_ref, blocked=blocked, metadata=metadata)
    log.UpdatedResource(device_ref.Name(), 'device')
    return device
Exemple #13
0
    def Run(self, args):
        """Run the list command."""
        client = devices.DevicesClient()

        registry_ref = args.CONCEPTS.registry.Parse()

        return client.List(registry_ref,
                           device_ids=args.device_ids,
                           device_num_ids=args.device_num_ids,
                           field_mask=['blocked', 'name'],
                           limit=args.limit,
                           page_size=args.page_size)
Exemple #14
0
    def Run(self, args):
        client = devices.DevicesClient()

        device_ref = args.CONCEPTS.device.Parse()

        console_io.PromptContinue(
            'You are about to delete device: [{}]'.format(device_ref.Name()),
            throw_if_unattended=True,
            cancel_on_no=True)
        response = client.Delete(device_ref)
        log.DeletedResource(device_ref.Name(), 'device')
        return response
Exemple #15
0
    def Run(self, args):
        client = devices.DevicesClient()

        device_ref = util.ParseDevice(args.id,
                                      registry=args.registry,
                                      region=args.region)
        enabled_state = util.ParseEnableDevice(args.enable_device,
                                               client=client)

        device = client.Patch(device_ref, enabled_state=enabled_state)
        log.UpdatedResource(device_ref.Name(), 'device')
        return device
    def Run(self, args):
        client = devices.DevicesClient()

        device_ref = util.ParseDevice(args.device,
                                      registry=args.registry,
                                      region=args.region)

        credentials = client.Get(device_ref).credentials
        try:
            return credentials[args.index]
        except IndexError:
            raise util.BadCredentialIndexError(device_ref.Name(), credentials,
                                               args.index)
Exemple #17
0
    def Run(self, args):
        """Run the list command."""
        client = devices.DevicesClient()

        registry_ref = util.ParseRegistry(args.registry, args.region)

        return client.List(
            registry_ref,
            device_ids=args.device_ids,
            device_num_ids=args.device_num_ids,
            field_mask=['devices.enabled_state', 'devices.name'],
            limit=args.limit,
            page_size=args.page_size)
Exemple #18
0
    def Run(self, args):
        """Run the list command."""
        client = devices.DevicesClient()

        device_ref = util.ParseDevice(args.device,
                                      registry=args.registry,
                                      region=args.region)

        device = client.Get(device_ref)
        for idx, credential in enumerate(device.credentials):
            serializable = resource_projector.MakeSerializable(credential)
            serializable['index'] = idx
            yield serializable
    def Run(self, args):
        client = devices.DevicesClient()

        registry_ref = util.ParseRegistry(args.registry, region=args.region)
        enabled_state = util.ParseEnableDevice(args.enable_device,
                                               client=client)
        credentials = util.ParseCredentials(args.public_keys,
                                            messages=client.messages)

        return client.Create(registry_ref,
                             args.id,
                             enabled_state=enabled_state,
                             credentials=credentials)
Exemple #20
0
  def Run(self, args):
    client = devices.DevicesClient()

    device_ref = args.CONCEPTS.device.Parse()

    device = client.Get(device_ref)
    try:
      data = device.config.binaryData
    except AttributeError:
      # This shouldn't happen, as the API puts in a config for each device.
      raise util.BadDeviceError(
          'Device [{}] is missing configuration data.'.format(
              device_ref.Name()))
    return data
Exemple #21
0
    def Run(self, args):
        client = devices.DevicesClient()

        device_ref = args.CONCEPTS.device.Parse()

        metadata = util.ParseMetadata(args.metadata, args.metadata_from_file,
                                      client.messages)
        log_level = util.ParseLogLevel(
            args.log_level, client.messages.Device.LogLevelValueValuesEnum)

        device = client.Patch(device_ref,
                              blocked=args.blocked,
                              metadata=metadata,
                              log_level=log_level)
        log.UpdatedResource(device_ref.Name(), 'device')
        return device
Exemple #22
0
  def Run(self, args):
    client = devices.DevicesClient()

    device_ref = args.CONCEPTS.device.Parse()
    new_credential = util.ParseCredential(
        args.path, args.type, args.expiration_time, messages=client.messages)

    credentials = client.Get(device_ref).credentials
    if len(credentials) >= util.MAX_PUBLIC_KEY_NUM:
      raise util.InvalidPublicKeySpecificationError(
          'Cannot create a new public key credential for this device; '
          'maximum {} keys are allowed.'.format(util.MAX_PUBLIC_KEY_NUM))
    credentials.append(new_credential)
    response = client.Patch(device_ref, credentials=credentials)
    log.CreatedResource(device_ref.Name(), 'credentials for device')
    return response
Exemple #23
0
    def Run(self, args):
        client = devices.DevicesClient()

        device_ref = args.CONCEPTS.device.Parse()

        device = client.Get(device_ref)
        try:
            data = device.config.binaryData
        except AttributeError:
            # This shouldn't happen, as the API puts in a config for each device.
            raise util.BadDeviceError(
                'Device [{}] is missing configuration data.'.format(
                    device_ref.Name()))
        # Don't use --format=value(.) because we don't want the \n at the end.
        log.out.write(data)
        return data
Exemple #24
0
    def Run(self, args):
        client = devices.DevicesClient()

        device_ref = util.ParseDevice(args.device,
                                      registry=args.registry,
                                      region=args.region)

        credentials = client.Get(device_ref).credentials
        try:
            if args.expiration_time:
                credentials[args.index].expirationTime = (times.FormatDateTime(
                    args.expiration_time))
        except IndexError:
            raise util.BadCredentialIndexError(device_ref.Name(), credentials,
                                               args.index)
        return client.Patch(device_ref, credentials=credentials)
Exemple #25
0
    def Run(self, args):
        client = devices.DevicesClient()

        device_ref = args.CONCEPTS.device.Parse()

        credentials = client.Get(device_ref).credentials
        try:
            if args.expiration_time:
                credentials[args.index].expirationTime = (times.FormatDateTime(
                    args.expiration_time))
        except IndexError:
            raise util.BadCredentialIndexError(device_ref.Name(), credentials,
                                               args.index)
        response = client.Patch(device_ref, credentials=credentials)
        log.UpdatedResource(device_ref.Name(), 'credentials for device')
        return response
    def Run(self, args):
        client = devices.DevicesClient()

        device_ref = util.ParseDevice(args.device,
                                      registry=args.registry,
                                      region=args.region)

        credentials = client.Get(device_ref).credentials
        try:
            credential = credentials.pop(args.index)
        except IndexError:
            raise util.BadCredentialIndexError(device_ref.Name(), credentials,
                                               args.index)
        console_io.PromptContinue(
            message='This will delete the following credential: {}'.format(
                credential),
            cancel_on_no=True)
        return client.Patch(device_ref, credentials=credentials)
Exemple #27
0
    def Run(self, args):
        client = devices.DevicesClient()

        device_ref = args.CONCEPTS.device.Parse()
        registry_ref = device_ref.Parent()

        credentials = util.ParseCredentials(args.public_keys,
                                            messages=client.messages)
        metadata = util.ParseMetadata(args.metadata, args.metadata_from_file,
                                      client.messages)

        response = client.Create(registry_ref,
                                 device_ref.devicesId,
                                 blocked=args.blocked,
                                 credentials=credentials,
                                 metadata=metadata)
        log.CreatedResource(device_ref.devicesId, 'device')
        return response
    def Run(self, args):
        client = devices.DevicesClient()

        device_ref = args.CONCEPTS.device.Parse()

        credentials = client.Get(device_ref).credentials
        try:
            credential = credentials.pop(args.index)
        except IndexError:
            raise util.BadCredentialIndexError(device_ref.Name(), credentials,
                                               args.index)
        console_io.PromptContinue(
            message='This will delete the following credential: {}'.format(
                credential),
            cancel_on_no=True)
        response = client.Patch(device_ref, credentials=credentials)
        log.DeletedResource(device_ref.Name(), 'credentials for device')
        return response
Exemple #29
0
    def Run(self, args):
        client = devices.DevicesClient()

        device_ref = util.ParseDevice(args.device,
                                      registry=args.registry,
                                      region=args.region)
        new_credential = util.ParseCredential(args.path,
                                              args.type,
                                              args.expiration_time,
                                              messages=client.messages)

        credentials = client.Get(device_ref).credentials
        if len(credentials) >= util.MAX_PUBLIC_KEY_NUM:
            raise util.InvalidPublicKeySpecificationError(
                'Cannot create a new public key credential for this device; '
                'maximum {} keys are allowed.'.format(util.MAX_PUBLIC_KEY_NUM))
        credentials.append(new_credential)
        return client.Patch(device_ref, credentials=credentials)
Exemple #30
0
    def Run(self, args):
        client = devices.DevicesClient()

        device_ref = args.CONCEPTS.device.Parse()

        metadata = util.ParseMetadata(args.metadata, args.metadata_from_file,
                                      client.messages)
        auth_method = flags.GATEWAY_AUTH_METHOD_ENUM_MAPPER.GetEnumForChoice(
            args.auth_method)
        log_level = util.ParseLogLevel(
            args.log_level, client.messages.Device.LogLevelValueValuesEnum)

        device = client.Patch(device_ref,
                              blocked=args.blocked,
                              metadata=metadata,
                              auth_method=auth_method,
                              log_level=log_level)
        log.UpdatedResource(device_ref.Name(), 'device')
        return device