gcloud alpha iot devices create - create a new device
gcloud alpha iot devices create (DEVICE : --region=REGION --registry=REGISTRY) [--auth-method=AUTH_METHOD] [--blocked] [--device-type=DEVICE_TYPE] [--log-level=LOG_LEVEL] [--metadata=[KEY=VALUE,...]] [--metadata-from-file=[KEY=PATH,...]] [--public-key=[path=PATH,type=TYPE,[expiration-time=EXPIRATION-TIME],...]] [GCLOUD_WIDE_FLAG ...]
(ALPHA) Create a new device.
To create a new device 'my-device' in device registry 'my-registry' and region 'us-central1', run:
$ gcloud alpha iot devices create my-device --region=us-central1 \ --registry=my-registry
The following command creates a new non-gateway device 'my-device' in device registry 'my-registry' and region 'us-central1', blocks the device, and sets metadata values.
$ gcloud alpha iot devices create my-device --region=us-central1 \ --registry=my-registry --blocked --device-type=non-gateway \ --metadata=key1=value1,key2=value2
- Device resource - The device you want to create. The arguments in this group
can be used to specify the attributes of this resource. (NOTE) Some attributes are not given arguments in this group but can be set in other ways. To set the project attribute:
- —
provide the argument device on the command line with a fully specified name;
- —
provide the argument --project on the command line;
- —
set the property core/project.
This must be specified.
- DEVICE
ID of the device or fully qualified identifier for the device. To set the device attribute:
provide the argument device on the command line.
This positional argument must be specified if any of the other arguments in this group are specified.
- --region=REGION
The name of the Cloud IoT region. To set the region attribute:
provide the argument device on the command line with a fully specified name;
provide the argument --region on the command line.
- --registry=REGISTRY
The name of the Cloud IoT registry. To set the registry attribute:
provide the argument device on the command line with a fully specified name;
provide the argument --registry on the command line.
- --auth-method=AUTH_METHOD
The authorization/authentication method used by devices in relation to the gateway. This property is set only on gateways. If left unspecified, devices will not be able to access the gateway. AUTH_METHOD must be one of:
- association-and-device-auth-token
The device is authenticated through both device credentials and gateway association.
- association-only
The device is authenticated through the gateway association only. Device credentials are ignored if provided.
- device-auth-token-only
The device is authenticated through its own credentials. Gateway association is not checked.
- --blocked
If blocked, connections from this device will fail.
Can be used to temporarily prevent the device from connecting if, for example, the sensor is generating bad data and needs maintenance.
Connections to device is not blocked by default.
- --device-type=DEVICE_TYPE
Whether this device is a gateway. If unspecified, non-gateway is assumed. DEVICE_TYPE must be one of: gateway, non-gateway.
- --log-level=LOG_LEVEL
The default logging verbosity for activity from devices in this registry. The verbosity level can be overridden by setting a specific device's log level. LOG_LEVEL must be one of:
- debug
All events will be logged.
- error
Error events will be logged.
- info
Informational events will be logged, such as connections and disconnections. Also includes error events.
- none
Disables logging.
- --metadata=[KEY=VALUE,...]
The metadata key/value pairs assigned to devices. This metadata is not interpreted or indexed by Cloud IoT Core. It can be used to add contextual information for the device.
Keys should only contain the following characters [a-zA-Z0-9-_] and be fewer than 128 bytes in length. Values are free-form strings. Each value must be fewer than or equal to 32 KB in size.
The total size of all keys and values must be less than 256 KB, and the maximum number of key-value pairs is 500.
- --metadata-from-file=[KEY=PATH,...]
Same as --metadata, but the metadata values will be read from the file specified by path.
- --public-key=[path=PATH,type=TYPE,[expiration-time=EXPIRATION-TIME],...]
Specify a public key.
Supports four key types:
- —
rsa-x509-pem: As RSA_PEM, but wrapped in an X.509v3 certificate (RFC5280 https://www.ietf.org/rfc/rfc5280.txt), encoded in base64, and wrapped by -----BEGIN CERTIFICATE----- and -----END CERTIFICATE-----.
- —
rsa-pem: An RSA public key encoded in base64, and wrapped by -----BEGIN PUBLIC KEY----- and -----END PUBLIC KEY-----. This can be used to verify RS256 signatures in JWT tokens (RFC7518 https://www.ietf.org/rfc/rfc7518.txt).
- —
rs256: Deprecated name for rsa-x509-pem
- —
es256-x509-pem: As ES256_PEM, but wrapped in an X.509v3 certificate (RFC5280 https://www.ietf.org/rfc/rfc5280.txt), encoded in base64, and wrapped by -----BEGIN CERTIFICATE----- and -----END CERTIFICATE-----.
- —
es256-pem: Public key for the ECDSA algorithm using P-256 and SHA-256, encoded in base64, and wrapped by -----BEGIN PUBLIC KEY----- and -----END PUBLIC KEY-----. This can be used to verify JWT tokens with the ES256 algorithm (RFC7518 https://www.ietf.org/rfc/rfc7518.txt). This curve is defined in OpenSSL https://www.openssl.org/ as the prime256v1 curve.
- —
es256: Deprecated nmame for es256-pem
The key specification is given via the following sub-arguments:
- —
path: Required. The path on disk to the file containing the key.
- —
type: Required. One of [es256, es256-pem, es256-x509-pem, rs256, rsa-pem, rsa-x509-pem]. The type of the key.
- —
expiration-time: Optional. The expiration time for the key. See $ gcloud topic datetimes for information on time formats.
For example:
--public-key \ path=/path/to/id_rsa.pem,type=RSA_PEM,expiration-time=2017-01-01T00:00-05
This flag may be provide multiple times to provide multiple keys (maximum 3).
These flags are available to all commands: --access-token-file, --account, --billing-project, --configuration, --flags-file, --flatten, --format, --help, --impersonate-service-account, --log-http, --project, --quiet, --trace-token, --user-output-enabled, --verbosity.
Run $ gcloud help for details.
This command uses the cloudiot/v1 API. The full documentation for this API can be found at: https://cloud.google.com/iot
This command is currently in alpha and might change without notice. If this command fails with API permission errors despite specifying the correct project, you might be trying to access an API with an invitation-only early access allowlist. These variants are also available:
$ gcloud iot devices create
$ gcloud beta iot devices create