googleapis
Version:
Google APIs Client Library for Node.js
1,128 lines • 128 kB
TypeScript
/// <reference types="node" />
import { OAuth2Client, JWT, Compute, UserRefreshClient, BaseExternalAccountClient, GaxiosPromise, GoogleConfigurable, MethodOptions, StreamMethodOptions, GlobalOptions, GoogleAuth, BodyResponseCallback, APIRequestContext } from 'googleapis-common';
import { Readable } from 'stream';
export declare namespace androiddeviceprovisioning_v1 {
export interface Options extends GlobalOptions {
version: 'v1';
}
interface StandardParameters {
/**
* Auth client or API Key for the request
*/
auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient | BaseExternalAccountClient | GoogleAuth;
/**
* V1 error format.
*/
'$.xgafv'?: string;
/**
* OAuth access token.
*/
access_token?: string;
/**
* Data format for response.
*/
alt?: 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;
/**
* 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;
}
/**
* Android Device Provisioning Partner API
*
* Automates Android zero-touch enrollment for device resellers, customers, and EMMs.
*
* @example
* ```js
* const {google} = require('googleapis');
* const androiddeviceprovisioning = google.androiddeviceprovisioning('v1');
* ```
*/
export class Androiddeviceprovisioning {
context: APIRequestContext;
customers: Resource$Customers;
operations: Resource$Operations;
partners: Resource$Partners;
constructor(options: GlobalOptions, google?: GoogleConfigurable);
}
/**
* Request message to claim a device on behalf of a customer.
*/
export interface Schema$ClaimDeviceRequest {
/**
* Required. The ID of the customer for whom the device is being claimed.
*/
customerId?: string | null;
/**
* Required. Required. The device identifier of the device to claim.
*/
deviceIdentifier?: Schema$DeviceIdentifier;
/**
* Optional. The metadata to attach to the device.
*/
deviceMetadata?: Schema$DeviceMetadata;
/**
* Required. The section type of the device's provisioning record.
*/
sectionType?: string | null;
}
/**
* Response message containing device id of the claim.
*/
export interface Schema$ClaimDeviceResponse {
/**
* The device ID of the claimed device.
*/
deviceId?: string | null;
/**
* The resource name of the device in the format `partners/[PARTNER_ID]/devices/[DEVICE_ID]`.
*/
deviceName?: string | null;
}
/**
* Request to claim devices asynchronously in batch. Claiming a device adds the device to zero-touch enrollment and shows the device in the customer's view of the portal.
*/
export interface Schema$ClaimDevicesRequest {
/**
* Required. A list of device claims.
*/
claims?: Schema$PartnerClaim[];
}
/**
* A reseller, vendor, or customer in the zero-touch reseller and customer APIs.
*/
export interface Schema$Company {
/**
* Optional. Email address of customer's users in the admin role. Each email address must be associated with a Google Account.
*/
adminEmails?: string[] | null;
/**
* Output only. The ID of the company. Assigned by the server.
*/
companyId?: string | null;
/**
* Required. The name of the company. For example _XYZ Corp_. Displayed to the company's employees in the zero-touch enrollment portal.
*/
companyName?: string | null;
/**
* Output only. The API resource name of the company. The resource name is one of the following formats: * `partners/[PARTNER_ID]/customers/[CUSTOMER_ID]` * `partners/[PARTNER_ID]/vendors/[VENDOR_ID]` * `partners/[PARTNER_ID]/vendors/[VENDOR_ID]/customers/[CUSTOMER_ID]` Assigned by the server.
*/
name?: string | null;
/**
* Required. Input only. Email address of customer's users in the owner role. At least one `owner_email` is required. Each email address must be associated with a Google Account. Owners share the same access as admins but can also add, delete, and edit your organization's portal users.
*/
ownerEmails?: string[] | null;
/**
* Output only. Whether any user from the company has accepted the latest Terms of Service (ToS). See TermsStatus.
*/
termsStatus?: string | null;
}
/**
* A configuration collects the provisioning options for Android devices. Each configuration combines the following: * The EMM device policy controller (DPC) installed on the devices. * EMM policies enforced on the devices. * Metadata displayed on the device to help users during setup. Customers can add as many configurations as they need. However, zero-touch enrollment works best when a customer sets a default configuration that's applied to any new devices the organization purchases.
*/
export interface Schema$Configuration {
/**
* Required. The name of the organization. Zero-touch enrollment shows this organization name to device users during device provisioning.
*/
companyName?: string | null;
/**
* Output only. The ID of the configuration. Assigned by the server.
*/
configurationId?: string | null;
/**
* Required. A short name that describes the configuration's purpose. For example, _Sales team_ or _Temporary employees_. The zero-touch enrollment portal displays this name to IT admins.
*/
configurationName?: string | null;
/**
* Required. The email address that device users can contact to get help. Zero-touch enrollment shows this email address to device users before device provisioning. The value is validated on input.
*/
contactEmail?: string | null;
/**
* Required. The telephone number that device users can call, using another device, to get help. Zero-touch enrollment shows this number to device users before device provisioning. Accepts numerals, spaces, the plus sign, hyphens, and parentheses.
*/
contactPhone?: string | null;
/**
* A message, containing one or two sentences, to help device users get help or give them more details about what’s happening to their device. Zero-touch enrollment shows this message before the device is provisioned.
*/
customMessage?: string | null;
/**
* The JSON-formatted EMM provisioning extras that are passed to the DPC.
*/
dpcExtras?: string | null;
/**
* Required. The resource name of the selected DPC (device policy controller) in the format `customers/[CUSTOMER_ID]/dpcs/x`. To list the supported DPCs, call `customers.dpcs.list`.
*/
dpcResourcePath?: string | null;
/**
* Required. Whether this is the default configuration that zero-touch enrollment applies to any new devices the organization purchases in the future. Only one customer configuration can be the default. Setting this value to `true`, changes the previous default configuration's `isDefault` value to `false`.
*/
isDefault?: boolean | null;
/**
* Output only. The API resource name in the format `customers/[CUSTOMER_ID]/configurations/[CONFIGURATION_ID]`. Assigned by the server.
*/
name?: string | null;
}
/**
* Request message to create a customer.
*/
export interface Schema$CreateCustomerRequest {
/**
* Required. The company data to populate the new customer. Must contain a value for `companyName` and at least one `owner_email` that's associated with a Google Account. The values for `companyId` and `name` must be empty.
*/
customer?: Schema$Company;
}
/**
* Request message for customer to assign a configuration to device.
*/
export interface Schema$CustomerApplyConfigurationRequest {
/**
* Required. The configuration applied to the device in the format `customers/[CUSTOMER_ID]/configurations/[CONFIGURATION_ID]`.
*/
configuration?: string | null;
/**
* Required. The device the configuration is applied to.
*/
device?: Schema$DeviceReference;
}
/**
* Response message of customer's listing configuration.
*/
export interface Schema$CustomerListConfigurationsResponse {
/**
* The configurations.
*/
configurations?: Schema$Configuration[];
}
/**
* Response message for listing my customers.
*/
export interface Schema$CustomerListCustomersResponse {
/**
* The customer accounts the calling user is a member of.
*/
customers?: Schema$Company[];
/**
* A token used to access the next page of results. Omitted if no further results are available.
*/
nextPageToken?: string | null;
}
/**
* Response message of customer's liting devices.
*/
export interface Schema$CustomerListDevicesResponse {
/**
* The customer's devices.
*/
devices?: Schema$Device[];
/**
* A token used to access the next page of results. Omitted if no further results are available.
*/
nextPageToken?: string | null;
}
/**
* Response message of customer's listing DPCs.
*/
export interface Schema$CustomerListDpcsResponse {
/**
* The list of DPCs available to the customer that support zero-touch enrollment.
*/
dpcs?: Schema$Dpc[];
}
/**
* Request message for customer to remove the configuration from device.
*/
export interface Schema$CustomerRemoveConfigurationRequest {
/**
* Required. The device to remove the configuration from.
*/
device?: Schema$DeviceReference;
}
/**
* Request message for customer to unclaim a device.
*/
export interface Schema$CustomerUnclaimDeviceRequest {
/**
* Required. The device to unclaim.
*/
device?: Schema$DeviceReference;
}
/**
* An Android device registered for zero-touch enrollment.
*/
export interface Schema$Device {
/**
* Output only. The provisioning claims for a device. Devices claimed for zero-touch enrollment have a claim with the type `SECTION_TYPE_ZERO_TOUCH`. Call `partners.devices.unclaim` or `partners.devices.unclaimAsync` to remove the device from zero-touch enrollment.
*/
claims?: Schema$DeviceClaim[];
/**
* Not available to resellers.
*/
configuration?: string | null;
/**
* Output only. The ID of the device. Assigned by the server.
*/
deviceId?: string | null;
/**
* The hardware IDs that identify a manufactured device. To learn more, read [Identifiers](https://developers.google.com/zero-touch/guides/identifiers).
*/
deviceIdentifier?: Schema$DeviceIdentifier;
/**
* The metadata attached to the device. Structured as key-value pairs. To learn more, read [Device metadata](https://developers.google.com/zero-touch/guides/metadata).
*/
deviceMetadata?: Schema$DeviceMetadata;
/**
* Output only. The API resource name in the format `partners/[PARTNER_ID]/devices/[DEVICE_ID]`. Assigned by the server.
*/
name?: string | null;
}
/**
* A record of a device claimed by a reseller for a customer. Devices claimed for zero-touch enrollment have a claim with the type `SECTION_TYPE_ZERO_TOUCH`. To learn more, read [Claim devices for customers](/zero-touch/guides/how-it-works#claim).
*/
export interface Schema$DeviceClaim {
/**
* The ID of the Customer that purchased the device.
*/
ownerCompanyId?: string | null;
/**
* The ID of the reseller that claimed the device.
*/
resellerId?: string | null;
/**
* Output only. The type of claim made on the device.
*/
sectionType?: string | null;
/**
* The timestamp when the device will exit ‘vacation mode’. This value is present iff the device is in 'vacation mode'.
*/
vacationModeExpireTime?: string | null;
/**
* The timestamp when the device was put into ‘vacation mode’. This value is present iff the device is in 'vacation mode'.
*/
vacationModeStartTime?: string | null;
}
/**
* Encapsulates hardware and product IDs to identify a manufactured device. To understand requirements on identifier sets, read [Identifiers](https://developers.google.com/zero-touch/guides/identifiers).
*/
export interface Schema$DeviceIdentifier {
/**
* The device’s IMEI number. Validated on input.
*/
imei?: string | null;
/**
* The device manufacturer’s name. Matches the device's built-in value returned from `android.os.Build.MANUFACTURER`. Allowed values are listed in [manufacturers](/zero-touch/resources/manufacturer-names#manufacturers-names).
*/
manufacturer?: string | null;
/**
* The device’s MEID number.
*/
meid?: string | null;
/**
* The device model's name. Matches the device's built-in value returned from `android.os.Build.MODEL`. Allowed values are listed in [models](/zero-touch/resources/manufacturer-names#model-names).
*/
model?: string | null;
/**
* The manufacturer's serial number for the device. This value might not be unique across different device models.
*/
serialNumber?: string | null;
}
/**
* Metadata entries that can be attached to a `Device`. To learn more, read [Device metadata](https://developers.google.com/zero-touch/guides/metadata).
*/
export interface Schema$DeviceMetadata {
/**
* Metadata entries recorded as key-value pairs.
*/
entries?: {
[key: string]: string;
} | null;
}
/**
* A `DeviceReference` is an API abstraction that lets you supply a _device_ argument to a method using one of the following identifier types: * A numeric API resource ID. * Real-world hardware IDs, such as IMEI number, belonging to the manufactured device. Methods that operate on devices take a `DeviceReference` as a parameter type because it's more flexible for the caller. To learn more about device identifiers, read [Identifiers](https://developers.google.com/zero-touch/guides/identifiers).
*/
export interface Schema$DeviceReference {
/**
* The ID of the device.
*/
deviceId?: string | null;
/**
* The hardware IDs of the device.
*/
deviceIdentifier?: Schema$DeviceIdentifier;
}
/**
* Tracks the status of a long-running operation to asynchronously update a batch of reseller metadata attached to devices. To learn more, read [Long‑running batch operations](/zero-touch/guides/how-it-works#operations).
*/
export interface Schema$DevicesLongRunningOperationMetadata {
/**
* The number of metadata updates in the operation. This might be different from the number of updates in the request if the API can't parse some of the updates.
*/
devicesCount?: number | null;
/**
* The processing status of the operation.
*/
processingStatus?: string | null;
/**
* The processing progress of the operation. Measured as a number from 0 to 100. A value of 10O doesnt always mean the operation completed—check for the inclusion of a `done` field.
*/
progress?: number | null;
}
/**
* Tracks the status of a long-running operation to claim, unclaim, or attach metadata to devices. To learn more, read [Long‑running batch operations](/zero-touch/guides/how-it-works#operations).
*/
export interface Schema$DevicesLongRunningOperationResponse {
/**
* The processing status for each device in the operation. One `PerDeviceStatus` per device. The list order matches the items in the original request.
*/
perDeviceStatus?: Schema$OperationPerDevice[];
/**
* A summary of how many items in the operation the server processed successfully. Updated as the operation progresses.
*/
successCount?: number | null;
}
/**
* An EMM's DPC ([device policy controller](http://developer.android.com/work/dpc/build-dpc.html)). Zero-touch enrollment installs a DPC (listed in the `Configuration`) on a device to maintain the customer's mobile policies. All the DPCs listed by the API support zero-touch enrollment and are available in Google Play.
*/
export interface Schema$Dpc {
/**
* Output only. The title of the DPC app in Google Play. For example, _Google Apps Device Policy_. Useful in an application's user interface.
*/
dpcName?: string | null;
/**
* Output only. The API resource name in the format `customers/[CUSTOMER_ID]/dpcs/[DPC_ID]`. Assigned by the server. To maintain a reference to a DPC across customer accounts, persist and match the last path component (`DPC_ID`).
*/
name?: string | null;
/**
* Output only. The DPC's Android application ID that looks like a Java package name. Zero-touch enrollment installs the DPC app onto a device using this identifier.
*/
packageName?: string | null;
}
/**
* A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); \} The JSON representation for `Empty` is empty JSON object `{\}`.
*/
export interface Schema$Empty {
}
/**
* Request to find devices.
*/
export interface Schema$FindDevicesByDeviceIdentifierRequest {
/**
* Required. Required. The device identifier to search for.
*/
deviceIdentifier?: Schema$DeviceIdentifier;
/**
* Required. The maximum number of devices to show in a page of results. Must be between 1 and 100 inclusive.
*/
limit?: string | null;
/**
* A token specifying which result page to return.
*/
pageToken?: string | null;
}
/**
* Response containing found devices.
*/
export interface Schema$FindDevicesByDeviceIdentifierResponse {
/**
* Found devices.
*/
devices?: Schema$Device[];
/**
* A token used to access the next page of results. Omitted if no further results are available.
*/
nextPageToken?: string | null;
/**
* The total count of items in the list irrespective of pagination.
*/
totalSize?: number | null;
}
/**
* Request to find devices by customers.
*/
export interface Schema$FindDevicesByOwnerRequest {
/**
* Required. The list of customer IDs to search for.
*/
customerId?: string[] | null;
/**
* Required. The maximum number of devices to show in a page of results. Must be between 1 and 100 inclusive.
*/
limit?: string | null;
/**
* A token specifying which result page to return.
*/
pageToken?: string | null;
/**
* Required. The section type of the device's provisioning record.
*/
sectionType?: string | null;
}
/**
* Response containing found devices.
*/
export interface Schema$FindDevicesByOwnerResponse {
/**
* The customer's devices.
*/
devices?: Schema$Device[];
/**
* A token used to access the next page of results. Omitted if no further results are available.
*/
nextPageToken?: string | null;
/**
* The total count of items in the list irrespective of pagination.
*/
totalSize?: number | null;
}
/**
* Response message of all customers related to this partner.
*/
export interface Schema$ListCustomersResponse {
/**
* List of customers related to this reseller partner.
*/
customers?: Schema$Company[];
/**
* A token to retrieve the next page of results. Omitted if no further results are available.
*/
nextPageToken?: string | null;
/**
* The total count of items in the list irrespective of pagination.
*/
totalSize?: number | null;
}
/**
* Response message to list customers of the vendor.
*/
export interface Schema$ListVendorCustomersResponse {
/**
* List of customers of the vendor.
*/
customers?: Schema$Company[];
/**
* A token to retrieve the next page of results. Omitted if no further results are available.
*/
nextPageToken?: string | null;
/**
* The total count of items in the list irrespective of pagination.
*/
totalSize?: number | null;
}
/**
* Response message to list vendors of the partner.
*/
export interface Schema$ListVendorsResponse {
/**
* A token to retrieve the next page of results. Omitted if no further results are available.
*/
nextPageToken?: string | null;
/**
* The total count of items in the list irrespective of pagination.
*/
totalSize?: number | null;
/**
* List of vendors of the reseller partner. Fields `name`, `companyId` and `companyName` are populated to the Company object.
*/
vendors?: Schema$Company[];
}
/**
* This resource represents a long-running operation that is the result of a network API call.
*/
export interface Schema$Operation {
/**
* If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.
*/
done?: boolean | null;
/**
* This field will always be not set if the operation is created by `claimAsync`, `unclaimAsync`, or `updateMetadataAsync`. In this case, error information for each device is set in `response.perDeviceStatus.result.status`.
*/
error?: Schema$Status;
/**
* This field will contain a `DevicesLongRunningOperationMetadata` object if the operation is created by `claimAsync`, `unclaimAsync`, or `updateMetadataAsync`.
*/
metadata?: {
[key: string]: any;
} | null;
/**
* The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id\}`.
*/
name?: string | null;
/**
* This field will contain a `DevicesLongRunningOperationResponse` object if the operation is created by `claimAsync`, `unclaimAsync`, or `updateMetadataAsync`.
*/
response?: {
[key: string]: any;
} | null;
}
/**
* A task for each device in the operation. Corresponds to each device change in the request.
*/
export interface Schema$OperationPerDevice {
/**
* A copy of the original device-claim request received by the server.
*/
claim?: Schema$PartnerClaim;
/**
* The processing result for each device.
*/
result?: Schema$PerDeviceStatusInBatch;
/**
* A copy of the original device-unclaim request received by the server.
*/
unclaim?: Schema$PartnerUnclaim;
/**
* A copy of the original metadata-update request received by the server.
*/
updateMetadata?: Schema$UpdateMetadataArguments;
}
/**
* Identifies one claim request.
*/
export interface Schema$PartnerClaim {
/**
* Required. The ID of the customer for whom the device is being claimed.
*/
customerId?: string | null;
/**
* Required. Required. Device identifier of the device.
*/
deviceIdentifier?: Schema$DeviceIdentifier;
/**
* Required. The metadata to attach to the device at claim.
*/
deviceMetadata?: Schema$DeviceMetadata;
/**
* Required. The section type of the device's provisioning record.
*/
sectionType?: string | null;
}
/**
* Identifies one unclaim request.
*/
export interface Schema$PartnerUnclaim {
/**
* Required. Device ID of the device.
*/
deviceId?: string | null;
/**
* Required. Device identifier of the device.
*/
deviceIdentifier?: Schema$DeviceIdentifier;
/**
* Required. The section type of the device's provisioning record.
*/
sectionType?: string | null;
/**
* Optional. The duration of the vacation unlock starting from when the request is processed. (1 day is treated as 24 hours)
*/
vacationModeDays?: number | null;
/**
* Optional. The expiration time of the vacation unlock.
*/
vacationModeExpireTime?: string | null;
}
/**
* Captures the processing status for each device in the operation.
*/
export interface Schema$PerDeviceStatusInBatch {
/**
* If processing succeeds, the device ID of the device.
*/
deviceId?: string | null;
/**
* If processing fails, the error type.
*/
errorIdentifier?: string | null;
/**
* If processing fails, a developer message explaining what went wrong.
*/
errorMessage?: string | null;
/**
* The result status of the device after processing.
*/
status?: string | null;
}
/**
* The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).
*/
export interface Schema$Status {
/**
* The status code, which should be an enum value of google.rpc.Code.
*/
code?: number | null;
/**
* A list of messages that carry the error details. There is a common set of message types for APIs to use.
*/
details?: Array<{
[key: string]: any;
}> | null;
/**
* 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 | null;
}
/**
* Request message to unclaim a device.
*/
export interface Schema$UnclaimDeviceRequest {
/**
* Required. The device ID returned by `ClaimDevice`.
*/
deviceId?: string | null;
/**
* Required. The device identifier you used when you claimed this device.
*/
deviceIdentifier?: Schema$DeviceIdentifier;
/**
* Required. The section type of the device's provisioning record.
*/
sectionType?: string | null;
/**
* The duration of the vacation unlock starting from when the request is processed. (1 day is treated as 24 hours)
*/
vacationModeDays?: number | null;
/**
* The expiration time of the vacation unlock.
*/
vacationModeExpireTime?: string | null;
}
/**
* Request to unclaim devices asynchronously in batch.
*/
export interface Schema$UnclaimDevicesRequest {
/**
* Required. The list of devices to unclaim.
*/
unclaims?: Schema$PartnerUnclaim[];
}
/**
* Request to update device metadata in batch.
*/
export interface Schema$UpdateDeviceMetadataInBatchRequest {
/**
* Required. The list of metadata updates.
*/
updates?: Schema$UpdateMetadataArguments[];
}
/**
* Request to set metadata for a device.
*/
export interface Schema$UpdateDeviceMetadataRequest {
/**
* Required. The metadata to attach to the device.
*/
deviceMetadata?: Schema$DeviceMetadata;
}
/**
* Identifies metadata updates to one device.
*/
export interface Schema$UpdateMetadataArguments {
/**
* Required. Device ID of the device.
*/
deviceId?: string | null;
/**
* Required. Device identifier.
*/
deviceIdentifier?: Schema$DeviceIdentifier;
/**
* Required. The metadata to update.
*/
deviceMetadata?: Schema$DeviceMetadata;
}
export class Resource$Customers {
context: APIRequestContext;
configurations: Resource$Customers$Configurations;
devices: Resource$Customers$Devices;
dpcs: Resource$Customers$Dpcs;
constructor(context: APIRequestContext);
/**
* Lists the user's customer accounts.
* @example
* ```js
* // Before running the sample:
* // - Enable the API at:
* // https://console.developers.google.com/apis/api/androiddeviceprovisioning.googleapis.com
* // - Login into gcloud by running:
* // `$ gcloud auth application-default login`
* // - Install the npm module by running:
* // `$ npm install googleapis`
*
* const {google} = require('googleapis');
* const androiddeviceprovisioning = google.androiddeviceprovisioning('v1');
*
* async function main() {
* const auth = new google.auth.GoogleAuth({
* // Scopes can be specified either as an array or as a single, space-delimited string.
* scopes: [],
* });
*
* // Acquire an auth client, and bind it to all future calls
* const authClient = await auth.getClient();
* google.options({auth: authClient});
*
* // Do the magic
* const res = await androiddeviceprovisioning.customers.list({
* // The maximum number of customers to show in a page of results. A number between 1 and 100 (inclusive).
* pageSize: 'placeholder-value',
* // A token specifying which result page to return.
* pageToken: 'placeholder-value',
* });
* console.log(res.data);
*
* // Example response
* // {
* // "customers": [],
* // "nextPageToken": "my_nextPageToken"
* // }
* }
*
* main().catch(e => {
* console.error(e);
* throw e;
* });
*
* ```
*
* @param params - Parameters for request
* @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
* @param callback - Optional callback that handles the response.
* @returns A promise if used with async/await, or void if used with a callback.
*/
list(params: Params$Resource$Customers$List, options: StreamMethodOptions): GaxiosPromise<Readable>;
list(params?: Params$Resource$Customers$List, options?: MethodOptions): GaxiosPromise<Schema$CustomerListCustomersResponse>;
list(params: Params$Resource$Customers$List, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
list(params: Params$Resource$Customers$List, options: MethodOptions | BodyResponseCallback<Schema$CustomerListCustomersResponse>, callback: BodyResponseCallback<Schema$CustomerListCustomersResponse>): void;
list(params: Params$Resource$Customers$List, callback: BodyResponseCallback<Schema$CustomerListCustomersResponse>): void;
list(callback: BodyResponseCallback<Schema$CustomerListCustomersResponse>): void;
}
export interface Params$Resource$Customers$List extends StandardParameters {
/**
* The maximum number of customers to show in a page of results. A number between 1 and 100 (inclusive).
*/
pageSize?: number;
/**
* A token specifying which result page to return.
*/
pageToken?: string;
}
export class Resource$Customers$Configurations {
context: APIRequestContext;
constructor(context: APIRequestContext);
/**
* Creates a new configuration. Once created, a customer can apply the configuration to devices.
* @example
* ```js
* // Before running the sample:
* // - Enable the API at:
* // https://console.developers.google.com/apis/api/androiddeviceprovisioning.googleapis.com
* // - Login into gcloud by running:
* // `$ gcloud auth application-default login`
* // - Install the npm module by running:
* // `$ npm install googleapis`
*
* const {google} = require('googleapis');
* const androiddeviceprovisioning = google.androiddeviceprovisioning('v1');
*
* async function main() {
* const auth = new google.auth.GoogleAuth({
* // Scopes can be specified either as an array or as a single, space-delimited string.
* scopes: [],
* });
*
* // Acquire an auth client, and bind it to all future calls
* const authClient = await auth.getClient();
* google.options({auth: authClient});
*
* // Do the magic
* const res = await androiddeviceprovisioning.customers.configurations.create({
* // Required. The customer that manages the configuration. An API resource name in the format `customers/[CUSTOMER_ID]`.
* parent: 'customers/my-customer',
*
* // Request body metadata
* requestBody: {
* // request body parameters
* // {
* // "companyName": "my_companyName",
* // "configurationId": "my_configurationId",
* // "configurationName": "my_configurationName",
* // "contactEmail": "my_contactEmail",
* // "contactPhone": "my_contactPhone",
* // "customMessage": "my_customMessage",
* // "dpcExtras": "my_dpcExtras",
* // "dpcResourcePath": "my_dpcResourcePath",
* // "isDefault": false,
* // "name": "my_name"
* // }
* },
* });
* console.log(res.data);
*
* // Example response
* // {
* // "companyName": "my_companyName",
* // "configurationId": "my_configurationId",
* // "configurationName": "my_configurationName",
* // "contactEmail": "my_contactEmail",
* // "contactPhone": "my_contactPhone",
* // "customMessage": "my_customMessage",
* // "dpcExtras": "my_dpcExtras",
* // "dpcResourcePath": "my_dpcResourcePath",
* // "isDefault": false,
* // "name": "my_name"
* // }
* }
*
* main().catch(e => {
* console.error(e);
* throw e;
* });
*
* ```
*
* @param params - Parameters for request
* @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
* @param callback - Optional callback that handles the response.
* @returns A promise if used with async/await, or void if used with a callback.
*/
create(params: Params$Resource$Customers$Configurations$Create, options: StreamMethodOptions): GaxiosPromise<Readable>;
create(params?: Params$Resource$Customers$Configurations$Create, options?: MethodOptions): GaxiosPromise<Schema$Configuration>;
create(params: Params$Resource$Customers$Configurations$Create, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
create(params: Params$Resource$Customers$Configurations$Create, options: MethodOptions | BodyResponseCallback<Schema$Configuration>, callback: BodyResponseCallback<Schema$Configuration>): void;
create(params: Params$Resource$Customers$Configurations$Create, callback: BodyResponseCallback<Schema$Configuration>): void;
create(callback: BodyResponseCallback<Schema$Configuration>): void;
/**
* Deletes an unused configuration. The API call fails if the customer has devices with the configuration applied.
* @example
* ```js
* // Before running the sample:
* // - Enable the API at:
* // https://console.developers.google.com/apis/api/androiddeviceprovisioning.googleapis.com
* // - Login into gcloud by running:
* // `$ gcloud auth application-default login`
* // - Install the npm module by running:
* // `$ npm install googleapis`
*
* const {google} = require('googleapis');
* const androiddeviceprovisioning = google.androiddeviceprovisioning('v1');
*
* async function main() {
* const auth = new google.auth.GoogleAuth({
* // Scopes can be specified either as an array or as a single, space-delimited string.
* scopes: [],
* });
*
* // Acquire an auth client, and bind it to all future calls
* const authClient = await auth.getClient();
* google.options({auth: authClient});
*
* // Do the magic
* const res = await androiddeviceprovisioning.customers.configurations.delete({
* // Required. The configuration to delete. An API resource name in the format `customers/[CUSTOMER_ID]/configurations/[CONFIGURATION_ID]`. If the configuration is applied to any devices, the API call fails.
* name: 'customers/my-customer/configurations/my-configuration',
* });
* console.log(res.data);
*
* // Example response
* // {}
* }
*
* main().catch(e => {
* console.error(e);
* throw e;
* });
*
* ```
*
* @param params - Parameters for request
* @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
* @param callback - Optional callback that handles the response.
* @returns A promise if used with async/await, or void if used with a callback.
*/
delete(params: Params$Resource$Customers$Configurations$Delete, options: StreamMethodOptions): GaxiosPromise<Readable>;
delete(params?: Params$Resource$Customers$Configurations$Delete, options?: MethodOptions): GaxiosPromise<Schema$Empty>;
delete(params: Params$Resource$Customers$Configurations$Delete, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
delete(params: Params$Resource$Customers$Configurations$Delete, options: MethodOptions | BodyResponseCallback<Schema$Empty>, callback: BodyResponseCallback<Schema$Empty>): void;
delete(params: Params$Resource$Customers$Configurations$Delete, callback: BodyResponseCallback<Schema$Empty>): void;
delete(callback: BodyResponseCallback<Schema$Empty>): void;
/**
* Gets the details of a configuration.
* @example
* ```js
* // Before running the sample:
* // - Enable the API at:
* // https://console.developers.google.com/apis/api/androiddeviceprovisioning.googleapis.com
* // - Login into gcloud by running:
* // `$ gcloud auth application-default login`
* // - Install the npm module by running:
* // `$ npm install googleapis`
*
* const {google} = require('googleapis');
* const androiddeviceprovisioning = google.androiddeviceprovisioning('v1');
*
* async function main() {
* const auth = new google.auth.GoogleAuth({
* // Scopes can be specified either as an array or as a single, space-delimited string.
* scopes: [],
* });
*
* // Acquire an auth client, and bind it to all future calls
* const authClient = await auth.getClient();
* google.options({auth: authClient});
*
* // Do the magic
* const res = await androiddeviceprovisioning.customers.configurations.get({
* // Required. The configuration to get. An API resource name in the format `customers/[CUSTOMER_ID]/configurations/[CONFIGURATION_ID]`.
* name: 'customers/my-customer/configurations/my-configuration',
* });
* console.log(res.data);
*
* // Example response
* // {
* // "companyName": "my_companyName",
* // "configurationId": "my_configurationId",
* // "configurationName": "my_configurationName",
* // "contactEmail": "my_contactEmail",
* // "contactPhone": "my_contactPhone",
* // "customMessage": "my_customMessage",
* // "dpcExtras": "my_dpcExtras",
* // "dpcResourcePath": "my_dpcResourcePath",
* // "isDefault": false,
* // "name": "my_name"
* // }
* }
*
* main().catch(e => {
* console.error(e);
* throw e;
* });
*
* ```
*
* @param params - Parameters for request
* @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
* @param callback - Optional callback that handles the response.
* @returns A promise if used with async/await, or void if used with a callback.
*/
get(params: Params$Resource$Customers$Configurations$Get, options: StreamMethodOptions): GaxiosPromise<Readable>;
get(params?: Params$Resource$Customers$Configurations$Get, options?: MethodOptions): GaxiosPromise<Schema$Configuration>;
get(params: Params$Resource$Customers$Configurations$Get, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
get(params: Params$Resource$Customers$Configurations$Get, options: MethodOptions | BodyResponseCallback<Schema$Configuration>, callback: BodyResponseCallback<Schema$Configuration>): void;
get(params: Params$Resource$Customers$Configurations$Get, callback: BodyResponseCallback<Schema$Configuration>): void;
get(callback: BodyResponseCallback<Schema$Configuration>): void;
/**
* Lists a customer's configurations.
* @example
* ```js
* // Before running the sample:
* // - Enable the API at:
* // https://console.developers.google.com/apis/api/androiddeviceprovisioning.googleapis.com
* // - Login into gcloud by running:
* // `$ gcloud auth application-default login`
* // - Install the npm module by running:
* // `$ npm install googleapis`
*
* const {google} = require('googleapis');
* const androiddeviceprovisioning = google.androiddeviceprovisioning('v1');
*
* async function main() {
* const auth = new google.auth.GoogleAuth({
* // Scopes can be specified either as an array or as a single, space-delimited string.
* scopes: [],
* });
*
* // Acquire an auth client, and bind it to all future calls
* const authClient = await auth.getClient();
* google.options({auth: authClient});
*
* // Do the magic
* const res = await androiddeviceprovisioning.customers.configurations.list({
* // Required. The customer that manages the listed configurations. An API resource name in the format `customers/[CUSTOMER_ID]`.
* parent: 'customers/my-customer',
* });
* console.log(res.data);
*
* // Example response
* // {
* // "configurations": []
* // }
* }
*
* main().catch(e => {
* console.error(e);
* throw e;
* });
*
* ```
*
* @param params - Parameters for request
* @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
* @param callback - Optional callback that handles the response.
* @returns A promise if used with async/await, or void if used with a callback.
*/
list(params: Params$Resource$Customers$Configurations$List, options: StreamMethodOptions): GaxiosPromise<Readable>;
list(params?: Params$Resource$Customers$Configurations$List, options?: MethodOptions): GaxiosPromise<Schema$CustomerListConfigurationsResponse>;
list(params: Params$Resource$Customers$Configurations$List, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
list(params: Params$Resource$Customers$Configurations$List, options: MethodOptions | BodyResponseCallback<Schema$CustomerListConfigurationsResponse>, callback: BodyResponseCallback<Schema$CustomerListConfigurationsResponse>): void;
list(params: Params$Resource$Customers$Configurations$List, callback: BodyResponseCallback<Schema$CustomerListConfigurationsResponse>): void;
list(callback: BodyResponseCallback<Schema$CustomerListConfigurationsResponse>): void;
/**
* Updates a configuration's field values.
* @example
* ```js
* // Before running the sample:
* // - Enable the API at:
* // https://console.developers.google.com/apis/api/androiddeviceprovisioning.googleapis.com
* // - Login into gcloud by running:
* // `$ gcloud auth application-default login`
* // - Install the npm module by running:
* // `$ npm install googleapis`
*
* const {google} = require('googleapis');
* const androiddeviceprovisioning = google.androiddeviceprovisioning('v1');
*
* async function main() {
* const auth = new google.auth.GoogleAuth({
* // Scopes can be specified either as an array or as a single, space-delimited string.
* scopes: [],
* });
*
* // Acquire an auth client, and bind it to all future calls
* const authClient = await auth.getClient();
* google.options({auth: authClient});
*
* // Do the magic
* const res = await androiddeviceprovisioning.customers.configurations.patch({
* // Output only. The API resource name in the format `customers/[CUSTOMER_ID]/configurations/[CONFIGURATION_ID]`. Assigned by the server.
* name: 'customers/my-customer/configurations/my-configuration',
* // Required. The field mask applied to the target `Configuration` before updating the fields. To learn more about using field masks, read [FieldMask](/protocol-buffers/docs/reference/google.protobuf#fieldmask) in the Protocol Buffers documentation.
* updateMask: 'placeholder-value',
*
* // Request bod