// Type definitions for non-npm package Google Google Cloud IoT API v1 1.0 // Project: https://cloud.google.com/iot // Definitions by: Bolisov Alexey // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped // TypeScript Version: 2.3 // IMPORTANT // This file was generated by https://github.com/Bolisov/google-api-typings-generator. Please do not edit it manually. // In case of any problems please post issue to https://github.com/Bolisov/google-api-typings-generator // Generated from: https://cloudiot.googleapis.com/$discovery/rest?version=v1 /// declare namespace gapi.client { /** Load Google Cloud IoT API v1 */ function load(name: "cloudiot", version: "v1"): PromiseLike; function load(name: "cloudiot", version: "v1", callback: () => any): void; const projects: cloudiot.ProjectsResource; namespace cloudiot { interface AuditConfig { /** * The configuration for logging of each type of permission. * Next ID: 4 */ auditLogConfigs?: AuditLogConfig[]; exemptedMembers?: string[]; /** * Specifies a service that will be enabled for audit logging. * For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. * `allServices` is a special value that covers all services. */ service?: string; } interface AuditLogConfig { /** * Specifies the identities that do not cause logging for this type of * permission. * Follows the same format of Binding.members. */ exemptedMembers?: string[]; /** The log type that this config enables. */ logType?: string; } interface Binding { /** * The condition that is associated with this binding. * NOTE: an unsatisfied condition will not allow user access via current * binding. Different bindings, including their conditions, are examined * independently. * This field is GOOGLE_INTERNAL. */ condition?: Expr; /** * Specifies the identities requesting access for a Cloud Platform resource. * `members` can have the following values: * * * `allUsers`: A special identifier that represents anyone who is * on the internet; with or without a Google account. * * * `allAuthenticatedUsers`: A special identifier that represents anyone * who is authenticated with a Google account or a service account. * * * `user:{emailid}`: An email address that represents a specific Google * account. For example, `alice@gmail.com` or `joe@example.com`. * * * * `serviceAccount:{emailid}`: An email address that represents a service * account. For example, `my-other-app@appspot.gserviceaccount.com`. * * * `group:{emailid}`: An email address that represents a Google group. * For example, `admins@example.com`. * * * * `domain:{domain}`: A Google Apps domain name that represents all the * users of that domain. For example, `google.com` or `example.com`. */ members?: string[]; /** * Role that is assigned to `members`. * For example, `roles/viewer`, `roles/editor`, or `roles/owner`. * Required */ role?: string; } interface Device { /** * If a device is blocked, connections or requests 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. */ blocked?: boolean; /** * The most recent device configuration, which is eventually sent from * Cloud IoT Core to the device. If not present on creation, the * configuration will be initialized with an empty payload and version value * of `1`. To update this field after creation, use the * `DeviceManager.ModifyCloudToDeviceConfig` method. */ config?: DeviceConfig; /** * The credentials used to authenticate this device. To allow credential * rotation without interruption, multiple device credentials can be bound to * this device. No more than 3 credentials can be bound to a single device at * a time. When new credentials are added to a device, they are verified * against the registry credentials. For details, see the description of the * `DeviceRegistry.credentials` field. */ credentials?: DeviceCredential[]; /** * The user-defined device identifier. The device ID must be unique * within a device registry. */ id?: string; /** * [Output only] The last time a cloud-to-device config version acknowledgment * was received from the device. This field is only for configurations * sent through MQTT. */ lastConfigAckTime?: string; /** * [Output only] The last time a cloud-to-device config version was sent to * the device. */ lastConfigSendTime?: string; /** * [Output only] The error message of the most recent error, such as a failure * to publish to Cloud Pub/Sub. 'last_error_time' is the timestamp of this * field. If no errors have occurred, this field has an empty message * and the status code 0 == OK. Otherwise, this field is expected to have a * status code other than OK. */ lastErrorStatus?: Status; /** * [Output only] The time the most recent error occurred, such as a failure to * publish to Cloud Pub/Sub. This field is the timestamp of * 'last_error_status'. */ lastErrorTime?: string; /** * [Output only] The last time a telemetry event was received. Timestamps are * periodically collected and written to storage; they may be stale by a few * minutes. */ lastEventTime?: string; /** * [Output only] The last time a heartbeat was received. Timestamps are * periodically collected and written to storage; they may be stale by a few * minutes. This field is only for devices connecting through MQTT. */ lastHeartbeatTime?: string; /** * [Output only] The last time a state event was received. Timestamps are * periodically collected and written to storage; they may be stale by a few * minutes. */ lastStateTime?: string; /** * The metadata key-value pairs assigned to the device. This metadata is not * interpreted or indexed by Cloud IoT Core. It can be used to add contextual * information for the device. * * Keys must conform to the regular expression [a-zA-Z0-9-_]+ and be less than * 128 bytes in length. * * Values are free-form strings. Each value must be less 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?: Record; /** * The resource path name. For example, * `projects/p1/locations/us-central1/registries/registry0/devices/dev0` or * `projects/p1/locations/us-central1/registries/registry0/devices/{num_id}`. * When `name` is populated as a response from the service, it always ends * in the device numeric ID. */ name?: string; /** * [Output only] A server-defined unique numeric ID for the device. This is a * more compact way to identify devices, and it is globally unique. */ numId?: string; /** * [Output only] The state most recently received from the device. If no state * has been reported, this field is not present. */ state?: DeviceState; } interface DeviceConfig { /** The device configuration data. */ binaryData?: string; /** * [Output only] The time at which this configuration version was updated in * Cloud IoT Core. This timestamp is set by the server. */ cloudUpdateTime?: string; /** * [Output only] The time at which Cloud IoT Core received the * acknowledgment from the device, indicating that the device has received * this configuration version. If this field is not present, the device has * not yet acknowledged that it received this version. Note that when * the config was sent to the device, many config versions may have been * available in Cloud IoT Core while the device was disconnected, and on * connection, only the latest version is sent to the device. Some * versions may never be sent to the device, and therefore are never * acknowledged. This timestamp is set by Cloud IoT Core. */ deviceAckTime?: string; /** * [Output only] The version of this update. The version number is assigned by * the server, and is always greater than 0 after device creation. The * version must be 0 on the `CreateDevice` request if a `config` is * specified; the response of `CreateDevice` will always have a value of 1. */ version?: string; } interface DeviceCredential { /** * [Optional] The time at which this credential becomes invalid. This * credential will be ignored for new client authentication requests after * this timestamp; however, it will not be automatically deleted. */ expirationTime?: string; /** * A public key used to verify the signature of JSON Web Tokens (JWTs). * When adding a new device credential, either via device creation or via * modifications, this public key credential may be required to be signed by * one of the registry level certificates. More specifically, if the * registry contains at least one certificate, any new device credential * must be signed by one of the registry certificates. As a result, * when the registry contains certificates, only X.509 certificates are * accepted as device credentials. However, if the registry does * not contain a certificate, self-signed certificates and public keys will * be accepted. New device credentials must be different from every * registry-level certificate. */ publicKey?: PublicKeyCredential; } interface DeviceRegistry { /** * The credentials used to verify the device credentials. No more than 10 * credentials can be bound to a single registry at a time. The verification * process occurs at the time of device creation or update. If this field is * empty, no verification is performed. Otherwise, the credentials of a newly * created device or added credentials of an updated device should be signed * with one of these registry credentials. * * Note, however, that existing devices will never be affected by * modifications to this list of credentials: after a device has been * successfully created in a registry, it should be able to connect even if * its registry credentials are revoked, deleted, or modified. */ credentials?: RegistryCredential[]; /** * The configuration for notification of telemetry events received from the * device. All telemetry events that were successfully published by the * device and acknowledged by Cloud IoT Core are guaranteed to be * delivered to Cloud Pub/Sub. Only the first configuration is used. */ eventNotificationConfigs?: EventNotificationConfig[]; /** The DeviceService (HTTP) configuration for this device registry. */ httpConfig?: HttpConfig; /** The identifier of this device registry. For example, `myRegistry`. */ id?: string; /** The MQTT configuration for this device registry. */ mqttConfig?: MqttConfig; /** * The resource path name. For example, * `projects/example-project/locations/us-central1/registries/my-registry`. */ name?: string; /** * The configuration for notification of new states received from the device. * State updates are guaranteed to be stored in the state history, but * notifications to Cloud Pub/Sub are not guaranteed. For example, if * permissions are misconfigured or the specified topic doesn't exist, no * notification will be published but the state will still be stored in Cloud * IoT Core. */ stateNotificationConfig?: StateNotificationConfig; } interface DeviceState { /** The device state data. */ binaryData?: string; /** * [Output only] The time at which this state version was updated in Cloud * IoT Core. */ updateTime?: string; } interface EventNotificationConfig { /** * A Cloud Pub/Sub topic name. For example, * `projects/myProject/topics/deviceEvents`. */ pubsubTopicName?: string; } interface Expr { /** * An optional description of the expression. This is a longer text which * describes the expression, e.g. when hovered over it in a UI. */ description?: string; /** * Textual representation of an expression in * Common Expression Language syntax. * * The application context of the containing message determines which * well-known feature set of CEL is supported. */ expression?: string; /** * An optional string indicating the location of the expression for error * reporting, e.g. a file name and a position in the file. */ location?: string; /** * An optional title for the expression, i.e. a short string describing * its purpose. This can be used e.g. in UIs which allow to enter the * expression. */ title?: string; } interface HttpConfig { /** * If enabled, allows devices to use DeviceService via the HTTP protocol. * Otherwise, any requests to DeviceService will fail for this registry. */ httpEnabledState?: string; } interface ListDeviceConfigVersionsResponse { /** * The device configuration for the last few versions. Versions are listed * in decreasing order, starting from the most recent one. */ deviceConfigs?: DeviceConfig[]; } interface ListDeviceRegistriesResponse { /** The registries that matched the query. */ deviceRegistries?: DeviceRegistry[]; /** * If not empty, indicates that there may be more registries that match the * request; this value should be passed in a new * `ListDeviceRegistriesRequest`. */ nextPageToken?: string; } interface ListDeviceStatesResponse { /** * The last few device states. States are listed in descending order of server * update time, starting from the most recent one. */ deviceStates?: DeviceState[]; } interface ListDevicesResponse { /** The devices that match the request. */ devices?: Device[]; /** * If not empty, indicates that there may be more devices that match the * request; this value should be passed in a new `ListDevicesRequest`. */ nextPageToken?: string; } interface ModifyCloudToDeviceConfigRequest { /** The configuration data for the device. */ binaryData?: string; /** * The version number to update. If this value is zero, it will not check the * version number of the server and will always update the current version; * otherwise, this update will fail if the version number found on the server * does not match this version number. This is used to support multiple * simultaneous updates without losing data. */ versionToUpdate?: string; } interface MqttConfig { /** * If enabled, allows connections using the MQTT protocol. Otherwise, MQTT * connections to this registry will fail. */ mqttEnabledState?: string; } interface Policy { /** Specifies cloud audit logging configuration for this policy. */ auditConfigs?: AuditConfig[]; /** * Associates a list of `members` to a `role`. * `bindings` with no members will result in an error. */ bindings?: Binding[]; /** * `etag` is used for optimistic concurrency control as a way to help * prevent simultaneous updates of a policy from overwriting each other. * It is strongly suggested that systems make use of the `etag` in the * read-modify-write cycle to perform policy updates in order to avoid race * conditions: An `etag` is returned in the response to `getIamPolicy`, and * systems are expected to put that etag in the request to `setIamPolicy` to * ensure that their change will be applied to the same version of the policy. * * If no `etag` is provided in the call to `setIamPolicy`, then the existing * policy is overwritten blindly. */ etag?: string; iamOwned?: boolean; /** Version of the `Policy`. The default version is 0. */ version?: number; } interface PublicKeyCertificate { /** The certificate data. */ certificate?: string; /** The certificate format. */ format?: string; /** [Output only] The certificate details. Used only for X.509 certificates. */ x509Details?: X509CertificateDetails; } interface PublicKeyCredential { /** The format of the key. */ format?: string; /** The key data. */ key?: string; } interface RegistryCredential { /** A public key certificate used to verify the device credentials. */ publicKeyCertificate?: PublicKeyCertificate; } interface SetIamPolicyRequest { /** * REQUIRED: The complete policy to be applied to the `resource`. The size of * the policy is limited to a few 10s of KB. An empty policy is a * valid policy but certain Cloud Platform services (such as Projects) * might reject them. */ policy?: Policy; /** * OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only * the fields in the mask will be modified. If no mask is provided, the * following default mask is used: * paths: "bindings, etag" * This field is only used by Cloud IAM. */ updateMask?: string; } interface StateNotificationConfig { /** * A Cloud Pub/Sub topic name. For example, * `projects/myProject/topics/deviceEvents`. */ pubsubTopicName?: string; } interface Status { /** The status code, which should be an enum value of google.rpc.Code. */ code?: number; /** * A list of messages that carry the error details. There is a common set of * message types for APIs to use. */ details?: Array>; /** * A developer-facing error message, which should be in English. Any * user-facing error message should be localized and sent in the * google.rpc.Status.details field, or localized by the client. */ message?: string; } interface TestIamPermissionsRequest { /** * 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). */ permissions?: string[]; } interface TestIamPermissionsResponse { /** * A subset of `TestPermissionsRequest.permissions` that the caller is * allowed. */ permissions?: string[]; } interface X509CertificateDetails { /** The time the certificate becomes invalid. */ expiryTime?: string; /** The entity that signed the certificate. */ issuer?: string; /** The type of public key in the certificate. */ publicKeyType?: string; /** The algorithm used to sign the certificate. */ signatureAlgorithm?: string; /** The time the certificate becomes valid. */ startTime?: string; /** The entity the certificate and public key belong to. */ subject?: string; } interface ConfigVersionsResource { /** * Lists the last few versions of the device configuration in descending * order (i.e.: newest first). */ list(request: { /** V1 error format. */ "$.xgafv"?: string; /** OAuth access token. */ access_token?: string; /** Data format for response. */ alt?: string; /** OAuth bearer token. */ bearer_token?: string; /** JSONP */ callback?: string; /** Selector specifying which fields to include in a partial response. */ fields?: string; /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ key?: string; /** * 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}`. */ name: string; /** * The number of versions to list. Versions are listed in decreasing order of * the version number. The maximum number of versions retained is 10. If this * value is zero, it will return all the versions available. */ numVersions?: number; /** OAuth 2.0 token for the current user. */ oauth_token?: string; /** Pretty-print response. */ pp?: boolean; /** Returns response with indentations and line breaks. */ prettyPrint?: boolean; /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ quotaUser?: string; /** Legacy upload protocol for media (e.g. "media", "multipart"). */ uploadType?: string; /** Upload protocol for media (e.g. "raw", "multipart"). */ upload_protocol?: string; }): Request; } interface StatesResource { /** * Lists the last few versions of the device state in descending order (i.e.: * newest first). */ list(request: { /** V1 error format. */ "$.xgafv"?: string; /** OAuth access token. */ access_token?: string; /** Data format for response. */ alt?: string; /** OAuth bearer token. */ bearer_token?: string; /** JSONP */ callback?: string; /** Selector specifying which fields to include in a partial response. */ fields?: string; /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ key?: string; /** * 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}`. */ name: string; /** * The number of states to list. States are listed in descending order of * update time. The maximum number of states retained is 10. If this * value is zero, it will return all the states available. */ numStates?: number; /** OAuth 2.0 token for the current user. */ oauth_token?: string; /** Pretty-print response. */ pp?: boolean; /** Returns response with indentations and line breaks. */ prettyPrint?: boolean; /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ quotaUser?: string; /** Legacy upload protocol for media (e.g. "media", "multipart"). */ uploadType?: string; /** Upload protocol for media (e.g. "raw", "multipart"). */ upload_protocol?: string; }): Request; } interface DevicesResource { /** Creates a device in a device registry. */ create(request: { /** V1 error format. */ "$.xgafv"?: string; /** OAuth access token. */ access_token?: string; /** Data format for response. */ alt?: string; /** OAuth bearer token. */ bearer_token?: string; /** JSONP */ callback?: string; /** Selector specifying which fields to include in a partial response. */ fields?: string; /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ key?: string; /** OAuth 2.0 token for the current user. */ oauth_token?: string; /** * The name of the device registry where this device should be created. * For example, * `projects/example-project/locations/us-central1/registries/my-registry`. */ parent: string; /** Pretty-print response. */ pp?: boolean; /** Returns response with indentations and line breaks. */ prettyPrint?: boolean; /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ quotaUser?: string; /** Legacy upload protocol for media (e.g. "media", "multipart"). */ uploadType?: string; /** Upload protocol for media (e.g. "raw", "multipart"). */ upload_protocol?: string; }): Request; /** Deletes a device. */ delete(request: { /** V1 error format. */ "$.xgafv"?: string; /** OAuth access token. */ access_token?: string; /** Data format for response. */ alt?: string; /** OAuth bearer token. */ bearer_token?: string; /** JSONP */ callback?: string; /** Selector specifying which fields to include in a partial response. */ fields?: string; /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ key?: string; /** * 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}`. */ name: string; /** OAuth 2.0 token for the current user. */ oauth_token?: string; /** Pretty-print response. */ pp?: boolean; /** Returns response with indentations and line breaks. */ prettyPrint?: boolean; /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ quotaUser?: string; /** Legacy upload protocol for media (e.g. "media", "multipart"). */ uploadType?: string; /** Upload protocol for media (e.g. "raw", "multipart"). */ upload_protocol?: string; }): Request<{}>; /** Gets details about a device. */ get(request: { /** V1 error format. */ "$.xgafv"?: string; /** OAuth access token. */ access_token?: string; /** Data format for response. */ alt?: string; /** OAuth bearer token. */ bearer_token?: string; /** JSONP */ callback?: string; /** Selector specifying which fields to include in a partial response. */ fields?: string; /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ key?: string; /** * 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}`. */ name: string; /** OAuth 2.0 token for the current user. */ oauth_token?: string; /** Pretty-print response. */ pp?: boolean; /** Returns response with indentations and line breaks. */ prettyPrint?: boolean; /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ quotaUser?: string; /** Legacy upload protocol for media (e.g. "media", "multipart"). */ uploadType?: string; /** Upload protocol for media (e.g. "raw", "multipart"). */ upload_protocol?: string; }): Request; /** List devices in a device registry. */ list(request: { /** V1 error format. */ "$.xgafv"?: string; /** OAuth access token. */ access_token?: string; /** Data format for response. */ alt?: string; /** OAuth bearer token. */ bearer_token?: string; /** JSONP */ callback?: string; /** * A list of device string identifiers. If empty, it will ignore this field. * For example, `['device0', 'device12']`. This field cannot hold more than * 10,000 entries. */ deviceIds?: string; /** * A list of device numerical ids. If empty, it will ignore this field. This * field cannot hold more than 10,000 entries. */ deviceNumIds?: string; /** * The fields of the `Device` resource to be returned in the response. The * fields `id`, and `num_id` are always returned by default, along with any * other fields specified. */ fieldMask?: string; /** Selector specifying which fields to include in a partial response. */ fields?: string; /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ key?: string; /** OAuth 2.0 token for the current user. */ oauth_token?: string; /** * The maximum number of devices to return in the response. If this value * is zero, the service will select a default size. A call may return fewer * objects than requested, but if there is a non-empty `page_token`, it * indicates that more entries are available. */ pageSize?: number; /** * The value returned by the last `ListDevicesResponse`; indicates * that this is a continuation of a prior `ListDevices` call, and * that the system should return the next page of data. */ pageToken?: string; /** * The device registry path. Required. For example, * `projects/my-project/locations/us-central1/registries/my-registry`. */ parent: string; /** Pretty-print response. */ pp?: boolean; /** Returns response with indentations and line breaks. */ prettyPrint?: boolean; /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ quotaUser?: string; /** Legacy upload protocol for media (e.g. "media", "multipart"). */ uploadType?: string; /** Upload protocol for media (e.g. "raw", "multipart"). */ upload_protocol?: string; }): Request; /** * Modifies the configuration for the device, which is eventually sent from * the Cloud IoT Core servers. Returns the modified configuration version and * its metadata. */ modifyCloudToDeviceConfig(request: { /** V1 error format. */ "$.xgafv"?: string; /** OAuth access token. */ access_token?: string; /** Data format for response. */ alt?: string; /** OAuth bearer token. */ bearer_token?: string; /** JSONP */ callback?: string; /** Selector specifying which fields to include in a partial response. */ fields?: string; /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ key?: string; /** * 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}`. */ name: string; /** OAuth 2.0 token for the current user. */ oauth_token?: string; /** Pretty-print response. */ pp?: boolean; /** Returns response with indentations and line breaks. */ prettyPrint?: boolean; /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ quotaUser?: string; /** Legacy upload protocol for media (e.g. "media", "multipart"). */ uploadType?: string; /** Upload protocol for media (e.g. "raw", "multipart"). */ upload_protocol?: string; }): Request; /** Updates a device. */ patch(request: { /** V1 error format. */ "$.xgafv"?: string; /** OAuth access token. */ access_token?: string; /** Data format for response. */ alt?: string; /** OAuth bearer token. */ bearer_token?: string; /** JSONP */ callback?: string; /** Selector specifying which fields to include in a partial response. */ fields?: string; /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ key?: string; /** * The resource path name. For example, * `projects/p1/locations/us-central1/registries/registry0/devices/dev0` or * `projects/p1/locations/us-central1/registries/registry0/devices/{num_id}`. * When `name` is populated as a response from the service, it always ends * in the device numeric ID. */ name: string; /** OAuth 2.0 token for the current user. */ oauth_token?: string; /** Pretty-print response. */ pp?: boolean; /** Returns response with indentations and line breaks. */ prettyPrint?: boolean; /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ quotaUser?: string; /** * 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`, `enabled_state`, and `metadata` */ updateMask?: string; /** Legacy upload protocol for media (e.g. "media", "multipart"). */ uploadType?: string; /** Upload protocol for media (e.g. "raw", "multipart"). */ upload_protocol?: string; }): Request; configVersions: ConfigVersionsResource; states: StatesResource; } interface RegistriesResource { /** Creates a device registry that contains devices. */ create(request: { /** V1 error format. */ "$.xgafv"?: string; /** OAuth access token. */ access_token?: string; /** Data format for response. */ alt?: string; /** OAuth bearer token. */ bearer_token?: string; /** JSONP */ callback?: string; /** Selector specifying which fields to include in a partial response. */ fields?: string; /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ key?: string; /** OAuth 2.0 token for the current user. */ oauth_token?: string; /** * The project and cloud region where this device registry must be created. * For example, `projects/example-project/locations/us-central1`. */ parent: string; /** Pretty-print response. */ pp?: boolean; /** Returns response with indentations and line breaks. */ prettyPrint?: boolean; /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ quotaUser?: string; /** Legacy upload protocol for media (e.g. "media", "multipart"). */ uploadType?: string; /** Upload protocol for media (e.g. "raw", "multipart"). */ upload_protocol?: string; }): Request; /** Deletes a device registry configuration. */ delete(request: { /** V1 error format. */ "$.xgafv"?: string; /** OAuth access token. */ access_token?: string; /** Data format for response. */ alt?: string; /** OAuth bearer token. */ bearer_token?: string; /** JSONP */ callback?: string; /** Selector specifying which fields to include in a partial response. */ fields?: string; /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ key?: string; /** * The name of the device registry. For example, * `projects/example-project/locations/us-central1/registries/my-registry`. */ name: string; /** OAuth 2.0 token for the current user. */ oauth_token?: string; /** Pretty-print response. */ pp?: boolean; /** Returns response with indentations and line breaks. */ prettyPrint?: boolean; /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ quotaUser?: string; /** Legacy upload protocol for media (e.g. "media", "multipart"). */ uploadType?: string; /** Upload protocol for media (e.g. "raw", "multipart"). */ upload_protocol?: string; }): Request<{}>; /** Gets a device registry configuration. */ get(request: { /** V1 error format. */ "$.xgafv"?: string; /** OAuth access token. */ access_token?: string; /** Data format for response. */ alt?: string; /** OAuth bearer token. */ bearer_token?: string; /** JSONP */ callback?: string; /** Selector specifying which fields to include in a partial response. */ fields?: string; /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ key?: string; /** * The name of the device registry. For example, * `projects/example-project/locations/us-central1/registries/my-registry`. */ name: string; /** OAuth 2.0 token for the current user. */ oauth_token?: string; /** Pretty-print response. */ pp?: boolean; /** Returns response with indentations and line breaks. */ prettyPrint?: boolean; /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ quotaUser?: string; /** Legacy upload protocol for media (e.g. "media", "multipart"). */ uploadType?: string; /** Upload protocol for media (e.g. "raw", "multipart"). */ upload_protocol?: string; }): Request; /** * Gets the access control policy for a resource. * Returns an empty policy if the resource exists and does not have a policy * set. */ getIamPolicy(request: { /** V1 error format. */ "$.xgafv"?: string; /** OAuth access token. */ access_token?: string; /** Data format for response. */ alt?: string; /** OAuth bearer token. */ bearer_token?: string; /** JSONP */ callback?: string; /** Selector specifying which fields to include in a partial response. */ fields?: string; /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ key?: string; /** OAuth 2.0 token for the current user. */ oauth_token?: string; /** Pretty-print response. */ pp?: boolean; /** Returns response with indentations and line breaks. */ prettyPrint?: boolean; /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ quotaUser?: string; /** * REQUIRED: The resource for which the policy is being requested. * See the operation documentation for the appropriate value for this field. */ resource: string; /** Legacy upload protocol for media (e.g. "media", "multipart"). */ uploadType?: string; /** Upload protocol for media (e.g. "raw", "multipart"). */ upload_protocol?: string; }): Request; /** Lists device registries. */ list(request: { /** V1 error format. */ "$.xgafv"?: string; /** OAuth access token. */ access_token?: string; /** Data format for response. */ alt?: string; /** OAuth bearer token. */ bearer_token?: string; /** JSONP */ callback?: string; /** Selector specifying which fields to include in a partial response. */ fields?: string; /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ key?: string; /** OAuth 2.0 token for the current user. */ oauth_token?: string; /** * The maximum number of registries to return in the response. If this value * is zero, the service will select a default size. A call may return fewer * objects than requested, but if there is a non-empty `page_token`, it * indicates that more entries are available. */ pageSize?: number; /** * The value returned by the last `ListDeviceRegistriesResponse`; indicates * that this is a continuation of a prior `ListDeviceRegistries` call, and * that the system should return the next page of data. */ pageToken?: string; /** * The project and cloud region path. For example, * `projects/example-project/locations/us-central1`. */ parent: string; /** Pretty-print response. */ pp?: boolean; /** Returns response with indentations and line breaks. */ prettyPrint?: boolean; /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ quotaUser?: string; /** Legacy upload protocol for media (e.g. "media", "multipart"). */ uploadType?: string; /** Upload protocol for media (e.g. "raw", "multipart"). */ upload_protocol?: string; }): Request; /** Updates a device registry configuration. */ patch(request: { /** V1 error format. */ "$.xgafv"?: string; /** OAuth access token. */ access_token?: string; /** Data format for response. */ alt?: string; /** OAuth bearer token. */ bearer_token?: string; /** JSONP */ callback?: string; /** Selector specifying which fields to include in a partial response. */ fields?: string; /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ key?: string; /** * The resource path name. For example, * `projects/example-project/locations/us-central1/registries/my-registry`. */ name: string; /** OAuth 2.0 token for the current user. */ oauth_token?: string; /** Pretty-print response. */ pp?: boolean; /** Returns response with indentations and line breaks. */ prettyPrint?: boolean; /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ quotaUser?: string; /** * 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`, `mqtt_config`, and * `state_notification_config`. */ updateMask?: string; /** Legacy upload protocol for media (e.g. "media", "multipart"). */ uploadType?: string; /** Upload protocol for media (e.g. "raw", "multipart"). */ upload_protocol?: string; }): Request; /** * Sets the access control policy on the specified resource. Replaces any * existing policy. */ setIamPolicy(request: { /** V1 error format. */ "$.xgafv"?: string; /** OAuth access token. */ access_token?: string; /** Data format for response. */ alt?: string; /** OAuth bearer token. */ bearer_token?: string; /** JSONP */ callback?: string; /** Selector specifying which fields to include in a partial response. */ fields?: string; /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ key?: string; /** OAuth 2.0 token for the current user. */ oauth_token?: string; /** Pretty-print response. */ pp?: boolean; /** Returns response with indentations and line breaks. */ prettyPrint?: boolean; /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ quotaUser?: string; /** * REQUIRED: The resource for which the policy is being specified. * See the operation documentation for the appropriate value for this field. */ resource: string; /** Legacy upload protocol for media (e.g. "media", "multipart"). */ uploadType?: string; /** Upload protocol for media (e.g. "raw", "multipart"). */ upload_protocol?: string; }): Request; /** * 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. */ testIamPermissions(request: { /** V1 error format. */ "$.xgafv"?: string; /** OAuth access token. */ access_token?: string; /** Data format for response. */ alt?: string; /** OAuth bearer token. */ bearer_token?: string; /** JSONP */ callback?: string; /** Selector specifying which fields to include in a partial response. */ fields?: string; /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ key?: string; /** OAuth 2.0 token for the current user. */ oauth_token?: string; /** Pretty-print response. */ pp?: boolean; /** Returns response with indentations and line breaks. */ prettyPrint?: boolean; /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ quotaUser?: string; /** * REQUIRED: The resource for which the policy detail is being requested. * See the operation documentation for the appropriate value for this field. */ resource: string; /** Legacy upload protocol for media (e.g. "media", "multipart"). */ uploadType?: string; /** Upload protocol for media (e.g. "raw", "multipart"). */ upload_protocol?: string; }): Request; devices: DevicesResource; } interface LocationsResource { registries: RegistriesResource; } interface ProjectsResource { locations: LocationsResource; } } }