1415 lines
		
	
	
		
			58 KiB
		
	
	
	
		
			Ruby
		
	
	
	
			
		
		
	
	
			1415 lines
		
	
	
		
			58 KiB
		
	
	
	
		
			Ruby
		
	
	
	
| # Copyright 2015 Google Inc.
 | ||
| #
 | ||
| # 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 what’s 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 device’s IMEI number. Validated on input.
 | ||
|         # Corresponds to the JSON property `imei`
 | ||
|         # @return [String]
 | ||
|         attr_accessor :imei
 | ||
|       
 | ||
|         # 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).
 | ||
|         # Corresponds to the JSON property `manufacturer`
 | ||
|         # @return [String]
 | ||
|         attr_accessor :manufacturer
 | ||
|       
 | ||
|         # The device’s 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 [Long‑running
 | ||
|       # 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 [Long‑running 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
 |