google-api-ruby-client/generated/google-apis-androiddevicepr.../lib/google/apis/androiddeviceprovisioning_v1/classes.rb

1415 lines
58 KiB
Ruby
Raw Normal View History

# Copyright 2020 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
require 'date'
require 'google/apis/core/base_service'
require 'google/apis/core/json_representation'
require 'google/apis/core/hashable'
require 'google/apis/errors'
module Google
module Apis
module AndroiddeviceprovisioningV1
# Request message to claim a device on behalf of a customer.
class ClaimDeviceRequest
include Google::Apis::Core::Hashable
# Required. The ID of the customer for whom the device is being claimed.
# Corresponds to the JSON property `customerId`
# @return [Fixnum]
attr_accessor :customer_id
# 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).
# Corresponds to the JSON property `deviceIdentifier`
# @return [Google::Apis::AndroiddeviceprovisioningV1::DeviceIdentifier]
attr_accessor :device_identifier
# Metadata entries that can be attached to a `Device`. To learn more, read [
# Device metadata](https://developers.google.com/zero-touch/guides/metadata).
# Corresponds to the JSON property `deviceMetadata`
# @return [Google::Apis::AndroiddeviceprovisioningV1::DeviceMetadata]
attr_accessor :device_metadata
# Required. The section type of the device's provisioning record.
# Corresponds to the JSON property `sectionType`
# @return [String]
attr_accessor :section_type
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@customer_id = args[:customer_id] if args.key?(:customer_id)
@device_identifier = args[:device_identifier] if args.key?(:device_identifier)
@device_metadata = args[:device_metadata] if args.key?(:device_metadata)
@section_type = args[:section_type] if args.key?(:section_type)
end
end
# Response message containing device id of the claim.
class ClaimDeviceResponse
include Google::Apis::Core::Hashable
# The device ID of the claimed device.
# Corresponds to the JSON property `deviceId`
# @return [Fixnum]
attr_accessor :device_id
# The resource name of the device in the format `partners/[PARTNER_ID]/devices/[
# DEVICE_ID]`.
# Corresponds to the JSON property `deviceName`
# @return [String]
attr_accessor :device_name
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@device_id = args[:device_id] if args.key?(:device_id)
@device_name = args[:device_name] if args.key?(:device_name)
end
end
# 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.
class ClaimDevicesRequest
include Google::Apis::Core::Hashable
# Required. A list of device claims.
# Corresponds to the JSON property `claims`
# @return [Array<Google::Apis::AndroiddeviceprovisioningV1::PartnerClaim>]
attr_accessor :claims
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@claims = args[:claims] if args.key?(:claims)
end
end
# A reseller, vendor, or customer in the zero-touch reseller and customer APIs.
class Company
include Google::Apis::Core::Hashable
# Optional. Email address of customer's users in the admin role. Each email
# address must be associated with a Google Account.
# Corresponds to the JSON property `adminEmails`
# @return [Array<String>]
attr_accessor :admin_emails
# Output only. The ID of the company. Assigned by the server.
# Corresponds to the JSON property `companyId`
# @return [Fixnum]
attr_accessor :company_id
# Required. The name of the company. For example _XYZ Corp_. Displayed to the
# company's employees in the zero-touch enrollment portal.
# Corresponds to the JSON property `companyName`
# @return [String]
attr_accessor :company_name
# 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.
# Corresponds to the JSON property `name`
# @return [String]
attr_accessor :name
# 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.
# Corresponds to the JSON property `ownerEmails`
# @return [Array<String>]
attr_accessor :owner_emails
# Output only. Whether any user from the company has accepted the latest Terms
# of Service (ToS). See TermsStatus.
# Corresponds to the JSON property `termsStatus`
# @return [String]
attr_accessor :terms_status
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@admin_emails = args[:admin_emails] if args.key?(:admin_emails)
@company_id = args[:company_id] if args.key?(:company_id)
@company_name = args[:company_name] if args.key?(:company_name)
@name = args[:name] if args.key?(:name)
@owner_emails = args[:owner_emails] if args.key?(:owner_emails)
@terms_status = args[:terms_status] if args.key?(:terms_status)
end
end
# 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.
class Configuration
include Google::Apis::Core::Hashable
# Required. The name of the organization. Zero-touch enrollment shows this
# organization name to device users during device provisioning.
# Corresponds to the JSON property `companyName`
# @return [String]
attr_accessor :company_name
# Output only. The ID of the configuration. Assigned by the server.
# Corresponds to the JSON property `configurationId`
# @return [Fixnum]
attr_accessor :configuration_id
# 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.
# Corresponds to the JSON property `configurationName`
# @return [String]
attr_accessor :configuration_name
# 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.
# Corresponds to the JSON property `contactEmail`
# @return [String]
attr_accessor :contact_email
# 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.
# Corresponds to the JSON property `contactPhone`
# @return [String]
attr_accessor :contact_phone
# A message, containing one or two sentences, to help device users get help or
# give them more details about whats happening to their device. Zero-touch
# enrollment shows this message before the device is provisioned.
# Corresponds to the JSON property `customMessage`
# @return [String]
attr_accessor :custom_message
# The JSON-formatted EMM provisioning extras that are passed to the DPC.
# Corresponds to the JSON property `dpcExtras`
# @return [String]
attr_accessor :dpc_extras
# Required. The resource name of the selected DPC (device policy controller) in
# the format `customers/[CUSTOMER_ID]/dpcs/*`. To list the supported DPCs, call `
# customers.dpcs.list`.
# Corresponds to the JSON property `dpcResourcePath`
# @return [String]
attr_accessor :dpc_resource_path
# 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`.
# Corresponds to the JSON property `isDefault`
# @return [Boolean]
attr_accessor :is_default
alias_method :is_default?, :is_default
# Output only. The API resource name in the format `customers/[CUSTOMER_ID]/
# configurations/[CONFIGURATION_ID]`. Assigned by the server.
# Corresponds to the JSON property `name`
# @return [String]
attr_accessor :name
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@company_name = args[:company_name] if args.key?(:company_name)
@configuration_id = args[:configuration_id] if args.key?(:configuration_id)
@configuration_name = args[:configuration_name] if args.key?(:configuration_name)
@contact_email = args[:contact_email] if args.key?(:contact_email)
@contact_phone = args[:contact_phone] if args.key?(:contact_phone)
@custom_message = args[:custom_message] if args.key?(:custom_message)
@dpc_extras = args[:dpc_extras] if args.key?(:dpc_extras)
@dpc_resource_path = args[:dpc_resource_path] if args.key?(:dpc_resource_path)
@is_default = args[:is_default] if args.key?(:is_default)
@name = args[:name] if args.key?(:name)
end
end
# Request message to create a customer.
class CreateCustomerRequest
include Google::Apis::Core::Hashable
# A reseller, vendor, or customer in the zero-touch reseller and customer APIs.
# Corresponds to the JSON property `customer`
# @return [Google::Apis::AndroiddeviceprovisioningV1::Company]
attr_accessor :customer
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@customer = args[:customer] if args.key?(:customer)
end
end
# Request message for customer to assign a configuration to device.
class CustomerApplyConfigurationRequest
include Google::Apis::Core::Hashable
# Required. The configuration applied to the device in the format `customers/[
# CUSTOMER_ID]/configurations/[CONFIGURATION_ID]`.
# Corresponds to the JSON property `configuration`
# @return [String]
attr_accessor :configuration
# 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).
# Corresponds to the JSON property `device`
# @return [Google::Apis::AndroiddeviceprovisioningV1::DeviceReference]
attr_accessor :device
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@configuration = args[:configuration] if args.key?(:configuration)
@device = args[:device] if args.key?(:device)
end
end
# Response message of customer's listing configuration.
class CustomerListConfigurationsResponse
include Google::Apis::Core::Hashable
# The configurations.
# Corresponds to the JSON property `configurations`
# @return [Array<Google::Apis::AndroiddeviceprovisioningV1::Configuration>]
attr_accessor :configurations
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@configurations = args[:configurations] if args.key?(:configurations)
end
end
# Response message for listing my customers.
class CustomerListCustomersResponse
include Google::Apis::Core::Hashable
# The customer accounts the calling user is a member of.
# Corresponds to the JSON property `customers`
# @return [Array<Google::Apis::AndroiddeviceprovisioningV1::Company>]
attr_accessor :customers
# A token used to access the next page of results. Omitted if no further results
# are available.
# Corresponds to the JSON property `nextPageToken`
# @return [String]
attr_accessor :next_page_token
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@customers = args[:customers] if args.key?(:customers)
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
end
end
# Response message of customer's liting devices.
class CustomerListDevicesResponse
include Google::Apis::Core::Hashable
# The customer's devices.
# Corresponds to the JSON property `devices`
# @return [Array<Google::Apis::AndroiddeviceprovisioningV1::Device>]
attr_accessor :devices
# A token used to access the next page of results. Omitted if no further results
# are available.
# Corresponds to the JSON property `nextPageToken`
# @return [String]
attr_accessor :next_page_token
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@devices = args[:devices] if args.key?(:devices)
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
end
end
# Response message of customer's listing DPCs.
class CustomerListDpcsResponse
include Google::Apis::Core::Hashable
# The list of DPCs available to the customer that support zero-touch enrollment.
# Corresponds to the JSON property `dpcs`
# @return [Array<Google::Apis::AndroiddeviceprovisioningV1::Dpc>]
attr_accessor :dpcs
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@dpcs = args[:dpcs] if args.key?(:dpcs)
end
end
# Request message for customer to remove the configuration from device.
class CustomerRemoveConfigurationRequest
include Google::Apis::Core::Hashable
# 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).
# Corresponds to the JSON property `device`
# @return [Google::Apis::AndroiddeviceprovisioningV1::DeviceReference]
attr_accessor :device
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@device = args[:device] if args.key?(:device)
end
end
# Request message for customer to unclaim a device.
class CustomerUnclaimDeviceRequest
include Google::Apis::Core::Hashable
# 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).
# Corresponds to the JSON property `device`
# @return [Google::Apis::AndroiddeviceprovisioningV1::DeviceReference]
attr_accessor :device
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@device = args[:device] if args.key?(:device)
end
end
# An Android device registered for zero-touch enrollment.
class Device
include Google::Apis::Core::Hashable
# 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.
# Corresponds to the JSON property `claims`
# @return [Array<Google::Apis::AndroiddeviceprovisioningV1::DeviceClaim>]
attr_accessor :claims
# Not available to resellers.
# Corresponds to the JSON property `configuration`
# @return [String]
attr_accessor :configuration
# Output only. The ID of the device. Assigned by the server.
# Corresponds to the JSON property `deviceId`
# @return [Fixnum]
attr_accessor :device_id
# 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).
# Corresponds to the JSON property `deviceIdentifier`
# @return [Google::Apis::AndroiddeviceprovisioningV1::DeviceIdentifier]
attr_accessor :device_identifier
# Metadata entries that can be attached to a `Device`. To learn more, read [
# Device metadata](https://developers.google.com/zero-touch/guides/metadata).
# Corresponds to the JSON property `deviceMetadata`
# @return [Google::Apis::AndroiddeviceprovisioningV1::DeviceMetadata]
attr_accessor :device_metadata
# Output only. The API resource name in the format `partners/[PARTNER_ID]/
# devices/[DEVICE_ID]`. Assigned by the server.
# Corresponds to the JSON property `name`
# @return [String]
attr_accessor :name
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@claims = args[:claims] if args.key?(:claims)
@configuration = args[:configuration] if args.key?(:configuration)
@device_id = args[:device_id] if args.key?(:device_id)
@device_identifier = args[:device_identifier] if args.key?(:device_identifier)
@device_metadata = args[:device_metadata] if args.key?(:device_metadata)
@name = args[:name] if args.key?(:name)
end
end
# 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).
class DeviceClaim
include Google::Apis::Core::Hashable
# The ID of the Customer that purchased the device.
# Corresponds to the JSON property `ownerCompanyId`
# @return [Fixnum]
attr_accessor :owner_company_id
# The ID of the reseller that claimed the device.
# Corresponds to the JSON property `resellerId`
# @return [Fixnum]
attr_accessor :reseller_id
# Output only. The type of claim made on the device.
# Corresponds to the JSON property `sectionType`
# @return [String]
attr_accessor :section_type
# The timestamp when the device will exit vacation mode. This value is present
# iff the device is in 'vacation mode'.
# Corresponds to the JSON property `vacationModeExpireTime`
# @return [String]
attr_accessor :vacation_mode_expire_time
# The timestamp when the device was put into vacation mode. This value is
# present iff the device is in 'vacation mode'.
# Corresponds to the JSON property `vacationModeStartTime`
# @return [String]
attr_accessor :vacation_mode_start_time
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@owner_company_id = args[:owner_company_id] if args.key?(:owner_company_id)
@reseller_id = args[:reseller_id] if args.key?(:reseller_id)
@section_type = args[:section_type] if args.key?(:section_type)
@vacation_mode_expire_time = args[:vacation_mode_expire_time] if args.key?(:vacation_mode_expire_time)
@vacation_mode_start_time = args[:vacation_mode_start_time] if args.key?(:vacation_mode_start_time)
end
end
# 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).
class DeviceIdentifier
include Google::Apis::Core::Hashable
# The devices IMEI number. Validated on input.
# Corresponds to the JSON property `imei`
# @return [String]
attr_accessor :imei
# The device manufacturers 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).
# Corresponds to the JSON property `manufacturer`
# @return [String]
attr_accessor :manufacturer
# The devices MEID number.
# Corresponds to the JSON property `meid`
# @return [String]
attr_accessor :meid
# 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).
# Corresponds to the JSON property `model`
# @return [String]
attr_accessor :model
# The manufacturer's serial number for the device. This value might not be
# unique across different device models.
# Corresponds to the JSON property `serialNumber`
# @return [String]
attr_accessor :serial_number
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@imei = args[:imei] if args.key?(:imei)
@manufacturer = args[:manufacturer] if args.key?(:manufacturer)
@meid = args[:meid] if args.key?(:meid)
@model = args[:model] if args.key?(:model)
@serial_number = args[:serial_number] if args.key?(:serial_number)
end
end
# Metadata entries that can be attached to a `Device`. To learn more, read [
# Device metadata](https://developers.google.com/zero-touch/guides/metadata).
class DeviceMetadata
include Google::Apis::Core::Hashable
# Metadata entries recorded as key-value pairs.
# Corresponds to the JSON property `entries`
# @return [Hash<String,String>]
attr_accessor :entries
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@entries = args[:entries] if args.key?(:entries)
end
end
# 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).
class DeviceReference
include Google::Apis::Core::Hashable
# The ID of the device.
# Corresponds to the JSON property `deviceId`
# @return [Fixnum]
attr_accessor :device_id
# 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).
# Corresponds to the JSON property `deviceIdentifier`
# @return [Google::Apis::AndroiddeviceprovisioningV1::DeviceIdentifier]
attr_accessor :device_identifier
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@device_id = args[:device_id] if args.key?(:device_id)
@device_identifier = args[:device_identifier] if args.key?(:device_identifier)
end
end
# Tracks the status of a long-running operation to asynchronously update a batch
# of reseller metadata attached to devices. To learn more, read [Longrunning
# batch operations](/zero-touch/guides/how-it-works#operations).
class DevicesLongRunningOperationMetadata
include Google::Apis::Core::Hashable
# 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.
# Corresponds to the JSON property `devicesCount`
# @return [Fixnum]
attr_accessor :devices_count
# The processing status of the operation.
# Corresponds to the JSON property `processingStatus`
# @return [String]
attr_accessor :processing_status
# 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.
# Corresponds to the JSON property `progress`
# @return [Fixnum]
attr_accessor :progress
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@devices_count = args[:devices_count] if args.key?(:devices_count)
@processing_status = args[:processing_status] if args.key?(:processing_status)
@progress = args[:progress] if args.key?(:progress)
end
end
# Tracks the status of a long-running operation to claim, unclaim, or attach
# metadata to devices. To learn more, read [Longrunning batch operations](/zero-
# touch/guides/how-it-works#operations).
class DevicesLongRunningOperationResponse
include Google::Apis::Core::Hashable
# The processing status for each device in the operation. One `PerDeviceStatus`
# per device. The list order matches the items in the original request.
# Corresponds to the JSON property `perDeviceStatus`
# @return [Array<Google::Apis::AndroiddeviceprovisioningV1::OperationPerDevice>]
attr_accessor :per_device_status
# A summary of how many items in the operation the server processed successfully.
# Updated as the operation progresses.
# Corresponds to the JSON property `successCount`
# @return [Fixnum]
attr_accessor :success_count
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@per_device_status = args[:per_device_status] if args.key?(:per_device_status)
@success_count = args[:success_count] if args.key?(:success_count)
end
end
# 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.
class Dpc
include Google::Apis::Core::Hashable
# Output only. The title of the DPC app in Google Play. For example, _Google
# Apps Device Policy_. Useful in an application's user interface.
# Corresponds to the JSON property `dpcName`
# @return [String]
attr_accessor :dpc_name
# 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`).
# Corresponds to the JSON property `name`
# @return [String]
attr_accessor :name
# 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.
# Corresponds to the JSON property `packageName`
# @return [String]
attr_accessor :package_name
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@dpc_name = args[:dpc_name] if args.key?(:dpc_name)
@name = args[:name] if args.key?(:name)
@package_name = args[:package_name] if args.key?(:package_name)
end
end
# 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 ````.
class Empty
include Google::Apis::Core::Hashable
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
end
end
# Request to find devices.
class FindDevicesByDeviceIdentifierRequest
include Google::Apis::Core::Hashable
# 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).
# Corresponds to the JSON property `deviceIdentifier`
# @return [Google::Apis::AndroiddeviceprovisioningV1::DeviceIdentifier]
attr_accessor :device_identifier
# Required. The maximum number of devices to show in a page of results. Must be
# between 1 and 100 inclusive.
# Corresponds to the JSON property `limit`
# @return [Fixnum]
attr_accessor :limit
# A token specifying which result page to return.
# Corresponds to the JSON property `pageToken`
# @return [String]
attr_accessor :page_token
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@device_identifier = args[:device_identifier] if args.key?(:device_identifier)
@limit = args[:limit] if args.key?(:limit)
@page_token = args[:page_token] if args.key?(:page_token)
end
end
# Response containing found devices.
class FindDevicesByDeviceIdentifierResponse
include Google::Apis::Core::Hashable
# Found devices.
# Corresponds to the JSON property `devices`
# @return [Array<Google::Apis::AndroiddeviceprovisioningV1::Device>]
attr_accessor :devices
# A token used to access the next page of results. Omitted if no further results
# are available.
# Corresponds to the JSON property `nextPageToken`
# @return [String]
attr_accessor :next_page_token
# The total count of items in the list irrespective of pagination.
# Corresponds to the JSON property `totalSize`
# @return [Fixnum]
attr_accessor :total_size
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@devices = args[:devices] if args.key?(:devices)
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
@total_size = args[:total_size] if args.key?(:total_size)
end
end
# Request to find devices by customers.
class FindDevicesByOwnerRequest
include Google::Apis::Core::Hashable
# Required. The list of customer IDs to search for.
# Corresponds to the JSON property `customerId`
# @return [Array<Fixnum>]
attr_accessor :customer_id
# Required. The maximum number of devices to show in a page of results. Must be
# between 1 and 100 inclusive.
# Corresponds to the JSON property `limit`
# @return [Fixnum]
attr_accessor :limit
# A token specifying which result page to return.
# Corresponds to the JSON property `pageToken`
# @return [String]
attr_accessor :page_token
# Required. The section type of the device's provisioning record.
# Corresponds to the JSON property `sectionType`
# @return [String]
attr_accessor :section_type
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@customer_id = args[:customer_id] if args.key?(:customer_id)
@limit = args[:limit] if args.key?(:limit)
@page_token = args[:page_token] if args.key?(:page_token)
@section_type = args[:section_type] if args.key?(:section_type)
end
end
# Response containing found devices.
class FindDevicesByOwnerResponse
include Google::Apis::Core::Hashable
# The customer's devices.
# Corresponds to the JSON property `devices`
# @return [Array<Google::Apis::AndroiddeviceprovisioningV1::Device>]
attr_accessor :devices
# A token used to access the next page of results. Omitted if no further results
# are available.
# Corresponds to the JSON property `nextPageToken`
# @return [String]
attr_accessor :next_page_token
# The total count of items in the list irrespective of pagination.
# Corresponds to the JSON property `totalSize`
# @return [Fixnum]
attr_accessor :total_size
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@devices = args[:devices] if args.key?(:devices)
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
@total_size = args[:total_size] if args.key?(:total_size)
end
end
# Response message of all customers related to this partner.
class ListCustomersResponse
include Google::Apis::Core::Hashable
# List of customers related to this reseller partner.
# Corresponds to the JSON property `customers`
# @return [Array<Google::Apis::AndroiddeviceprovisioningV1::Company>]
attr_accessor :customers
# A token to retrieve the next page of results. Omitted if no further results
# are available.
# Corresponds to the JSON property `nextPageToken`
# @return [String]
attr_accessor :next_page_token
# The total count of items in the list irrespective of pagination.
# Corresponds to the JSON property `totalSize`
# @return [Fixnum]
attr_accessor :total_size
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@customers = args[:customers] if args.key?(:customers)
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
@total_size = args[:total_size] if args.key?(:total_size)
end
end
# Response message to list customers of the vendor.
class ListVendorCustomersResponse
include Google::Apis::Core::Hashable
# List of customers of the vendor.
# Corresponds to the JSON property `customers`
# @return [Array<Google::Apis::AndroiddeviceprovisioningV1::Company>]
attr_accessor :customers
# A token to retrieve the next page of results. Omitted if no further results
# are available.
# Corresponds to the JSON property `nextPageToken`
# @return [String]
attr_accessor :next_page_token
# The total count of items in the list irrespective of pagination.
# Corresponds to the JSON property `totalSize`
# @return [Fixnum]
attr_accessor :total_size
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@customers = args[:customers] if args.key?(:customers)
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
@total_size = args[:total_size] if args.key?(:total_size)
end
end
# Response message to list vendors of the partner.
class ListVendorsResponse
include Google::Apis::Core::Hashable
# A token to retrieve the next page of results. Omitted if no further results
# are available.
# Corresponds to the JSON property `nextPageToken`
# @return [String]
attr_accessor :next_page_token
# The total count of items in the list irrespective of pagination.
# Corresponds to the JSON property `totalSize`
# @return [Fixnum]
attr_accessor :total_size
# List of vendors of the reseller partner. Fields `name`, `companyId` and `
# companyName` are populated to the Company object.
# Corresponds to the JSON property `vendors`
# @return [Array<Google::Apis::AndroiddeviceprovisioningV1::Company>]
attr_accessor :vendors
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
@total_size = args[:total_size] if args.key?(:total_size)
@vendors = args[:vendors] if args.key?(:vendors)
end
end
# This resource represents a long-running operation that is the result of a
# network API call.
class Operation
include Google::Apis::Core::Hashable
# 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.
# Corresponds to the JSON property `done`
# @return [Boolean]
attr_accessor :done
alias_method :done?, :done
# 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).
# Corresponds to the JSON property `error`
# @return [Google::Apis::AndroiddeviceprovisioningV1::Status]
attr_accessor :error
# This field will contain a `DevicesLongRunningOperationMetadata` object if the
# operation is created by `claimAsync`, `unclaimAsync`, or `updateMetadataAsync`.
# Corresponds to the JSON property `metadata`
# @return [Hash<String,Object>]
attr_accessor :metadata
# 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``.
# Corresponds to the JSON property `name`
# @return [String]
attr_accessor :name
# This field will contain a `DevicesLongRunningOperationResponse` object if the
# operation is created by `claimAsync`, `unclaimAsync`, or `updateMetadataAsync`.
# Corresponds to the JSON property `response`
# @return [Hash<String,Object>]
attr_accessor :response
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@done = args[:done] if args.key?(:done)
@error = args[:error] if args.key?(:error)
@metadata = args[:metadata] if args.key?(:metadata)
@name = args[:name] if args.key?(:name)
@response = args[:response] if args.key?(:response)
end
end
# A task for each device in the operation. Corresponds to each device change in
# the request.
class OperationPerDevice
include Google::Apis::Core::Hashable
# Identifies one claim request.
# Corresponds to the JSON property `claim`
# @return [Google::Apis::AndroiddeviceprovisioningV1::PartnerClaim]
attr_accessor :claim
# Captures the processing status for each device in the operation.
# Corresponds to the JSON property `result`
# @return [Google::Apis::AndroiddeviceprovisioningV1::PerDeviceStatusInBatch]
attr_accessor :result
# Identifies one unclaim request.
# Corresponds to the JSON property `unclaim`
# @return [Google::Apis::AndroiddeviceprovisioningV1::PartnerUnclaim]
attr_accessor :unclaim
# Identifies metadata updates to one device.
# Corresponds to the JSON property `updateMetadata`
# @return [Google::Apis::AndroiddeviceprovisioningV1::UpdateMetadataArguments]
attr_accessor :update_metadata
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@claim = args[:claim] if args.key?(:claim)
@result = args[:result] if args.key?(:result)
@unclaim = args[:unclaim] if args.key?(:unclaim)
@update_metadata = args[:update_metadata] if args.key?(:update_metadata)
end
end
# Identifies one claim request.
class PartnerClaim
include Google::Apis::Core::Hashable
# Required. The ID of the customer for whom the device is being claimed.
# Corresponds to the JSON property `customerId`
# @return [Fixnum]
attr_accessor :customer_id
# 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).
# Corresponds to the JSON property `deviceIdentifier`
# @return [Google::Apis::AndroiddeviceprovisioningV1::DeviceIdentifier]
attr_accessor :device_identifier
# Metadata entries that can be attached to a `Device`. To learn more, read [
# Device metadata](https://developers.google.com/zero-touch/guides/metadata).
# Corresponds to the JSON property `deviceMetadata`
# @return [Google::Apis::AndroiddeviceprovisioningV1::DeviceMetadata]
attr_accessor :device_metadata
# Required. The section type of the device's provisioning record.
# Corresponds to the JSON property `sectionType`
# @return [String]
attr_accessor :section_type
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@customer_id = args[:customer_id] if args.key?(:customer_id)
@device_identifier = args[:device_identifier] if args.key?(:device_identifier)
@device_metadata = args[:device_metadata] if args.key?(:device_metadata)
@section_type = args[:section_type] if args.key?(:section_type)
end
end
# Identifies one unclaim request.
class PartnerUnclaim
include Google::Apis::Core::Hashable
# Required. Device ID of the device.
# Corresponds to the JSON property `deviceId`
# @return [Fixnum]
attr_accessor :device_id
# 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).
# Corresponds to the JSON property `deviceIdentifier`
# @return [Google::Apis::AndroiddeviceprovisioningV1::DeviceIdentifier]
attr_accessor :device_identifier
# Required. The section type of the device's provisioning record.
# Corresponds to the JSON property `sectionType`
# @return [String]
attr_accessor :section_type
# Optional. The duration of the vacation unlock starting from when the request
# is processed. (1 day is treated as 24 hours)
# Corresponds to the JSON property `vacationModeDays`
# @return [Fixnum]
attr_accessor :vacation_mode_days
# Optional. The expiration time of the vacation unlock.
# Corresponds to the JSON property `vacationModeExpireTime`
# @return [String]
attr_accessor :vacation_mode_expire_time
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@device_id = args[:device_id] if args.key?(:device_id)
@device_identifier = args[:device_identifier] if args.key?(:device_identifier)
@section_type = args[:section_type] if args.key?(:section_type)
@vacation_mode_days = args[:vacation_mode_days] if args.key?(:vacation_mode_days)
@vacation_mode_expire_time = args[:vacation_mode_expire_time] if args.key?(:vacation_mode_expire_time)
end
end
# Captures the processing status for each device in the operation.
class PerDeviceStatusInBatch
include Google::Apis::Core::Hashable
# If processing succeeds, the device ID of the device.
# Corresponds to the JSON property `deviceId`
# @return [Fixnum]
attr_accessor :device_id
# If processing fails, the error type.
# Corresponds to the JSON property `errorIdentifier`
# @return [String]
attr_accessor :error_identifier
# If processing fails, a developer message explaining what went wrong.
# Corresponds to the JSON property `errorMessage`
# @return [String]
attr_accessor :error_message
# The result status of the device after processing.
# Corresponds to the JSON property `status`
# @return [String]
attr_accessor :status
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@device_id = args[:device_id] if args.key?(:device_id)
@error_identifier = args[:error_identifier] if args.key?(:error_identifier)
@error_message = args[:error_message] if args.key?(:error_message)
@status = args[:status] if args.key?(:status)
end
end
# 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).
class Status
include Google::Apis::Core::Hashable
# The status code, which should be an enum value of google.rpc.Code.
# Corresponds to the JSON property `code`
# @return [Fixnum]
attr_accessor :code
# A list of messages that carry the error details. There is a common set of
# message types for APIs to use.
# Corresponds to the JSON property `details`
# @return [Array<Hash<String,Object>>]
attr_accessor :details
# 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.
# Corresponds to the JSON property `message`
# @return [String]
attr_accessor :message
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@code = args[:code] if args.key?(:code)
@details = args[:details] if args.key?(:details)
@message = args[:message] if args.key?(:message)
end
end
# Request message to unclaim a device.
class UnclaimDeviceRequest
include Google::Apis::Core::Hashable
# Required. The device ID returned by `ClaimDevice`.
# Corresponds to the JSON property `deviceId`
# @return [Fixnum]
attr_accessor :device_id
# 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).
# Corresponds to the JSON property `deviceIdentifier`
# @return [Google::Apis::AndroiddeviceprovisioningV1::DeviceIdentifier]
attr_accessor :device_identifier
# Required. The section type of the device's provisioning record.
# Corresponds to the JSON property `sectionType`
# @return [String]
attr_accessor :section_type
# The duration of the vacation unlock starting from when the request is
# processed. (1 day is treated as 24 hours)
# Corresponds to the JSON property `vacationModeDays`
# @return [Fixnum]
attr_accessor :vacation_mode_days
# The expiration time of the vacation unlock.
# Corresponds to the JSON property `vacationModeExpireTime`
# @return [String]
attr_accessor :vacation_mode_expire_time
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@device_id = args[:device_id] if args.key?(:device_id)
@device_identifier = args[:device_identifier] if args.key?(:device_identifier)
@section_type = args[:section_type] if args.key?(:section_type)
@vacation_mode_days = args[:vacation_mode_days] if args.key?(:vacation_mode_days)
@vacation_mode_expire_time = args[:vacation_mode_expire_time] if args.key?(:vacation_mode_expire_time)
end
end
# Request to unclaim devices asynchronously in batch.
class UnclaimDevicesRequest
include Google::Apis::Core::Hashable
# Required. The list of devices to unclaim.
# Corresponds to the JSON property `unclaims`
# @return [Array<Google::Apis::AndroiddeviceprovisioningV1::PartnerUnclaim>]
attr_accessor :unclaims
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@unclaims = args[:unclaims] if args.key?(:unclaims)
end
end
# Request to update device metadata in batch.
class UpdateDeviceMetadataInBatchRequest
include Google::Apis::Core::Hashable
# Required. The list of metadata updates.
# Corresponds to the JSON property `updates`
# @return [Array<Google::Apis::AndroiddeviceprovisioningV1::UpdateMetadataArguments>]
attr_accessor :updates
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@updates = args[:updates] if args.key?(:updates)
end
end
# Request to set metadata for a device.
class UpdateDeviceMetadataRequest
include Google::Apis::Core::Hashable
# Metadata entries that can be attached to a `Device`. To learn more, read [
# Device metadata](https://developers.google.com/zero-touch/guides/metadata).
# Corresponds to the JSON property `deviceMetadata`
# @return [Google::Apis::AndroiddeviceprovisioningV1::DeviceMetadata]
attr_accessor :device_metadata
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@device_metadata = args[:device_metadata] if args.key?(:device_metadata)
end
end
# Identifies metadata updates to one device.
class UpdateMetadataArguments
include Google::Apis::Core::Hashable
# Required. Device ID of the device.
# Corresponds to the JSON property `deviceId`
# @return [Fixnum]
attr_accessor :device_id
# 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).
# Corresponds to the JSON property `deviceIdentifier`
# @return [Google::Apis::AndroiddeviceprovisioningV1::DeviceIdentifier]
attr_accessor :device_identifier
# Metadata entries that can be attached to a `Device`. To learn more, read [
# Device metadata](https://developers.google.com/zero-touch/guides/metadata).
# Corresponds to the JSON property `deviceMetadata`
# @return [Google::Apis::AndroiddeviceprovisioningV1::DeviceMetadata]
attr_accessor :device_metadata
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@device_id = args[:device_id] if args.key?(:device_id)
@device_identifier = args[:device_identifier] if args.key?(:device_identifier)
@device_metadata = args[:device_metadata] if args.key?(:device_metadata)
end
end
end
end
end