3034 lines
122 KiB
Ruby
3034 lines
122 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 AndroidenterpriseV1
|
|
|
|
# This represents an enterprise admin who can manage the enterprise
|
|
# in the managed Google Play store.
|
|
class Administrator
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The admin's email address.
|
|
# Corresponds to the JSON property `email`
|
|
# @return [String]
|
|
attr_accessor :email
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@email = args[:email] if args.key?(:email)
|
|
end
|
|
end
|
|
|
|
# A token authorizing an admin to access an iframe.
|
|
class AdministratorWebToken
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# An opaque token to be passed to the Play front-end to generate an iframe.
|
|
# Corresponds to the JSON property `token`
|
|
# @return [String]
|
|
attr_accessor :token
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@token = args[:token] if args.key?(:token)
|
|
end
|
|
end
|
|
|
|
# Specification for a token used to generate iframes. The token specifies
|
|
# what data the admin is allowed to modify and the URI the iframe is
|
|
# allowed to communiate with.
|
|
class AdministratorWebTokenSpec
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Options for displaying the Managed Configuration page.
|
|
# Corresponds to the JSON property `managedConfigurations`
|
|
# @return [Google::Apis::AndroidenterpriseV1::AdministratorWebTokenSpecManagedConfigurations]
|
|
attr_accessor :managed_configurations
|
|
|
|
# The URI of the parent frame hosting the iframe. To prevent XSS, the iframe
|
|
# may not be hosted at other URIs. This URI must be https.
|
|
# Use whitespaces to separate multiple parent URIs.
|
|
# Corresponds to the JSON property `parent`
|
|
# @return [String]
|
|
attr_accessor :parent
|
|
|
|
# Deprecated. Use <code>PlaySearch.approveApps</code>.
|
|
# Corresponds to the JSON property `permission`
|
|
# @return [Array<String>]
|
|
attr_accessor :permission
|
|
|
|
# Options for displaying the managed Play Search apps page.
|
|
# Corresponds to the JSON property `playSearch`
|
|
# @return [Google::Apis::AndroidenterpriseV1::AdministratorWebTokenSpecPlaySearch]
|
|
attr_accessor :play_search
|
|
|
|
# Options for displaying the Private Apps page.
|
|
# Corresponds to the JSON property `privateApps`
|
|
# @return [Google::Apis::AndroidenterpriseV1::AdministratorWebTokenSpecPrivateApps]
|
|
attr_accessor :private_apps
|
|
|
|
# Options for displaying the Organize apps page.
|
|
# Corresponds to the JSON property `storeBuilder`
|
|
# @return [Google::Apis::AndroidenterpriseV1::AdministratorWebTokenSpecStoreBuilder]
|
|
attr_accessor :store_builder
|
|
|
|
# Options for displaying the Web Apps page.
|
|
# Corresponds to the JSON property `webApps`
|
|
# @return [Google::Apis::AndroidenterpriseV1::AdministratorWebTokenSpecWebApps]
|
|
attr_accessor :web_apps
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@managed_configurations = args[:managed_configurations] if args.key?(:managed_configurations)
|
|
@parent = args[:parent] if args.key?(:parent)
|
|
@permission = args[:permission] if args.key?(:permission)
|
|
@play_search = args[:play_search] if args.key?(:play_search)
|
|
@private_apps = args[:private_apps] if args.key?(:private_apps)
|
|
@store_builder = args[:store_builder] if args.key?(:store_builder)
|
|
@web_apps = args[:web_apps] if args.key?(:web_apps)
|
|
end
|
|
end
|
|
|
|
#
|
|
class AdministratorWebTokenSpecManagedConfigurations
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Whether the Managed Configuration page is displayed. Default is true.
|
|
# Corresponds to the JSON property `enabled`
|
|
# @return [Boolean]
|
|
attr_accessor :enabled
|
|
alias_method :enabled?, :enabled
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@enabled = args[:enabled] if args.key?(:enabled)
|
|
end
|
|
end
|
|
|
|
#
|
|
class AdministratorWebTokenSpecPlaySearch
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Allow access to the iframe in <a
|
|
# href="https://developers.google.com/android/work/play/emm-api/managed-play-
|
|
# iframe#render">approve
|
|
# mode</a>. Default is false.
|
|
# Corresponds to the JSON property `approveApps`
|
|
# @return [Boolean]
|
|
attr_accessor :approve_apps
|
|
alias_method :approve_apps?, :approve_apps
|
|
|
|
# Whether the managed Play Search apps page is displayed. Default is true.
|
|
# Corresponds to the JSON property `enabled`
|
|
# @return [Boolean]
|
|
attr_accessor :enabled
|
|
alias_method :enabled?, :enabled
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@approve_apps = args[:approve_apps] if args.key?(:approve_apps)
|
|
@enabled = args[:enabled] if args.key?(:enabled)
|
|
end
|
|
end
|
|
|
|
#
|
|
class AdministratorWebTokenSpecPrivateApps
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Whether the Private Apps page is displayed. Default is true.
|
|
# Corresponds to the JSON property `enabled`
|
|
# @return [Boolean]
|
|
attr_accessor :enabled
|
|
alias_method :enabled?, :enabled
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@enabled = args[:enabled] if args.key?(:enabled)
|
|
end
|
|
end
|
|
|
|
#
|
|
class AdministratorWebTokenSpecStoreBuilder
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Whether the Organize apps page is displayed. Default is true.
|
|
# Corresponds to the JSON property `enabled`
|
|
# @return [Boolean]
|
|
attr_accessor :enabled
|
|
alias_method :enabled?, :enabled
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@enabled = args[:enabled] if args.key?(:enabled)
|
|
end
|
|
end
|
|
|
|
#
|
|
class AdministratorWebTokenSpecWebApps
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Whether the Web Apps page is displayed. Default is true.
|
|
# Corresponds to the JSON property `enabled`
|
|
# @return [Boolean]
|
|
attr_accessor :enabled
|
|
alias_method :enabled?, :enabled
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@enabled = args[:enabled] if args.key?(:enabled)
|
|
end
|
|
end
|
|
|
|
# Represents the list of app restrictions available to be pre-configured for
|
|
# the product.
|
|
class AppRestrictionsSchema
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Deprecated.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# The set of restrictions that make up this schema.
|
|
# Corresponds to the JSON property `restrictions`
|
|
# @return [Array<Google::Apis::AndroidenterpriseV1::AppRestrictionsSchemaRestriction>]
|
|
attr_accessor :restrictions
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@restrictions = args[:restrictions] if args.key?(:restrictions)
|
|
end
|
|
end
|
|
|
|
# An event generated when a new app version is uploaded to Google Play and its
|
|
# app restrictions schema changed.
|
|
# To fetch the app restrictions schema for an app, use
|
|
# Products.getAppRestrictionsSchema on the EMM API.
|
|
class AppRestrictionsSchemaChangeEvent
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The id of the product (e.g. "app:com.google.android.gm") for which the
|
|
# app restriction schema changed. This field will always be present.
|
|
# Corresponds to the JSON property `productId`
|
|
# @return [String]
|
|
attr_accessor :product_id
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@product_id = args[:product_id] if args.key?(:product_id)
|
|
end
|
|
end
|
|
|
|
# A restriction in the App Restriction Schema represents a piece of
|
|
# configuration that may be pre-applied.
|
|
class AppRestrictionsSchemaRestriction
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# A typed value for the restriction.
|
|
# Corresponds to the JSON property `defaultValue`
|
|
# @return [Google::Apis::AndroidenterpriseV1::AppRestrictionsSchemaRestrictionRestrictionValue]
|
|
attr_accessor :default_value
|
|
|
|
# A longer description of the restriction, giving more detail of what it
|
|
# affects.
|
|
# Corresponds to the JSON property `description`
|
|
# @return [String]
|
|
attr_accessor :description
|
|
|
|
# For <code>choice</code> or <code>multiselect</code> restrictions, the list
|
|
# of possible entries' human-readable names.
|
|
# Corresponds to the JSON property `entry`
|
|
# @return [Array<String>]
|
|
attr_accessor :entry
|
|
|
|
# For <code>choice</code> or <code>multiselect</code> restrictions, the list
|
|
# of possible entries' machine-readable values. These values should be used
|
|
# in the configuration, either as a single <code>string</code> value for a
|
|
# <code>choice</code> restriction or in a <code>stringArray</code> for a
|
|
# <code>multiselect</code> restriction.
|
|
# Corresponds to the JSON property `entryValue`
|
|
# @return [Array<String>]
|
|
attr_accessor :entry_value
|
|
|
|
# The unique key that the product uses to identify the restriction,
|
|
# e.g. "com.google.android.gm.fieldname".
|
|
# Corresponds to the JSON property `key`
|
|
# @return [String]
|
|
attr_accessor :key
|
|
|
|
# For <code>bundle</code> or <code>bundleArray</code> restrictions, the list
|
|
# of nested restrictions. A <code>bundle</code> restriction is always nested
|
|
# within a <code>bundleArray</code> restriction, and a
|
|
# <code>bundleArray</code> restriction is at most two levels deep.
|
|
# Corresponds to the JSON property `nestedRestriction`
|
|
# @return [Array<Google::Apis::AndroidenterpriseV1::AppRestrictionsSchemaRestriction>]
|
|
attr_accessor :nested_restriction
|
|
|
|
# The type of the restriction.
|
|
# Corresponds to the JSON property `restrictionType`
|
|
# @return [String]
|
|
attr_accessor :restriction_type
|
|
|
|
# The name of the restriction.
|
|
# Corresponds to the JSON property `title`
|
|
# @return [String]
|
|
attr_accessor :title
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@default_value = args[:default_value] if args.key?(:default_value)
|
|
@description = args[:description] if args.key?(:description)
|
|
@entry = args[:entry] if args.key?(:entry)
|
|
@entry_value = args[:entry_value] if args.key?(:entry_value)
|
|
@key = args[:key] if args.key?(:key)
|
|
@nested_restriction = args[:nested_restriction] if args.key?(:nested_restriction)
|
|
@restriction_type = args[:restriction_type] if args.key?(:restriction_type)
|
|
@title = args[:title] if args.key?(:title)
|
|
end
|
|
end
|
|
|
|
# A typed value for the restriction.
|
|
class AppRestrictionsSchemaRestrictionRestrictionValue
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The type of the value being provided.
|
|
# Corresponds to the JSON property `type`
|
|
# @return [String]
|
|
attr_accessor :type
|
|
|
|
# The boolean value - this will only be present if type is bool.
|
|
# Corresponds to the JSON property `valueBool`
|
|
# @return [Boolean]
|
|
attr_accessor :value_bool
|
|
alias_method :value_bool?, :value_bool
|
|
|
|
# The integer value - this will only be present if type is integer.
|
|
# Corresponds to the JSON property `valueInteger`
|
|
# @return [Fixnum]
|
|
attr_accessor :value_integer
|
|
|
|
# The list of string values - this will only be present if type is
|
|
# multiselect.
|
|
# Corresponds to the JSON property `valueMultiselect`
|
|
# @return [Array<String>]
|
|
attr_accessor :value_multiselect
|
|
|
|
# The string value - this will be present for types string, choice and
|
|
# hidden.
|
|
# Corresponds to the JSON property `valueString`
|
|
# @return [String]
|
|
attr_accessor :value_string
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@type = args[:type] if args.key?(:type)
|
|
@value_bool = args[:value_bool] if args.key?(:value_bool)
|
|
@value_integer = args[:value_integer] if args.key?(:value_integer)
|
|
@value_multiselect = args[:value_multiselect] if args.key?(:value_multiselect)
|
|
@value_string = args[:value_string] if args.key?(:value_string)
|
|
end
|
|
end
|
|
|
|
# List of states set by the app.
|
|
class AppState
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# List of keyed app states.
|
|
# This field will always be present.
|
|
# Corresponds to the JSON property `keyedAppState`
|
|
# @return [Array<Google::Apis::AndroidenterpriseV1::KeyedAppState>]
|
|
attr_accessor :keyed_app_state
|
|
|
|
# The package name of the app.
|
|
# This field will always be present.
|
|
# 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)
|
|
@keyed_app_state = args[:keyed_app_state] if args.key?(:keyed_app_state)
|
|
@package_name = args[:package_name] if args.key?(:package_name)
|
|
end
|
|
end
|
|
|
|
# An event generated when a new version of an app is uploaded to Google Play.
|
|
# Notifications are sent for new public versions only: alpha, beta, or canary
|
|
# versions do not generate this event. To fetch up-to-date version history for
|
|
# an app, use Products.Get on the EMM API.
|
|
class AppUpdateEvent
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The id of the product (e.g. "app:com.google.android.gm") that was updated.
|
|
# This field will always be present.
|
|
# Corresponds to the JSON property `productId`
|
|
# @return [String]
|
|
attr_accessor :product_id
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@product_id = args[:product_id] if args.key?(:product_id)
|
|
end
|
|
end
|
|
|
|
# This represents a single version of the app.
|
|
class AppVersion
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# True if this version is a production APK.
|
|
# Corresponds to the JSON property `isProduction`
|
|
# @return [Boolean]
|
|
attr_accessor :is_production
|
|
alias_method :is_production?, :is_production
|
|
|
|
# Deprecated, use <code>trackId</code> instead.
|
|
# Corresponds to the JSON property `track`
|
|
# @return [String]
|
|
attr_accessor :track
|
|
|
|
# Track ids that the app version is published in. Replaces the
|
|
# <code>track</code> field (deprecated), but doesn't include the production
|
|
# track (see <code>isProduction</code> instead).
|
|
# Corresponds to the JSON property `trackId`
|
|
# @return [Array<String>]
|
|
attr_accessor :track_id
|
|
|
|
# Unique increasing identifier for the app version.
|
|
# Corresponds to the JSON property `versionCode`
|
|
# @return [Fixnum]
|
|
attr_accessor :version_code
|
|
|
|
# The string used in the Play store by the app developer to identify
|
|
# the version.
|
|
# The string is not necessarily unique or localized (for example, the string
|
|
# could be "1.4").
|
|
# Corresponds to the JSON property `versionString`
|
|
# @return [String]
|
|
attr_accessor :version_string
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@is_production = args[:is_production] if args.key?(:is_production)
|
|
@track = args[:track] if args.key?(:track)
|
|
@track_id = args[:track_id] if args.key?(:track_id)
|
|
@version_code = args[:version_code] if args.key?(:version_code)
|
|
@version_string = args[:version_string] if args.key?(:version_string)
|
|
end
|
|
end
|
|
|
|
# Information on an approval URL.
|
|
class ApprovalUrlInfo
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# A URL that displays a product's permissions and that can also be used to
|
|
# approve the product with the <code>Products.approve</code> call.
|
|
# Corresponds to the JSON property `approvalUrl`
|
|
# @return [String]
|
|
attr_accessor :approval_url
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@approval_url = args[:approval_url] if args.key?(:approval_url)
|
|
end
|
|
end
|
|
|
|
# An AuthenticationToken is used by the EMM's device policy client on a device
|
|
# to provision the given EMM-managed user on that device.
|
|
class AuthenticationToken
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The authentication token to be passed to the device policy client on the
|
|
# device where it can be used to provision the account for which this token
|
|
# was generated.
|
|
# Corresponds to the JSON property `token`
|
|
# @return [String]
|
|
attr_accessor :token
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@token = args[:token] if args.key?(:token)
|
|
end
|
|
end
|
|
|
|
# The auto-install constraint. Defines a set of restrictions for installation.
|
|
# At least one of the fields must be set.
|
|
class AutoInstallConstraint
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Charging state constraint.
|
|
# Corresponds to the JSON property `chargingStateConstraint`
|
|
# @return [String]
|
|
attr_accessor :charging_state_constraint
|
|
|
|
# Device idle state constraint.
|
|
# Corresponds to the JSON property `deviceIdleStateConstraint`
|
|
# @return [String]
|
|
attr_accessor :device_idle_state_constraint
|
|
|
|
# Network type constraint.
|
|
# Corresponds to the JSON property `networkTypeConstraint`
|
|
# @return [String]
|
|
attr_accessor :network_type_constraint
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@charging_state_constraint = args[:charging_state_constraint] if args.key?(:charging_state_constraint)
|
|
@device_idle_state_constraint = args[:device_idle_state_constraint] if args.key?(:device_idle_state_constraint)
|
|
@network_type_constraint = args[:network_type_constraint] if args.key?(:network_type_constraint)
|
|
end
|
|
end
|
|
|
|
#
|
|
class AutoInstallPolicy
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The constraints for auto-installing the app. You can specify a maximum of
|
|
# one constraint.
|
|
# Corresponds to the JSON property `autoInstallConstraint`
|
|
# @return [Array<Google::Apis::AndroidenterpriseV1::AutoInstallConstraint>]
|
|
attr_accessor :auto_install_constraint
|
|
|
|
# The auto-install mode. If unset defaults to "doNotAutoInstall".
|
|
# Corresponds to the JSON property `autoInstallMode`
|
|
# @return [String]
|
|
attr_accessor :auto_install_mode
|
|
|
|
# The priority of the install, as an unsigned integer. A lower number means
|
|
# higher priority.
|
|
# Corresponds to the JSON property `autoInstallPriority`
|
|
# @return [Fixnum]
|
|
attr_accessor :auto_install_priority
|
|
|
|
# The minimum version of the app. If a lower version of the app is installed,
|
|
# then the app will be auto-updated according to the auto-install
|
|
# constraints, instead of waiting for the regular auto-update. You can set a
|
|
# minimum version code for at most 20 apps per device.
|
|
# Corresponds to the JSON property `minimumVersionCode`
|
|
# @return [Fixnum]
|
|
attr_accessor :minimum_version_code
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@auto_install_constraint = args[:auto_install_constraint] if args.key?(:auto_install_constraint)
|
|
@auto_install_mode = args[:auto_install_mode] if args.key?(:auto_install_mode)
|
|
@auto_install_priority = args[:auto_install_priority] if args.key?(:auto_install_priority)
|
|
@minimum_version_code = args[:minimum_version_code] if args.key?(:minimum_version_code)
|
|
end
|
|
end
|
|
|
|
# A configuration variables resource contains the managed configuration
|
|
# settings ID to be applied to a single user, as well as the variable set that
|
|
# is attributed to the user. The variable set will be used to replace
|
|
# placeholders in the managed configuration settings.
|
|
class ConfigurationVariables
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The ID of the managed configurations settings.
|
|
# Corresponds to the JSON property `mcmId`
|
|
# @return [String]
|
|
attr_accessor :mcm_id
|
|
|
|
# The variable set that is attributed to the user.
|
|
# Corresponds to the JSON property `variableSet`
|
|
# @return [Array<Google::Apis::AndroidenterpriseV1::VariableSet>]
|
|
attr_accessor :variable_set
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@mcm_id = args[:mcm_id] if args.key?(:mcm_id)
|
|
@variable_set = args[:variable_set] if args.key?(:variable_set)
|
|
end
|
|
end
|
|
|
|
# A Devices resource represents a mobile device managed by the EMM and
|
|
# belonging to a specific enterprise user.
|
|
class Device
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The Google Play Services Android ID for the device encoded as
|
|
# a lowercase hex string. For example,
|
|
# <code>"123456789abcdef0"</code>.
|
|
# Corresponds to the JSON property `androidId`
|
|
# @return [String]
|
|
attr_accessor :android_id
|
|
|
|
# Identifies the extent to which the device is controlled by a managed
|
|
# Google Play EMM in various deployment configurations. <br><br>
|
|
# Possible values include:
|
|
# <ul><li>"<code>managedDevice</code>", a device that has the EMM's device
|
|
# policy controller (DPC) as the device owner.</li>
|
|
# <li>"<code>managedProfile</code>", a device that has a profile managed
|
|
# by the DPC (DPC is profile owner) in addition to a separate, personal
|
|
# profile that is unavailable to the DPC.</li>
|
|
# <li>"<code>containerApp</code>", no longer used (deprecated).</li>
|
|
# <li>"<code>unmanagedProfile</code>", a device that has been allowed (by the
|
|
# domain's admin, using the Admin Console to enable the privilege) to use
|
|
# managed Google Play, but the profile is itself
|
|
# not owned by a DPC.</li></ul>
|
|
# Corresponds to the JSON property `managementType`
|
|
# @return [String]
|
|
attr_accessor :management_type
|
|
|
|
# The device policy for a given managed device.
|
|
# Corresponds to the JSON property `policy`
|
|
# @return [Google::Apis::AndroidenterpriseV1::Policy]
|
|
attr_accessor :policy
|
|
|
|
# Device report updated with the latest app states for managed apps on the
|
|
# device.
|
|
# Corresponds to the JSON property `report`
|
|
# @return [Google::Apis::AndroidenterpriseV1::DeviceReport]
|
|
attr_accessor :report
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@android_id = args[:android_id] if args.key?(:android_id)
|
|
@management_type = args[:management_type] if args.key?(:management_type)
|
|
@policy = args[:policy] if args.key?(:policy)
|
|
@report = args[:report] if args.key?(:report)
|
|
end
|
|
end
|
|
|
|
# Device report updated with the latest app states for managed apps on the
|
|
# device.
|
|
class DeviceReport
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# List of app states set by managed apps on the device. App states are
|
|
# defined by the app's developers.
|
|
# This field will always be present.
|
|
# Corresponds to the JSON property `appState`
|
|
# @return [Array<Google::Apis::AndroidenterpriseV1::AppState>]
|
|
attr_accessor :app_state
|
|
|
|
# The timestamp of the last report update in milliseconds since epoch.
|
|
# This field will always be present.
|
|
# Corresponds to the JSON property `lastUpdatedTimestampMillis`
|
|
# @return [Fixnum]
|
|
attr_accessor :last_updated_timestamp_millis
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@app_state = args[:app_state] if args.key?(:app_state)
|
|
@last_updated_timestamp_millis = args[:last_updated_timestamp_millis] if args.key?(:last_updated_timestamp_millis)
|
|
end
|
|
end
|
|
|
|
# An event generated when an updated device report is available.
|
|
class DeviceReportUpdateEvent
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The Android ID of the device.
|
|
# This field will always be present.
|
|
# Corresponds to the JSON property `deviceId`
|
|
# @return [String]
|
|
attr_accessor :device_id
|
|
|
|
# Device report updated with the latest app states for managed apps on the
|
|
# device.
|
|
# Corresponds to the JSON property `report`
|
|
# @return [Google::Apis::AndroidenterpriseV1::DeviceReport]
|
|
attr_accessor :report
|
|
|
|
# The ID of the user.
|
|
# This field will always be present.
|
|
# Corresponds to the JSON property `userId`
|
|
# @return [String]
|
|
attr_accessor :user_id
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@device_id = args[:device_id] if args.key?(:device_id)
|
|
@report = args[:report] if args.key?(:report)
|
|
@user_id = args[:user_id] if args.key?(:user_id)
|
|
end
|
|
end
|
|
|
|
# The state of a user's device, as accessed by the getState and setState
|
|
# methods on device resources.
|
|
class DeviceState
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The state of the Google account on the device. "enabled" indicates that
|
|
# the Google account on the device can be used to access Google services
|
|
# (including Google Play), while "disabled" means that it cannot.
|
|
# A new device is initially in the "disabled" state.
|
|
# Corresponds to the JSON property `accountState`
|
|
# @return [String]
|
|
attr_accessor :account_state
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@account_state = args[:account_state] if args.key?(:account_state)
|
|
end
|
|
end
|
|
|
|
#
|
|
class ListDevicesResponse
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# A managed device.
|
|
# Corresponds to the JSON property `device`
|
|
# @return [Array<Google::Apis::AndroidenterpriseV1::Device>]
|
|
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 Enterprises resource represents the binding between an EMM and a
|
|
# specific organization. That binding can be instantiated in one of two
|
|
# different ways using this API as follows:
|
|
# <ul><li>For Google managed domain customers, the process involves using
|
|
# <code>Enterprises.enroll</code> and <code>Enterprises.setAccount</code> (in
|
|
# conjunction with artifacts obtained from the Admin console and the Google
|
|
# API Console) and submitted to the EMM through a more-or-less manual
|
|
# process.</li>
|
|
# <li>For managed Google Play Accounts customers, the process involves using
|
|
# <code>Enterprises.generateSignupUrl</code> and
|
|
# <code>Enterprises.completeSignup</code> in conjunction with the managed
|
|
# Google Play sign-up UI (Google-provided mechanism) to create the binding
|
|
# without manual steps.</li></ul> As an EMM, you can support either or both
|
|
# approaches in your EMM console. See <a
|
|
# href="/android/work/play/emm-api/create-enterprise">Create an Enterprise</a>
|
|
# for details.
|
|
class Enterprise
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Admins of the enterprise. This is only supported for enterprises
|
|
# created via the EMM-initiated flow.
|
|
# Corresponds to the JSON property `administrator`
|
|
# @return [Array<Google::Apis::AndroidenterpriseV1::Administrator>]
|
|
attr_accessor :administrator
|
|
|
|
# The unique ID for the enterprise.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [String]
|
|
attr_accessor :id
|
|
|
|
# The name of the enterprise, for example, "Example, Inc".
|
|
# Corresponds to the JSON property `name`
|
|
# @return [String]
|
|
attr_accessor :name
|
|
|
|
# The enterprise's primary domain, such as "example.com".
|
|
# Corresponds to the JSON property `primaryDomain`
|
|
# @return [String]
|
|
attr_accessor :primary_domain
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@administrator = args[:administrator] if args.key?(:administrator)
|
|
@id = args[:id] if args.key?(:id)
|
|
@name = args[:name] if args.key?(:name)
|
|
@primary_domain = args[:primary_domain] if args.key?(:primary_domain)
|
|
end
|
|
end
|
|
|
|
# A service account that can be used to authenticate as the enterprise to
|
|
# API calls that require such authentication.
|
|
class EnterpriseAccount
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The email address of the service account.
|
|
# Corresponds to the JSON property `accountEmail`
|
|
# @return [String]
|
|
attr_accessor :account_email
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@account_email = args[:account_email] if args.key?(:account_email)
|
|
end
|
|
end
|
|
|
|
#
|
|
class ListEnterprisesResponse
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# An enterprise.
|
|
# Corresponds to the JSON property `enterprise`
|
|
# @return [Array<Google::Apis::AndroidenterpriseV1::Enterprise>]
|
|
attr_accessor :enterprise
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@enterprise = args[:enterprise] if args.key?(:enterprise)
|
|
end
|
|
end
|
|
|
|
#
|
|
class SendTestPushNotificationResponse
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The message ID of the test push notification that was sent.
|
|
# Corresponds to the JSON property `messageId`
|
|
# @return [String]
|
|
attr_accessor :message_id
|
|
|
|
# The name of the Cloud Pub/Sub topic to which notifications for this
|
|
# enterprise's enrolled account will be sent.
|
|
# Corresponds to the JSON property `topicName`
|
|
# @return [String]
|
|
attr_accessor :topic_name
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@message_id = args[:message_id] if args.key?(:message_id)
|
|
@topic_name = args[:topic_name] if args.key?(:topic_name)
|
|
end
|
|
end
|
|
|
|
# The presence of an Entitlements resource indicates that a user has the right
|
|
# to use a particular app. Entitlements are user specific, not device specific.
|
|
# This allows a user with an entitlement to an app to install the app on all
|
|
# their devices. It's also possible for a user to hold an entitlement to an app
|
|
# without installing the app on any device.
|
|
# The API can be used to create an entitlement. As an option, you can also use
|
|
# the API to trigger the installation of an app on all a user's managed devices
|
|
# at the same time the entitlement is created.
|
|
# If the app is free, creating the entitlement also creates a group license
|
|
# for that app. For paid apps, creating the entitlement consumes one license,
|
|
# and that license remains consumed until the entitlement is removed. If the
|
|
# enterprise hasn't purchased enough licenses, then no entitlement is created
|
|
# and the installation fails. An entitlement is also not created for an app if
|
|
# the app requires permissions that the enterprise hasn't accepted.
|
|
# If an entitlement is deleted, the app may be uninstalled from a user's
|
|
# device. As a best practice, uninstall the app by calling
|
|
# <a class="method-link" method="androidenterprise.installs.delete">
|
|
# Installs.delete()</a> before deleting the entitlement.
|
|
# Entitlements for apps that a user pays for on an unmanaged profile have
|
|
# <code class="">"userPurchase"</code> as the entitlement reason. These
|
|
# entitlements cannot be removed via the API.
|
|
class Entitlement
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The ID of the product that the entitlement is for. For example,
|
|
# <code>"app:com.google.android.gm"</code>.
|
|
# Corresponds to the JSON property `productId`
|
|
# @return [String]
|
|
attr_accessor :product_id
|
|
|
|
# The reason for the entitlement. For example, <code class="">"free"</code>
|
|
# for free apps. This property is temporary: it will be replaced by the <code
|
|
# class="">acquisition kind</code> field of group licenses.
|
|
# Corresponds to the JSON property `reason`
|
|
# @return [String]
|
|
attr_accessor :reason
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@product_id = args[:product_id] if args.key?(:product_id)
|
|
@reason = args[:reason] if args.key?(:reason)
|
|
end
|
|
end
|
|
|
|
#
|
|
class ListEntitlementsResponse
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# An entitlement of a user to a product (e.g. an app).
|
|
# For example, a free app that they have installed, or a paid app that they
|
|
# have been allocated a license to.
|
|
# Corresponds to the JSON property `entitlement`
|
|
# @return [Array<Google::Apis::AndroidenterpriseV1::Entitlement>]
|
|
attr_accessor :entitlement
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@entitlement = args[:entitlement] if args.key?(:entitlement)
|
|
end
|
|
end
|
|
|
|
# Group license objects allow you to keep track of licenses (called
|
|
# <a href="/android/work/play/emm-api/v1/entitlements">entitlements</a>)
|
|
# for both free and paid apps. For a free app, a group license is created when
|
|
# an enterprise admin first approves the product in Google Play or when the
|
|
# first entitlement for the product is created for a user via the API. For a
|
|
# paid app, a group license object is only created when an enterprise admin
|
|
# purchases the product in Google Play for the first time.
|
|
# Use the API to query group licenses. A <code>Grouplicenses</code> resource
|
|
# includes the total number of licenses purchased (paid apps only) and the
|
|
# total number of licenses currently in use. In other words, the total number
|
|
# of <code>Entitlements</code> that exist for the product.
|
|
# Only one group license object is created per product and group license
|
|
# objects are never deleted. If a product is unapproved, its group license
|
|
# remains. This allows enterprise admins to keep track of any remaining
|
|
# entitlements for the product.
|
|
class GroupLicense
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# How this group license was acquired. <code>"bulkPurchase"</code>
|
|
# means that this Grouplicenses resource was created because the enterprise
|
|
# purchased licenses for this product; otherwise, the value is
|
|
# <code>"free"</code> (for free products).
|
|
# Corresponds to the JSON property `acquisitionKind`
|
|
# @return [String]
|
|
attr_accessor :acquisition_kind
|
|
|
|
# Whether the product to which this group license relates is currently
|
|
# approved by the enterprise. Products are approved when a group license is
|
|
# first created, but this approval may be revoked by an enterprise admin via
|
|
# Google Play. Unapproved products will not be visible to end users in
|
|
# collections, and new entitlements to them should not normally be created.
|
|
# Corresponds to the JSON property `approval`
|
|
# @return [String]
|
|
attr_accessor :approval
|
|
|
|
# The total number of provisioned licenses for this product.
|
|
# Returned by read operations, but ignored in write operations.
|
|
# Corresponds to the JSON property `numProvisioned`
|
|
# @return [Fixnum]
|
|
attr_accessor :num_provisioned
|
|
|
|
# The number of purchased licenses (possibly in multiple purchases).
|
|
# If this field is omitted, then there is no limit on the number of licenses
|
|
# that can be provisioned (for example, if the acquisition kind is
|
|
# <code>"free"</code>).
|
|
# Corresponds to the JSON property `numPurchased`
|
|
# @return [Fixnum]
|
|
attr_accessor :num_purchased
|
|
|
|
# The permission approval status of the product. This field
|
|
# is only set if the product is approved. Possible states are:<ul>
|
|
# <li>"<code>currentApproved</code>", the current set
|
|
# of permissions is approved, but additional permissions will require the
|
|
# administrator to reapprove the product (If the product was approved
|
|
# without specifying the approved permissions setting, then this is the
|
|
# default behavior.),</li>
|
|
# <li>"<code>needsReapproval</code>", the product has unapproved permissions.
|
|
# No additional product licenses can be assigned until the product is
|
|
# reapproved,</li>
|
|
# <li>"<code>allCurrentAndFutureApproved</code>",
|
|
# the current permissions are approved and any future permission updates
|
|
# will be automatically approved without administrator review.</li></ul>
|
|
# Corresponds to the JSON property `permissions`
|
|
# @return [String]
|
|
attr_accessor :permissions
|
|
|
|
# The ID of the product that the license is for. For example,
|
|
# <code>"app:com.google.android.gm"</code>.
|
|
# Corresponds to the JSON property `productId`
|
|
# @return [String]
|
|
attr_accessor :product_id
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@acquisition_kind = args[:acquisition_kind] if args.key?(:acquisition_kind)
|
|
@approval = args[:approval] if args.key?(:approval)
|
|
@num_provisioned = args[:num_provisioned] if args.key?(:num_provisioned)
|
|
@num_purchased = args[:num_purchased] if args.key?(:num_purchased)
|
|
@permissions = args[:permissions] if args.key?(:permissions)
|
|
@product_id = args[:product_id] if args.key?(:product_id)
|
|
end
|
|
end
|
|
|
|
#
|
|
class ListGroupLicenseUsersResponse
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# A user of an enterprise.
|
|
# Corresponds to the JSON property `user`
|
|
# @return [Array<Google::Apis::AndroidenterpriseV1::User>]
|
|
attr_accessor :user
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@user = args[:user] if args.key?(:user)
|
|
end
|
|
end
|
|
|
|
#
|
|
class ListGroupLicensesResponse
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# A group license for a product approved for use in the enterprise.
|
|
# Corresponds to the JSON property `groupLicense`
|
|
# @return [Array<Google::Apis::AndroidenterpriseV1::GroupLicense>]
|
|
attr_accessor :group_license
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@group_license = args[:group_license] if args.key?(:group_license)
|
|
end
|
|
end
|
|
|
|
# The existence of an Installs resource indicates that an app is
|
|
# installed on a particular device (or that an install is pending).
|
|
# The API can be used to create an install resource using the
|
|
# <a class="method-link" method="androidenterprise.installs.update">update</a>
|
|
# method. This triggers the actual install of the app on the device. If the
|
|
# user does not already have an entitlement for the app, then an attempt is
|
|
# made to create one. If this fails (for example, because the app is not free
|
|
# and there is no available license), then the creation of the install fails.
|
|
# The API can also be used to update an installed app. If
|
|
# the <a class="method-link" method="androidenterprise.installs.update"
|
|
# style="font-style: normal; font-size: 14px; font-family: Roboto, sans-serif;
|
|
# line-height: 22.3999996185303px;">update</a> method is
|
|
# used on an existing install, then the app will be updated to the latest
|
|
# available version.
|
|
# Note that it is not possible to force the installation of a specific version
|
|
# of an app: the version code is read-only.
|
|
# If a user installs an app themselves (as permitted by the enterprise), then
|
|
# again an install resource and possibly an entitlement resource are
|
|
# automatically created.
|
|
# The API can also be used to delete an install resource, which triggers the
|
|
# removal of the app from the device. Note that deleting an install does not
|
|
# automatically remove the corresponding entitlement, even if there are no
|
|
# remaining installs. The install resource will also be deleted if the user
|
|
# uninstalls the app themselves.
|
|
class Install
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Install state. The state <code>"installPending"</code>
|
|
# means that an install request has recently been made and download to the
|
|
# device is in progress. The state <code>"installed"</code>
|
|
# means that the app has been installed. This field is read-only.
|
|
# Corresponds to the JSON property `installState`
|
|
# @return [String]
|
|
attr_accessor :install_state
|
|
|
|
# The ID of the product that the install is for. For example,
|
|
# <code>"app:com.google.android.gm"</code>.
|
|
# Corresponds to the JSON property `productId`
|
|
# @return [String]
|
|
attr_accessor :product_id
|
|
|
|
# The version of the installed product. Guaranteed to be set only if the
|
|
# install state is <code>"installed"</code>.
|
|
# Corresponds to the JSON property `versionCode`
|
|
# @return [Fixnum]
|
|
attr_accessor :version_code
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@install_state = args[:install_state] if args.key?(:install_state)
|
|
@product_id = args[:product_id] if args.key?(:product_id)
|
|
@version_code = args[:version_code] if args.key?(:version_code)
|
|
end
|
|
end
|
|
|
|
# An event generated when an app installation failed on a device
|
|
class InstallFailureEvent
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The Android ID of the device.
|
|
# This field will always be present.
|
|
# Corresponds to the JSON property `deviceId`
|
|
# @return [String]
|
|
attr_accessor :device_id
|
|
|
|
# Additional details on the failure if applicable.
|
|
# Corresponds to the JSON property `failureDetails`
|
|
# @return [String]
|
|
attr_accessor :failure_details
|
|
|
|
# The reason for the installation failure.
|
|
# This field will always be present.
|
|
# Corresponds to the JSON property `failureReason`
|
|
# @return [String]
|
|
attr_accessor :failure_reason
|
|
|
|
# The id of the product (e.g. "app:com.google.android.gm") for which the
|
|
# install failure event occured. This field will always be present.
|
|
# Corresponds to the JSON property `productId`
|
|
# @return [String]
|
|
attr_accessor :product_id
|
|
|
|
# The ID of the user.
|
|
# This field will always be present.
|
|
# Corresponds to the JSON property `userId`
|
|
# @return [String]
|
|
attr_accessor :user_id
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@device_id = args[:device_id] if args.key?(:device_id)
|
|
@failure_details = args[:failure_details] if args.key?(:failure_details)
|
|
@failure_reason = args[:failure_reason] if args.key?(:failure_reason)
|
|
@product_id = args[:product_id] if args.key?(:product_id)
|
|
@user_id = args[:user_id] if args.key?(:user_id)
|
|
end
|
|
end
|
|
|
|
#
|
|
class ListInstallsResponse
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# An installation of an app for a user on a specific device.
|
|
# The existence of an install implies that the user must have an
|
|
# entitlement to the app.
|
|
# Corresponds to the JSON property `install`
|
|
# @return [Array<Google::Apis::AndroidenterpriseV1::Install>]
|
|
attr_accessor :install
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@install = args[:install] if args.key?(:install)
|
|
end
|
|
end
|
|
|
|
# Represents a keyed app state containing a key, timestamp, severity level,
|
|
# optional description, and optional data.
|
|
class KeyedAppState
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Additional field intended for machine-readable data. For example, a number
|
|
# or JSON object. To prevent XSS, we recommend removing any HTML from the
|
|
# data before displaying it.
|
|
# Corresponds to the JSON property `data`
|
|
# @return [String]
|
|
attr_accessor :data
|
|
|
|
# Key indicating what the app is providing a state for. The content of the
|
|
# key is set by the app's developer. To prevent XSS, we recommend removing
|
|
# any HTML from the key before displaying it.
|
|
# This field will always be present.
|
|
# Corresponds to the JSON property `key`
|
|
# @return [String]
|
|
attr_accessor :key
|
|
|
|
# Free-form, human-readable message describing the app state. For example,
|
|
# an error message. To prevent XSS, we recommend removing any HTML from the
|
|
# message before displaying it.
|
|
# Corresponds to the JSON property `message`
|
|
# @return [String]
|
|
attr_accessor :message
|
|
|
|
# Severity of the app state.
|
|
# This field will always be present.
|
|
# Corresponds to the JSON property `severity`
|
|
# @return [String]
|
|
attr_accessor :severity
|
|
|
|
# Timestamp of when the app set the state in milliseconds since epoch.
|
|
# This field will always be present.
|
|
# Corresponds to the JSON property `stateTimestampMillis`
|
|
# @return [Fixnum]
|
|
attr_accessor :state_timestamp_millis
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@data = args[:data] if args.key?(:data)
|
|
@key = args[:key] if args.key?(:key)
|
|
@message = args[:message] if args.key?(:message)
|
|
@severity = args[:severity] if args.key?(:severity)
|
|
@state_timestamp_millis = args[:state_timestamp_millis] if args.key?(:state_timestamp_millis)
|
|
end
|
|
end
|
|
|
|
# A localized string with its locale.
|
|
class LocalizedText
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The BCP47 tag for a locale. (e.g. "en-US", "de").
|
|
# Corresponds to the JSON property `locale`
|
|
# @return [String]
|
|
attr_accessor :locale
|
|
|
|
# The text localized in the associated locale.
|
|
# Corresponds to the JSON property `text`
|
|
# @return [String]
|
|
attr_accessor :text
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@locale = args[:locale] if args.key?(:locale)
|
|
@text = args[:text] if args.key?(:text)
|
|
end
|
|
end
|
|
|
|
# Maintenance window for managed Google Play Accounts.
|
|
# This allows Play store to update the apps on the foreground in the designated
|
|
# window.
|
|
class MaintenanceWindow
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Duration of the maintenance window, in milliseconds. The duration must be
|
|
# between 30 minutes and 24 hours (inclusive).
|
|
# Corresponds to the JSON property `durationMs`
|
|
# @return [Fixnum]
|
|
attr_accessor :duration_ms
|
|
|
|
# Start time of the maintenance window, in milliseconds after midnight on the
|
|
# device. Windows can span midnight.
|
|
# Corresponds to the JSON property `startTimeAfterMidnightMs`
|
|
# @return [Fixnum]
|
|
attr_accessor :start_time_after_midnight_ms
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@duration_ms = args[:duration_ms] if args.key?(:duration_ms)
|
|
@start_time_after_midnight_ms = args[:start_time_after_midnight_ms] if args.key?(:start_time_after_midnight_ms)
|
|
end
|
|
end
|
|
|
|
# A managed configuration resource contains the set of managed properties
|
|
# defined by the app developer in the app's managed configurations schema,
|
|
# as well as any configuration variables defined for the user.
|
|
class ManagedConfiguration
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# A configuration variables resource contains the managed configuration
|
|
# settings ID to be applied to a single user, as well as the variable set that
|
|
# is attributed to the user. The variable set will be used to replace
|
|
# placeholders in the managed configuration settings.
|
|
# Corresponds to the JSON property `configurationVariables`
|
|
# @return [Google::Apis::AndroidenterpriseV1::ConfigurationVariables]
|
|
attr_accessor :configuration_variables
|
|
|
|
# Deprecated.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# The set of managed properties for this configuration.
|
|
# Corresponds to the JSON property `managedProperty`
|
|
# @return [Array<Google::Apis::AndroidenterpriseV1::ManagedProperty>]
|
|
attr_accessor :managed_property
|
|
|
|
# The ID of the product that the managed configuration is for, e.g.
|
|
# "app:com.google.android.gm".
|
|
# Corresponds to the JSON property `productId`
|
|
# @return [String]
|
|
attr_accessor :product_id
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@configuration_variables = args[:configuration_variables] if args.key?(:configuration_variables)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@managed_property = args[:managed_property] if args.key?(:managed_property)
|
|
@product_id = args[:product_id] if args.key?(:product_id)
|
|
end
|
|
end
|
|
|
|
#
|
|
class ManagedConfigurationsForDeviceListResponse
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# A managed configuration for an app on a specific device.
|
|
# Corresponds to the JSON property `managedConfigurationForDevice`
|
|
# @return [Array<Google::Apis::AndroidenterpriseV1::ManagedConfiguration>]
|
|
attr_accessor :managed_configuration_for_device
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@managed_configuration_for_device = args[:managed_configuration_for_device] if args.key?(:managed_configuration_for_device)
|
|
end
|
|
end
|
|
|
|
#
|
|
class ManagedConfigurationsForUserListResponse
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# A managed configuration for an app for a specific user.
|
|
# Corresponds to the JSON property `managedConfigurationForUser`
|
|
# @return [Array<Google::Apis::AndroidenterpriseV1::ManagedConfiguration>]
|
|
attr_accessor :managed_configuration_for_user
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@managed_configuration_for_user = args[:managed_configuration_for_user] if args.key?(:managed_configuration_for_user)
|
|
end
|
|
end
|
|
|
|
# A managed configurations settings resource contains the set of
|
|
# managed properties that have been configured for an Android app to be applied
|
|
# to a set of users. The app's developer would have
|
|
# defined configurable properties in the managed configurations schema.
|
|
class ManagedConfigurationsSettings
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The last updated time of the managed configuration settings in
|
|
# milliseconds since 1970-01-01T00:00:00Z.
|
|
# Corresponds to the JSON property `lastUpdatedTimestampMillis`
|
|
# @return [Fixnum]
|
|
attr_accessor :last_updated_timestamp_millis
|
|
|
|
# The ID of the managed configurations settings.
|
|
# Corresponds to the JSON property `mcmId`
|
|
# @return [String]
|
|
attr_accessor :mcm_id
|
|
|
|
# The name of the managed configurations settings.
|
|
# 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)
|
|
@last_updated_timestamp_millis = args[:last_updated_timestamp_millis] if args.key?(:last_updated_timestamp_millis)
|
|
@mcm_id = args[:mcm_id] if args.key?(:mcm_id)
|
|
@name = args[:name] if args.key?(:name)
|
|
end
|
|
end
|
|
|
|
#
|
|
class ManagedConfigurationsSettingsListResponse
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# A managed configurations settings for an app that may be assigned to a
|
|
# group of users in an enterprise.
|
|
# Corresponds to the JSON property `managedConfigurationsSettings`
|
|
# @return [Array<Google::Apis::AndroidenterpriseV1::ManagedConfigurationsSettings>]
|
|
attr_accessor :managed_configurations_settings
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@managed_configurations_settings = args[:managed_configurations_settings] if args.key?(:managed_configurations_settings)
|
|
end
|
|
end
|
|
|
|
# A managed property of a managed configuration. The property must match one of
|
|
# the properties in the app restrictions schema of the product. Exactly one of
|
|
# the value fields must be populated, and it must match the property's type in
|
|
# the app restrictions schema.
|
|
class ManagedProperty
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The unique key that identifies the property.
|
|
# Corresponds to the JSON property `key`
|
|
# @return [String]
|
|
attr_accessor :key
|
|
|
|
# The boolean value - this will only be present if type of the property is
|
|
# bool.
|
|
# Corresponds to the JSON property `valueBool`
|
|
# @return [Boolean]
|
|
attr_accessor :value_bool
|
|
alias_method :value_bool?, :value_bool
|
|
|
|
# A bundle of managed properties.
|
|
# Corresponds to the JSON property `valueBundle`
|
|
# @return [Google::Apis::AndroidenterpriseV1::ManagedPropertyBundle]
|
|
attr_accessor :value_bundle
|
|
|
|
# The list of bundles of properties - this will only be present if type of
|
|
# the property is bundle_array.
|
|
# Corresponds to the JSON property `valueBundleArray`
|
|
# @return [Array<Google::Apis::AndroidenterpriseV1::ManagedPropertyBundle>]
|
|
attr_accessor :value_bundle_array
|
|
|
|
# The integer value - this will only be present if type of the property is
|
|
# integer.
|
|
# Corresponds to the JSON property `valueInteger`
|
|
# @return [Fixnum]
|
|
attr_accessor :value_integer
|
|
|
|
# The string value - this will only be present if type of the property is
|
|
# string, choice or hidden.
|
|
# Corresponds to the JSON property `valueString`
|
|
# @return [String]
|
|
attr_accessor :value_string
|
|
|
|
# The list of string values - this will only be present if type of the
|
|
# property is multiselect.
|
|
# Corresponds to the JSON property `valueStringArray`
|
|
# @return [Array<String>]
|
|
attr_accessor :value_string_array
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@key = args[:key] if args.key?(:key)
|
|
@value_bool = args[:value_bool] if args.key?(:value_bool)
|
|
@value_bundle = args[:value_bundle] if args.key?(:value_bundle)
|
|
@value_bundle_array = args[:value_bundle_array] if args.key?(:value_bundle_array)
|
|
@value_integer = args[:value_integer] if args.key?(:value_integer)
|
|
@value_string = args[:value_string] if args.key?(:value_string)
|
|
@value_string_array = args[:value_string_array] if args.key?(:value_string_array)
|
|
end
|
|
end
|
|
|
|
# A bundle of managed properties.
|
|
class ManagedPropertyBundle
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The list of managed properties.
|
|
# Corresponds to the JSON property `managedProperty`
|
|
# @return [Array<Google::Apis::AndroidenterpriseV1::ManagedProperty>]
|
|
attr_accessor :managed_property
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@managed_property = args[:managed_property] if args.key?(:managed_property)
|
|
end
|
|
end
|
|
|
|
# An event generated when a new device is ready to be managed.
|
|
class NewDeviceEvent
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The Android ID of the device.
|
|
# This field will always be present.
|
|
# Corresponds to the JSON property `deviceId`
|
|
# @return [String]
|
|
attr_accessor :device_id
|
|
|
|
# Policy app on the device.
|
|
# Corresponds to the JSON property `dpcPackageName`
|
|
# @return [String]
|
|
attr_accessor :dpc_package_name
|
|
|
|
# Identifies the extent to which the device is controlled by an Android
|
|
# EMM in various deployment configurations. <br><br>
|
|
# Possible values include:
|
|
# <ul><li>"<code>managedDevice</code>", a device where the DPC is set as
|
|
# device owner,</li>
|
|
# <li>"<code>managedProfile</code>", a device where the DPC is set as profile
|
|
# owner.</li></ul>
|
|
# Corresponds to the JSON property `managementType`
|
|
# @return [String]
|
|
attr_accessor :management_type
|
|
|
|
# The ID of the user.
|
|
# This field will always be present.
|
|
# Corresponds to the JSON property `userId`
|
|
# @return [String]
|
|
attr_accessor :user_id
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@device_id = args[:device_id] if args.key?(:device_id)
|
|
@dpc_package_name = args[:dpc_package_name] if args.key?(:dpc_package_name)
|
|
@management_type = args[:management_type] if args.key?(:management_type)
|
|
@user_id = args[:user_id] if args.key?(:user_id)
|
|
end
|
|
end
|
|
|
|
# An event generated when new permissions are added to an app.
|
|
class NewPermissionsEvent
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The set of permissions that the enterprise admin has already approved for
|
|
# this application.
|
|
# Use Permissions.Get on the EMM API to retrieve details about these
|
|
# permissions.
|
|
# Corresponds to the JSON property `approvedPermissions`
|
|
# @return [Array<String>]
|
|
attr_accessor :approved_permissions
|
|
|
|
# The id of the product (e.g. "app:com.google.android.gm") for which new
|
|
# permissions were added. This field will always be present.
|
|
# Corresponds to the JSON property `productId`
|
|
# @return [String]
|
|
attr_accessor :product_id
|
|
|
|
# The set of permissions that the app is currently requesting.
|
|
# Use Permissions.Get on the EMM API to retrieve details about these
|
|
# permissions.
|
|
# Corresponds to the JSON property `requestedPermissions`
|
|
# @return [Array<String>]
|
|
attr_accessor :requested_permissions
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@approved_permissions = args[:approved_permissions] if args.key?(:approved_permissions)
|
|
@product_id = args[:product_id] if args.key?(:product_id)
|
|
@requested_permissions = args[:requested_permissions] if args.key?(:requested_permissions)
|
|
end
|
|
end
|
|
|
|
# A notification of one event relating to an enterprise.
|
|
class Notification
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# An event generated when a new app version is uploaded to Google Play and its
|
|
# app restrictions schema changed.
|
|
# To fetch the app restrictions schema for an app, use
|
|
# Products.getAppRestrictionsSchema on the EMM API.
|
|
# Corresponds to the JSON property `appRestrictionsSchemaChangeEvent`
|
|
# @return [Google::Apis::AndroidenterpriseV1::AppRestrictionsSchemaChangeEvent]
|
|
attr_accessor :app_restrictions_schema_change_event
|
|
|
|
# An event generated when a new version of an app is uploaded to Google Play.
|
|
# Notifications are sent for new public versions only: alpha, beta, or canary
|
|
# versions do not generate this event. To fetch up-to-date version history for
|
|
# an app, use Products.Get on the EMM API.
|
|
# Corresponds to the JSON property `appUpdateEvent`
|
|
# @return [Google::Apis::AndroidenterpriseV1::AppUpdateEvent]
|
|
attr_accessor :app_update_event
|
|
|
|
# An event generated when an updated device report is available.
|
|
# Corresponds to the JSON property `deviceReportUpdateEvent`
|
|
# @return [Google::Apis::AndroidenterpriseV1::DeviceReportUpdateEvent]
|
|
attr_accessor :device_report_update_event
|
|
|
|
# The ID of the enterprise for which the notification is sent.
|
|
# This will always be present.
|
|
# Corresponds to the JSON property `enterpriseId`
|
|
# @return [String]
|
|
attr_accessor :enterprise_id
|
|
|
|
# An event generated when an app installation failed on a device
|
|
# Corresponds to the JSON property `installFailureEvent`
|
|
# @return [Google::Apis::AndroidenterpriseV1::InstallFailureEvent]
|
|
attr_accessor :install_failure_event
|
|
|
|
# An event generated when a new device is ready to be managed.
|
|
# Corresponds to the JSON property `newDeviceEvent`
|
|
# @return [Google::Apis::AndroidenterpriseV1::NewDeviceEvent]
|
|
attr_accessor :new_device_event
|
|
|
|
# An event generated when new permissions are added to an app.
|
|
# Corresponds to the JSON property `newPermissionsEvent`
|
|
# @return [Google::Apis::AndroidenterpriseV1::NewPermissionsEvent]
|
|
attr_accessor :new_permissions_event
|
|
|
|
# Type of the notification.
|
|
# Corresponds to the JSON property `notificationType`
|
|
# @return [String]
|
|
attr_accessor :notification_type
|
|
|
|
# An event generated when a product's approval status is changed.
|
|
# Corresponds to the JSON property `productApprovalEvent`
|
|
# @return [Google::Apis::AndroidenterpriseV1::ProductApprovalEvent]
|
|
attr_accessor :product_approval_event
|
|
|
|
# An event generated whenever a product's availability changes.
|
|
# Corresponds to the JSON property `productAvailabilityChangeEvent`
|
|
# @return [Google::Apis::AndroidenterpriseV1::ProductAvailabilityChangeEvent]
|
|
attr_accessor :product_availability_change_event
|
|
|
|
# The time when the notification was published in
|
|
# milliseconds since 1970-01-01T00:00:00Z.
|
|
# This will always be present.
|
|
# Corresponds to the JSON property `timestampMillis`
|
|
# @return [Fixnum]
|
|
attr_accessor :timestamp_millis
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@app_restrictions_schema_change_event = args[:app_restrictions_schema_change_event] if args.key?(:app_restrictions_schema_change_event)
|
|
@app_update_event = args[:app_update_event] if args.key?(:app_update_event)
|
|
@device_report_update_event = args[:device_report_update_event] if args.key?(:device_report_update_event)
|
|
@enterprise_id = args[:enterprise_id] if args.key?(:enterprise_id)
|
|
@install_failure_event = args[:install_failure_event] if args.key?(:install_failure_event)
|
|
@new_device_event = args[:new_device_event] if args.key?(:new_device_event)
|
|
@new_permissions_event = args[:new_permissions_event] if args.key?(:new_permissions_event)
|
|
@notification_type = args[:notification_type] if args.key?(:notification_type)
|
|
@product_approval_event = args[:product_approval_event] if args.key?(:product_approval_event)
|
|
@product_availability_change_event = args[:product_availability_change_event] if args.key?(:product_availability_change_event)
|
|
@timestamp_millis = args[:timestamp_millis] if args.key?(:timestamp_millis)
|
|
end
|
|
end
|
|
|
|
# A resource returned by the PullNotificationSet API, which contains
|
|
# a collection of notifications for enterprises associated with the service
|
|
# account authenticated for the request.
|
|
class NotificationSet
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The notifications received, or empty if no notifications are present.
|
|
# Corresponds to the JSON property `notification`
|
|
# @return [Array<Google::Apis::AndroidenterpriseV1::Notification>]
|
|
attr_accessor :notification
|
|
|
|
# The notification set ID, required to mark the notification as
|
|
# received with the Enterprises.AcknowledgeNotification API.
|
|
# This will be omitted if no notifications are present.
|
|
# Corresponds to the JSON property `notificationSetId`
|
|
# @return [String]
|
|
attr_accessor :notification_set_id
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@notification = args[:notification] if args.key?(:notification)
|
|
@notification_set_id = args[:notification_set_id] if args.key?(:notification_set_id)
|
|
end
|
|
end
|
|
|
|
# Information about the current page.
|
|
# List operations that supports paging return only one "page" of results. This
|
|
# protocol buffer message describes the page that has been returned.
|
|
class PageInfo
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Maximum number of results returned in one page.
|
|
# ! The number of results included in the API response.
|
|
# Corresponds to the JSON property `resultPerPage`
|
|
# @return [Fixnum]
|
|
attr_accessor :result_per_page
|
|
|
|
# Index of the first result returned in the current page.
|
|
# Corresponds to the JSON property `startIndex`
|
|
# @return [Fixnum]
|
|
attr_accessor :start_index
|
|
|
|
# Total number of results available on the backend
|
|
# ! The total number of results in the result set.
|
|
# Corresponds to the JSON property `totalResults`
|
|
# @return [Fixnum]
|
|
attr_accessor :total_results
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@result_per_page = args[:result_per_page] if args.key?(:result_per_page)
|
|
@start_index = args[:start_index] if args.key?(:start_index)
|
|
@total_results = args[:total_results] if args.key?(:total_results)
|
|
end
|
|
end
|
|
|
|
# A Permissions resource represents some extra capability, to be granted to an
|
|
# Android app, which requires explicit consent. An enterprise admin must
|
|
# consent to these permissions on behalf of their users before an
|
|
# entitlement for the app can be created.
|
|
# The permissions collection is read-only. The information provided for
|
|
# each permission (localized name and description) is intended to be
|
|
# used in the MDM user interface when obtaining consent from the
|
|
# enterprise.
|
|
class Permission
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# A longer description of the Permissions resource, giving more details of
|
|
# what it affects.
|
|
# Corresponds to the JSON property `description`
|
|
# @return [String]
|
|
attr_accessor :description
|
|
|
|
# The name of the permission.
|
|
# Corresponds to the JSON property `name`
|
|
# @return [String]
|
|
attr_accessor :name
|
|
|
|
# An opaque string uniquely identifying the permission.
|
|
# Corresponds to the JSON property `permissionId`
|
|
# @return [String]
|
|
attr_accessor :permission_id
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@description = args[:description] if args.key?(:description)
|
|
@name = args[:name] if args.key?(:name)
|
|
@permission_id = args[:permission_id] if args.key?(:permission_id)
|
|
end
|
|
end
|
|
|
|
# The device policy for a given managed device.
|
|
class Policy
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The auto-update policy for apps installed on the device. "choiceToTheUser"
|
|
# allows the device's user to configure the app update policy. "always"
|
|
# enables auto updates. "never" disables auto updates. "wifiOnly" enables
|
|
# auto updates only when the device is connected to wifi.
|
|
# Corresponds to the JSON property `autoUpdatePolicy`
|
|
# @return [String]
|
|
attr_accessor :auto_update_policy
|
|
|
|
# Whether the device reports app states to the EMM. The default value is
|
|
# "deviceReportDisabled".
|
|
# Corresponds to the JSON property `deviceReportPolicy`
|
|
# @return [String]
|
|
attr_accessor :device_report_policy
|
|
|
|
# Maintenance window for managed Google Play Accounts.
|
|
# This allows Play store to update the apps on the foreground in the designated
|
|
# window.
|
|
# Corresponds to the JSON property `maintenanceWindow`
|
|
# @return [Google::Apis::AndroidenterpriseV1::MaintenanceWindow]
|
|
attr_accessor :maintenance_window
|
|
|
|
# The availability granted to the device for the specified products. "all"
|
|
# gives the device access to all products, regardless of approval status.
|
|
# "all" does not enable automatic visibility of "alpha" or "beta" tracks.
|
|
# "whitelist" grants the device access the products specified in
|
|
# productPolicy[]. Only products that are approved or products that were
|
|
# previously approved (products with revoked approval) by the enterprise can
|
|
# be whitelisted. If no value is provided, the availability set at the user
|
|
# level is applied by default.
|
|
# Corresponds to the JSON property `productAvailabilityPolicy`
|
|
# @return [String]
|
|
attr_accessor :product_availability_policy
|
|
|
|
# The list of product policies. The <code>productAvailabilityPolicy</code>
|
|
# needs to be set to <code>WHITELIST</code> or <code>ALL</code> for the
|
|
# product policies to be applied.
|
|
# Corresponds to the JSON property `productPolicy`
|
|
# @return [Array<Google::Apis::AndroidenterpriseV1::ProductPolicy>]
|
|
attr_accessor :product_policy
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@auto_update_policy = args[:auto_update_policy] if args.key?(:auto_update_policy)
|
|
@device_report_policy = args[:device_report_policy] if args.key?(:device_report_policy)
|
|
@maintenance_window = args[:maintenance_window] if args.key?(:maintenance_window)
|
|
@product_availability_policy = args[:product_availability_policy] if args.key?(:product_availability_policy)
|
|
@product_policy = args[:product_policy] if args.key?(:product_policy)
|
|
end
|
|
end
|
|
|
|
# A Products resource represents an app in the Google Play store that is
|
|
# available to at least some users in the enterprise. (Some apps are restricted
|
|
# to a single enterprise, and no information about them is made available
|
|
# outside that enterprise.)
|
|
# The information provided for each product (localized name, icon, link
|
|
# to the full Google Play details page) is intended to allow a basic
|
|
# representation of the product within an EMM user interface.
|
|
class Product
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The tracks visible to the enterprise.
|
|
# Corresponds to the JSON property `appTracks`
|
|
# @return [Array<Google::Apis::AndroidenterpriseV1::TrackInfo>]
|
|
attr_accessor :app_tracks
|
|
|
|
# App versions currently available for this product.
|
|
# Corresponds to the JSON property `appVersion`
|
|
# @return [Array<Google::Apis::AndroidenterpriseV1::AppVersion>]
|
|
attr_accessor :app_version
|
|
|
|
# The name of the author of the product (for example, the app developer).
|
|
# Corresponds to the JSON property `authorName`
|
|
# @return [String]
|
|
attr_accessor :author_name
|
|
|
|
# The countries which this app is available in.
|
|
# Corresponds to the JSON property `availableCountries`
|
|
# @return [Array<String>]
|
|
attr_accessor :available_countries
|
|
|
|
# Deprecated, use <code>appTracks</code> instead.
|
|
# Corresponds to the JSON property `availableTracks`
|
|
# @return [Array<String>]
|
|
attr_accessor :available_tracks
|
|
|
|
# The app category (e.g. RACING, SOCIAL, etc.)
|
|
# Corresponds to the JSON property `category`
|
|
# @return [String]
|
|
attr_accessor :category
|
|
|
|
# The content rating for this app.
|
|
# Corresponds to the JSON property `contentRating`
|
|
# @return [String]
|
|
attr_accessor :content_rating
|
|
|
|
# The localized promotional description, if available.
|
|
# Corresponds to the JSON property `description`
|
|
# @return [String]
|
|
attr_accessor :description
|
|
|
|
# A link to the (consumer) Google Play details page for the product.
|
|
# Corresponds to the JSON property `detailsUrl`
|
|
# @return [String]
|
|
attr_accessor :details_url
|
|
|
|
# How and to whom the package is made available.
|
|
# The value <code>publicGoogleHosted</code> means that the package is
|
|
# available through the Play store and not restricted to a specific
|
|
# enterprise. The value <code>privateGoogleHosted</code> means that the
|
|
# package is a private app (restricted to an enterprise) but hosted by
|
|
# Google. The value <code>privateSelfHosted</code> means that the package is
|
|
# a private app (restricted to an enterprise) and is privately hosted.
|
|
# Corresponds to the JSON property `distributionChannel`
|
|
# @return [String]
|
|
attr_accessor :distribution_channel
|
|
|
|
# Noteworthy features (if any) of this product.
|
|
# Corresponds to the JSON property `features`
|
|
# @return [Array<String>]
|
|
attr_accessor :features
|
|
|
|
# A link to an image that can be used as an icon for the product.
|
|
# This image is suitable for use at up to 512px x 512px.
|
|
# Corresponds to the JSON property `iconUrl`
|
|
# @return [String]
|
|
attr_accessor :icon_url
|
|
|
|
# The approximate time (within 7 days) the app was last published, expressed
|
|
# in milliseconds since epoch.
|
|
# Corresponds to the JSON property `lastUpdatedTimestampMillis`
|
|
# @return [Fixnum]
|
|
attr_accessor :last_updated_timestamp_millis
|
|
|
|
# The minimum Android SDK necessary to run the app.
|
|
# Corresponds to the JSON property `minAndroidSdkVersion`
|
|
# @return [Fixnum]
|
|
attr_accessor :min_android_sdk_version
|
|
|
|
# A list of permissions required by the app.
|
|
# Corresponds to the JSON property `permissions`
|
|
# @return [Array<Google::Apis::AndroidenterpriseV1::ProductPermission>]
|
|
attr_accessor :permissions
|
|
|
|
# A string of the form <code><em>app:<package name></em></code>. For
|
|
# example, <code>app:com.google.android.gm</code> represents the Gmail app.
|
|
# Corresponds to the JSON property `productId`
|
|
# @return [String]
|
|
attr_accessor :product_id
|
|
|
|
# Whether this product is free, free with in-app purchases, or paid.
|
|
# If the pricing is unknown, this means the product is not generally
|
|
# available anymore (even though it might still be available to
|
|
# people who own it).
|
|
# Corresponds to the JSON property `productPricing`
|
|
# @return [String]
|
|
attr_accessor :product_pricing
|
|
|
|
# A description of the recent changes made to the app.
|
|
# Corresponds to the JSON property `recentChanges`
|
|
# @return [String]
|
|
attr_accessor :recent_changes
|
|
|
|
# Deprecated.
|
|
# Corresponds to the JSON property `requiresContainerApp`
|
|
# @return [Boolean]
|
|
attr_accessor :requires_container_app
|
|
alias_method :requires_container_app?, :requires_container_app
|
|
|
|
# A list of screenshot links representing the app.
|
|
# Corresponds to the JSON property `screenshotUrls`
|
|
# @return [Array<String>]
|
|
attr_accessor :screenshot_urls
|
|
|
|
# The certificate used to sign this product.
|
|
# Corresponds to the JSON property `signingCertificate`
|
|
# @return [Google::Apis::AndroidenterpriseV1::ProductSigningCertificate]
|
|
attr_accessor :signing_certificate
|
|
|
|
# A link to a smaller image that can be used as an icon for the product.
|
|
# This image is suitable for use at up to 128px x 128px.
|
|
# Corresponds to the JSON property `smallIconUrl`
|
|
# @return [String]
|
|
attr_accessor :small_icon_url
|
|
|
|
# The name of the product.
|
|
# Corresponds to the JSON property `title`
|
|
# @return [String]
|
|
attr_accessor :title
|
|
|
|
# A link to the managed Google Play details page for the product,
|
|
# for use by an Enterprise admin.
|
|
# Corresponds to the JSON property `workDetailsUrl`
|
|
# @return [String]
|
|
attr_accessor :work_details_url
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@app_tracks = args[:app_tracks] if args.key?(:app_tracks)
|
|
@app_version = args[:app_version] if args.key?(:app_version)
|
|
@author_name = args[:author_name] if args.key?(:author_name)
|
|
@available_countries = args[:available_countries] if args.key?(:available_countries)
|
|
@available_tracks = args[:available_tracks] if args.key?(:available_tracks)
|
|
@category = args[:category] if args.key?(:category)
|
|
@content_rating = args[:content_rating] if args.key?(:content_rating)
|
|
@description = args[:description] if args.key?(:description)
|
|
@details_url = args[:details_url] if args.key?(:details_url)
|
|
@distribution_channel = args[:distribution_channel] if args.key?(:distribution_channel)
|
|
@features = args[:features] if args.key?(:features)
|
|
@icon_url = args[:icon_url] if args.key?(:icon_url)
|
|
@last_updated_timestamp_millis = args[:last_updated_timestamp_millis] if args.key?(:last_updated_timestamp_millis)
|
|
@min_android_sdk_version = args[:min_android_sdk_version] if args.key?(:min_android_sdk_version)
|
|
@permissions = args[:permissions] if args.key?(:permissions)
|
|
@product_id = args[:product_id] if args.key?(:product_id)
|
|
@product_pricing = args[:product_pricing] if args.key?(:product_pricing)
|
|
@recent_changes = args[:recent_changes] if args.key?(:recent_changes)
|
|
@requires_container_app = args[:requires_container_app] if args.key?(:requires_container_app)
|
|
@screenshot_urls = args[:screenshot_urls] if args.key?(:screenshot_urls)
|
|
@signing_certificate = args[:signing_certificate] if args.key?(:signing_certificate)
|
|
@small_icon_url = args[:small_icon_url] if args.key?(:small_icon_url)
|
|
@title = args[:title] if args.key?(:title)
|
|
@work_details_url = args[:work_details_url] if args.key?(:work_details_url)
|
|
end
|
|
end
|
|
|
|
# An event generated when a product's approval status is changed.
|
|
class ProductApprovalEvent
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Whether the product was approved or unapproved.
|
|
# This field will always be present.
|
|
# Corresponds to the JSON property `approved`
|
|
# @return [String]
|
|
attr_accessor :approved
|
|
|
|
# The id of the product (e.g. "app:com.google.android.gm") for which the
|
|
# approval status has changed. This field will always be present.
|
|
# Corresponds to the JSON property `productId`
|
|
# @return [String]
|
|
attr_accessor :product_id
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@approved = args[:approved] if args.key?(:approved)
|
|
@product_id = args[:product_id] if args.key?(:product_id)
|
|
end
|
|
end
|
|
|
|
# An event generated whenever a product's availability changes.
|
|
class ProductAvailabilityChangeEvent
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The new state of the product.
|
|
# This field will always be present.
|
|
# Corresponds to the JSON property `availabilityStatus`
|
|
# @return [String]
|
|
attr_accessor :availability_status
|
|
|
|
# The id of the product (e.g. "app:com.google.android.gm") for which the
|
|
# product availability changed. This field will always be present.
|
|
# Corresponds to the JSON property `productId`
|
|
# @return [String]
|
|
attr_accessor :product_id
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@availability_status = args[:availability_status] if args.key?(:availability_status)
|
|
@product_id = args[:product_id] if args.key?(:product_id)
|
|
end
|
|
end
|
|
|
|
# A product permissions resource represents the set of permissions
|
|
# required by a specific app and whether or not they have been accepted
|
|
# by an enterprise admin.
|
|
# The API can be used to read the set of permissions, and also to update
|
|
# the set to indicate that permissions have been accepted.
|
|
class ProductPermission
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# An opaque string uniquely identifying the permission.
|
|
# Corresponds to the JSON property `permissionId`
|
|
# @return [String]
|
|
attr_accessor :permission_id
|
|
|
|
# Whether the permission has been accepted or not.
|
|
# Corresponds to the JSON property `state`
|
|
# @return [String]
|
|
attr_accessor :state
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@permission_id = args[:permission_id] if args.key?(:permission_id)
|
|
@state = args[:state] if args.key?(:state)
|
|
end
|
|
end
|
|
|
|
# Information about the permissions required by a specific app and
|
|
# whether they have been accepted by the enterprise.
|
|
class ProductPermissions
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The permissions required by the app.
|
|
# Corresponds to the JSON property `permission`
|
|
# @return [Array<Google::Apis::AndroidenterpriseV1::ProductPermission>]
|
|
attr_accessor :permission
|
|
|
|
# The ID of the app that the permissions relate to, e.g.
|
|
# "app:com.google.android.gm".
|
|
# Corresponds to the JSON property `productId`
|
|
# @return [String]
|
|
attr_accessor :product_id
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@permission = args[:permission] if args.key?(:permission)
|
|
@product_id = args[:product_id] if args.key?(:product_id)
|
|
end
|
|
end
|
|
|
|
# The policy for a product.
|
|
class ProductPolicy
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The auto-install policy for the product.
|
|
# Corresponds to the JSON property `autoInstallPolicy`
|
|
# @return [Google::Apis::AndroidenterpriseV1::AutoInstallPolicy]
|
|
attr_accessor :auto_install_policy
|
|
|
|
# A managed configuration resource contains the set of managed properties
|
|
# defined by the app developer in the app's managed configurations schema,
|
|
# as well as any configuration variables defined for the user.
|
|
# Corresponds to the JSON property `managedConfiguration`
|
|
# @return [Google::Apis::AndroidenterpriseV1::ManagedConfiguration]
|
|
attr_accessor :managed_configuration
|
|
|
|
# The ID of the product. For example,
|
|
# <code>"app:com.google.android.gm"</code>.
|
|
# Corresponds to the JSON property `productId`
|
|
# @return [String]
|
|
attr_accessor :product_id
|
|
|
|
# Grants the device visibility to the specified product release track(s),
|
|
# identified by <code>trackIds</code>. The list of release tracks of a
|
|
# product can be obtained by calling Products.Get.
|
|
# Corresponds to the JSON property `trackIds`
|
|
# @return [Array<String>]
|
|
attr_accessor :track_ids
|
|
|
|
# Deprecated. Use <code>trackIds</code> instead.
|
|
# Corresponds to the JSON property `tracks`
|
|
# @return [Array<String>]
|
|
attr_accessor :tracks
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@auto_install_policy = args[:auto_install_policy] if args.key?(:auto_install_policy)
|
|
@managed_configuration = args[:managed_configuration] if args.key?(:managed_configuration)
|
|
@product_id = args[:product_id] if args.key?(:product_id)
|
|
@track_ids = args[:track_ids] if args.key?(:track_ids)
|
|
@tracks = args[:tracks] if args.key?(:tracks)
|
|
end
|
|
end
|
|
|
|
# A set of products.
|
|
class ProductSet
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The list of product IDs making up the set of products.
|
|
# Corresponds to the JSON property `productId`
|
|
# @return [Array<String>]
|
|
attr_accessor :product_id
|
|
|
|
# The interpretation of this product set. "unknown" should never be sent and
|
|
# is ignored if received. "whitelist" means that the user is entitled to
|
|
# access the product set. "includeAll" means that all products are
|
|
# accessible, including products that are approved, products with revoked
|
|
# approval, and products that have never been approved. "allApproved" means
|
|
# that the user is entitled to access all products that are approved for the
|
|
# enterprise. If the value is "allApproved" or "includeAll", the productId
|
|
# field is ignored. If no value is provided, it is interpreted as
|
|
# "whitelist" for backwards compatibility.
|
|
# Further "allApproved" or "includeAll" does not enable automatic
|
|
# visibility of "alpha" or "beta" tracks for Android app. Use
|
|
# ProductVisibility to enable "alpha" or "beta" tracks per user.
|
|
# Corresponds to the JSON property `productSetBehavior`
|
|
# @return [String]
|
|
attr_accessor :product_set_behavior
|
|
|
|
# Additional list of product IDs making up the product set.
|
|
# Unlike the productID array, in this list It's possible to specify
|
|
# which tracks (alpha, beta, production) of a product are visible to the
|
|
# user. See ProductVisibility and its fields for more information. Specifying
|
|
# the same product ID both here and in the productId array is not allowed and
|
|
# it will result in an error.
|
|
# Corresponds to the JSON property `productVisibility`
|
|
# @return [Array<Google::Apis::AndroidenterpriseV1::ProductVisibility>]
|
|
attr_accessor :product_visibility
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@product_id = args[:product_id] if args.key?(:product_id)
|
|
@product_set_behavior = args[:product_set_behavior] if args.key?(:product_set_behavior)
|
|
@product_visibility = args[:product_visibility] if args.key?(:product_visibility)
|
|
end
|
|
end
|
|
|
|
#
|
|
class ProductSigningCertificate
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The base64 urlsafe encoded SHA1 hash of the certificate. (This field is
|
|
# deprecated in favor of SHA2-256. It should not be used and may be
|
|
# removed at any time.)
|
|
# Corresponds to the JSON property `certificateHashSha1`
|
|
# @return [String]
|
|
attr_accessor :certificate_hash_sha1
|
|
|
|
# The base64 urlsafe encoded SHA2-256 hash of the certificate.
|
|
# Corresponds to the JSON property `certificateHashSha256`
|
|
# @return [String]
|
|
attr_accessor :certificate_hash_sha256
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@certificate_hash_sha1 = args[:certificate_hash_sha1] if args.key?(:certificate_hash_sha1)
|
|
@certificate_hash_sha256 = args[:certificate_hash_sha256] if args.key?(:certificate_hash_sha256)
|
|
end
|
|
end
|
|
|
|
# A product to be made visible to a user.
|
|
class ProductVisibility
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The product ID to make visible to the user.
|
|
# Required for each item in the productVisibility list.
|
|
# Corresponds to the JSON property `productId`
|
|
# @return [String]
|
|
attr_accessor :product_id
|
|
|
|
# Grants the user visibility to the specified product track(s), identified by
|
|
# <code>trackIds</code>.
|
|
# Corresponds to the JSON property `trackIds`
|
|
# @return [Array<String>]
|
|
attr_accessor :track_ids
|
|
|
|
# Deprecated. Use <code>trackIds</code> instead.
|
|
# Corresponds to the JSON property `tracks`
|
|
# @return [Array<String>]
|
|
attr_accessor :tracks
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@product_id = args[:product_id] if args.key?(:product_id)
|
|
@track_ids = args[:track_ids] if args.key?(:track_ids)
|
|
@tracks = args[:tracks] if args.key?(:tracks)
|
|
end
|
|
end
|
|
|
|
#
|
|
class ApproveProductRequest
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Information on an approval URL.
|
|
# Corresponds to the JSON property `approvalUrlInfo`
|
|
# @return [Google::Apis::AndroidenterpriseV1::ApprovalUrlInfo]
|
|
attr_accessor :approval_url_info
|
|
|
|
# Sets how new permission requests for the product are handled.
|
|
# "allPermissions" automatically approves all current and future
|
|
# permissions for the product. "currentPermissionsOnly" approves the
|
|
# current set of permissions for the product, but any future permissions
|
|
# added through updates will require manual reapproval. If not specified,
|
|
# only the current set of permissions will be approved.
|
|
# Corresponds to the JSON property `approvedPermissions`
|
|
# @return [String]
|
|
attr_accessor :approved_permissions
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@approval_url_info = args[:approval_url_info] if args.key?(:approval_url_info)
|
|
@approved_permissions = args[:approved_permissions] if args.key?(:approved_permissions)
|
|
end
|
|
end
|
|
|
|
#
|
|
class GenerateProductApprovalUrlResponse
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# A URL that can be rendered in an iframe to display the permissions (if
|
|
# any) of a product.
|
|
# This URL can be used to approve the product only once and only within 24
|
|
# hours of being generated, using the <code>Products.approve</code> call.
|
|
# If the product is currently unapproved and has no permissions, this
|
|
# URL will point to an empty page.
|
|
# If the product is currently approved, a URL will only be generated if
|
|
# that product has added permissions since it was last approved, and the
|
|
# URL will only display those new permissions that have not yet been
|
|
# accepted.
|
|
# Corresponds to the JSON property `url`
|
|
# @return [String]
|
|
attr_accessor :url
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@url = args[:url] if args.key?(:url)
|
|
end
|
|
end
|
|
|
|
#
|
|
class ProductsListResponse
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Information about the current page.
|
|
# List operations that supports paging return only one "page" of results. This
|
|
# protocol buffer message describes the page that has been returned.
|
|
# Corresponds to the JSON property `pageInfo`
|
|
# @return [Google::Apis::AndroidenterpriseV1::PageInfo]
|
|
attr_accessor :page_info
|
|
|
|
# Information about a product (e.g. an app) in the Google Play store, for
|
|
# display to an enterprise admin.
|
|
# Corresponds to the JSON property `product`
|
|
# @return [Array<Google::Apis::AndroidenterpriseV1::Product>]
|
|
attr_accessor :product
|
|
|
|
# Pagination information returned by a List operation when token pagination
|
|
# is enabled.
|
|
# List operations that supports paging return only one "page" of results. This
|
|
# protocol buffer message describes the page that has been returned.
|
|
# When using token pagination, clients should use the next/previous token
|
|
# to get another page of the result. The presence or absence of next/previous
|
|
# token indicates whether a next/previous page is available and provides a
|
|
# mean of accessing this page. ListRequest.page_token should be set to either
|
|
# next_page_token or previous_page_token to access another page.
|
|
# Corresponds to the JSON property `tokenPagination`
|
|
# @return [Google::Apis::AndroidenterpriseV1::TokenPagination]
|
|
attr_accessor :token_pagination
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@page_info = args[:page_info] if args.key?(:page_info)
|
|
@product = args[:product] if args.key?(:product)
|
|
@token_pagination = args[:token_pagination] if args.key?(:token_pagination)
|
|
end
|
|
end
|
|
|
|
# A service account identity, including the name and credentials that can be
|
|
# used to authenticate as the service account.
|
|
class ServiceAccount
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Credentials that can be used to authenticate as a service account.
|
|
# Corresponds to the JSON property `key`
|
|
# @return [Google::Apis::AndroidenterpriseV1::ServiceAccountKey]
|
|
attr_accessor :key
|
|
|
|
# The account name of the service account, in the form of an email address.
|
|
# 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)
|
|
@key = args[:key] if args.key?(:key)
|
|
@name = args[:name] if args.key?(:name)
|
|
end
|
|
end
|
|
|
|
# Credentials that can be used to authenticate as a service account.
|
|
class ServiceAccountKey
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The body of the private key credentials file, in string format. This
|
|
# is only populated when the ServiceAccountKey is created, and is not stored
|
|
# by Google.
|
|
# Corresponds to the JSON property `data`
|
|
# @return [String]
|
|
attr_accessor :data
|
|
|
|
# An opaque, unique identifier for this ServiceAccountKey.
|
|
# Assigned by the server.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [String]
|
|
attr_accessor :id
|
|
|
|
# Public key data for the credentials file. This is an X.509 cert. If you are
|
|
# using the <code>googleCredentials</code> key type, this is identical to the
|
|
# cert that can be retrieved by using the X.509 cert url inside of the
|
|
# credentials file.
|
|
# Corresponds to the JSON property `publicData`
|
|
# @return [String]
|
|
attr_accessor :public_data
|
|
|
|
# The file format of the generated key data.
|
|
# Corresponds to the JSON property `type`
|
|
# @return [String]
|
|
attr_accessor :type
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@data = args[:data] if args.key?(:data)
|
|
@id = args[:id] if args.key?(:id)
|
|
@public_data = args[:public_data] if args.key?(:public_data)
|
|
@type = args[:type] if args.key?(:type)
|
|
end
|
|
end
|
|
|
|
#
|
|
class ServiceAccountKeysListResponse
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The service account credentials.
|
|
# Corresponds to the JSON property `serviceAccountKey`
|
|
# @return [Array<Google::Apis::AndroidenterpriseV1::ServiceAccountKey>]
|
|
attr_accessor :service_account_key
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@service_account_key = args[:service_account_key] if args.key?(:service_account_key)
|
|
end
|
|
end
|
|
|
|
# A resource returned by the GenerateSignupUrl API, which contains the
|
|
# Signup URL and Completion Token.
|
|
class SignupInfo
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# An opaque token that will be required, along with the Enterprise Token,
|
|
# for obtaining the enterprise resource from CompleteSignup.
|
|
# Corresponds to the JSON property `completionToken`
|
|
# @return [String]
|
|
attr_accessor :completion_token
|
|
|
|
# Deprecated.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# A URL under which the Admin can sign up for an enterprise.
|
|
# The page pointed to cannot be rendered in an iframe.
|
|
# Corresponds to the JSON property `url`
|
|
# @return [String]
|
|
attr_accessor :url
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@completion_token = args[:completion_token] if args.key?(:completion_token)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@url = args[:url] if args.key?(:url)
|
|
end
|
|
end
|
|
|
|
# Definition of a managed Google Play store cluster, a list of products
|
|
# displayed as part of a store page.
|
|
class StoreCluster
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Unique ID of this cluster. Assigned by the server. Immutable once assigned.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [String]
|
|
attr_accessor :id
|
|
|
|
# Ordered list of localized strings giving the name of this page.
|
|
# The text displayed is the one that best matches the user locale,
|
|
# or the first entry if there is no good match. There needs to be
|
|
# at least one entry.
|
|
# Corresponds to the JSON property `name`
|
|
# @return [Array<Google::Apis::AndroidenterpriseV1::LocalizedText>]
|
|
attr_accessor :name
|
|
|
|
# String (US-ASCII only) used to determine order of this cluster within the
|
|
# parent page's elements. Page elements are sorted in lexicographic order
|
|
# of this field.
|
|
# Duplicated values are allowed, but ordering between elements with
|
|
# duplicate order is undefined.
|
|
# The value of this field is never visible to a user, it is used solely
|
|
# for the purpose of defining an ordering. Maximum length is 256
|
|
# characters.
|
|
# Corresponds to the JSON property `orderInPage`
|
|
# @return [String]
|
|
attr_accessor :order_in_page
|
|
|
|
# List of products in the order they are displayed in the cluster. There
|
|
# should not be duplicates within a cluster.
|
|
# Corresponds to the JSON property `productId`
|
|
# @return [Array<String>]
|
|
attr_accessor :product_id
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@id = args[:id] if args.key?(:id)
|
|
@name = args[:name] if args.key?(:name)
|
|
@order_in_page = args[:order_in_page] if args.key?(:order_in_page)
|
|
@product_id = args[:product_id] if args.key?(:product_id)
|
|
end
|
|
end
|
|
|
|
# General setting for the managed Google Play store layout,
|
|
# currently only specifying the page to display the first time
|
|
# the store is opened.
|
|
class StoreLayout
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The ID of the store page to be used as the homepage. The homepage is the
|
|
# first page shown in the managed Google Play Store.
|
|
# Not specifying a homepage is equivalent to setting the store layout
|
|
# type to "basic".
|
|
# Corresponds to the JSON property `homepageId`
|
|
# @return [String]
|
|
attr_accessor :homepage_id
|
|
|
|
# The store layout type. By default, this value is set to "basic"
|
|
# if the homepageId field is not set, and to "custom" otherwise.
|
|
# If set to "basic", the layout will consist of all approved apps that
|
|
# have been whitelisted for the user.
|
|
# Corresponds to the JSON property `storeLayoutType`
|
|
# @return [String]
|
|
attr_accessor :store_layout_type
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@homepage_id = args[:homepage_id] if args.key?(:homepage_id)
|
|
@store_layout_type = args[:store_layout_type] if args.key?(:store_layout_type)
|
|
end
|
|
end
|
|
|
|
#
|
|
class StoreLayoutClustersListResponse
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# A store cluster of an enterprise.
|
|
# Corresponds to the JSON property `cluster`
|
|
# @return [Array<Google::Apis::AndroidenterpriseV1::StoreCluster>]
|
|
attr_accessor :cluster
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@cluster = args[:cluster] if args.key?(:cluster)
|
|
end
|
|
end
|
|
|
|
#
|
|
class StoreLayoutPagesListResponse
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# A store page of an enterprise.
|
|
# Corresponds to the JSON property `page`
|
|
# @return [Array<Google::Apis::AndroidenterpriseV1::StorePage>]
|
|
attr_accessor :page
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@page = args[:page] if args.key?(:page)
|
|
end
|
|
end
|
|
|
|
# Definition of a managed Google Play store page, made of a localized name
|
|
# and links to other pages. A page also contains clusters defined
|
|
# as a subcollection.
|
|
class StorePage
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Unique ID of this page. Assigned by the server. Immutable once assigned.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [String]
|
|
attr_accessor :id
|
|
|
|
# Ordered list of pages a user should be able to reach from this page.
|
|
# The list can't include this page.
|
|
# It is recommended that the basic pages are created first,
|
|
# before adding the links between pages.
|
|
# The API doesn't verify that the pages exist or the pages are reachable.
|
|
# Corresponds to the JSON property `link`
|
|
# @return [Array<String>]
|
|
attr_accessor :link
|
|
|
|
# Ordered list of localized strings giving the name of this page.
|
|
# The text displayed is the one that best matches the user locale,
|
|
# or the first entry if there is no good match. There needs to be
|
|
# at least one entry.
|
|
# Corresponds to the JSON property `name`
|
|
# @return [Array<Google::Apis::AndroidenterpriseV1::LocalizedText>]
|
|
attr_accessor :name
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@id = args[:id] if args.key?(:id)
|
|
@link = args[:link] if args.key?(:link)
|
|
@name = args[:name] if args.key?(:name)
|
|
end
|
|
end
|
|
|
|
# Pagination information returned by a List operation when token pagination
|
|
# is enabled.
|
|
# List operations that supports paging return only one "page" of results. This
|
|
# protocol buffer message describes the page that has been returned.
|
|
# When using token pagination, clients should use the next/previous token
|
|
# to get another page of the result. The presence or absence of next/previous
|
|
# token indicates whether a next/previous page is available and provides a
|
|
# mean of accessing this page. ListRequest.page_token should be set to either
|
|
# next_page_token or previous_page_token to access another page.
|
|
class TokenPagination
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Tokens to pass to the standard list field 'page_token'. Whenever available,
|
|
# tokens are preferred over manipulating start_index.
|
|
# Corresponds to the JSON property `nextPageToken`
|
|
# @return [String]
|
|
attr_accessor :next_page_token
|
|
|
|
#
|
|
# Corresponds to the JSON property `previousPageToken`
|
|
# @return [String]
|
|
attr_accessor :previous_page_token
|
|
|
|
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)
|
|
@previous_page_token = args[:previous_page_token] if args.key?(:previous_page_token)
|
|
end
|
|
end
|
|
|
|
# Id to name association of a track.
|
|
class TrackInfo
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# A modifiable name for a track. This is the visible name in the play
|
|
# developer console.
|
|
# Corresponds to the JSON property `trackAlias`
|
|
# @return [String]
|
|
attr_accessor :track_alias
|
|
|
|
# Unmodifiable, unique track identifier. This identifier is the
|
|
# releaseTrackId in the url of the play developer console page that displays
|
|
# the track information.
|
|
# Corresponds to the JSON property `trackId`
|
|
# @return [String]
|
|
attr_accessor :track_id
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@track_alias = args[:track_alias] if args.key?(:track_alias)
|
|
@track_id = args[:track_id] if args.key?(:track_id)
|
|
end
|
|
end
|
|
|
|
# A Users resource represents an account associated with an enterprise. The
|
|
# account may be specific to a device or to an individual user (who can then
|
|
# use the account across multiple devices). The account may provide access to
|
|
# managed Google Play only, or to other Google services, depending on the
|
|
# identity model:
|
|
# <ul><li>The Google managed domain identity model requires synchronization to
|
|
# Google account sources (via <code>primaryEmail</code>).</li>
|
|
# <li>The managed Google Play Accounts identity model provides a dynamic means
|
|
# for enterprises to create user or device accounts as needed. These accounts
|
|
# provide access to managed Google Play.</li>
|
|
# </ul>
|
|
class User
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# A unique identifier you create for this user, such as "user342" or
|
|
# "asset#44418". Do not use personally identifiable information (PII) for
|
|
# this property. Must always be set for EMM-managed users.
|
|
# Not set for Google-managed users.
|
|
# Corresponds to the JSON property `accountIdentifier`
|
|
# @return [String]
|
|
attr_accessor :account_identifier
|
|
|
|
# The type of account that this user represents. A <code>userAccount</code>
|
|
# can be installed on multiple devices, but a <code>deviceAccount</code> is
|
|
# specific to a single device. An EMM-managed user (<code>emmManaged</code>)
|
|
# can be either type (<code>userAccount</code>, <code>deviceAccount</code>),
|
|
# but a Google-managed user (<code>googleManaged</code>) is always a
|
|
# <code>userAccount</code>.
|
|
# Corresponds to the JSON property `accountType`
|
|
# @return [String]
|
|
attr_accessor :account_type
|
|
|
|
# The name that will appear in user interfaces. Setting this property is
|
|
# optional when creating EMM-managed users. If you do set this property,
|
|
# use something generic about the organization (such as "Example, Inc.") or
|
|
# your name (as EMM).
|
|
# Not used for Google-managed user accounts.
|
|
# @mutable androidenterprise.users.update
|
|
# Corresponds to the JSON property `displayName`
|
|
# @return [String]
|
|
attr_accessor :display_name
|
|
|
|
# The unique ID for the user.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [String]
|
|
attr_accessor :id
|
|
|
|
# The entity that manages the user. With <code>googleManaged</code> users,
|
|
# the source of truth is Google so EMMs have to make sure a Google Account
|
|
# exists for the user. With <code>emmManaged</code> users, the
|
|
# EMM is in charge.
|
|
# Corresponds to the JSON property `managementType`
|
|
# @return [String]
|
|
attr_accessor :management_type
|
|
|
|
# The user's primary email address, for example, "jsmith@example.com".
|
|
# Will always be set for Google managed users and not set for EMM managed
|
|
# users.
|
|
# Corresponds to the JSON property `primaryEmail`
|
|
# @return [String]
|
|
attr_accessor :primary_email
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@account_identifier = args[:account_identifier] if args.key?(:account_identifier)
|
|
@account_type = args[:account_type] if args.key?(:account_type)
|
|
@display_name = args[:display_name] if args.key?(:display_name)
|
|
@id = args[:id] if args.key?(:id)
|
|
@management_type = args[:management_type] if args.key?(:management_type)
|
|
@primary_email = args[:primary_email] if args.key?(:primary_email)
|
|
end
|
|
end
|
|
|
|
#
|
|
class ListUsersResponse
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# A user of an enterprise.
|
|
# Corresponds to the JSON property `user`
|
|
# @return [Array<Google::Apis::AndroidenterpriseV1::User>]
|
|
attr_accessor :user
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@user = args[:user] if args.key?(:user)
|
|
end
|
|
end
|
|
|
|
# A variable set is a key-value pair of EMM-provided placeholders and
|
|
# its corresponding value, which is attributed to a user. For example,
|
|
# $FIRSTNAME could be a placeholder, and its value could be Alice. Placeholders
|
|
# should start with a '$' sign and should be alphanumeric only.
|
|
class VariableSet
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The placeholder string; defined by EMM.
|
|
# Corresponds to the JSON property `placeholder`
|
|
# @return [String]
|
|
attr_accessor :placeholder
|
|
|
|
# The value of the placeholder, specific to the user.
|
|
# Corresponds to the JSON property `userValue`
|
|
# @return [String]
|
|
attr_accessor :user_value
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@placeholder = args[:placeholder] if args.key?(:placeholder)
|
|
@user_value = args[:user_value] if args.key?(:user_value)
|
|
end
|
|
end
|
|
|
|
# A WebApps resource represents a web app created for an enterprise. Web apps
|
|
# are published to managed Google Play and can be distributed like other
|
|
# Android apps. On a user's device, a web app opens its specified URL.
|
|
class WebApp
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The display mode of the web app. <br><br>
|
|
# Possible values include:
|
|
# <ul><li>"<code>minimalUi</code>", the device's status bar, navigation bar,
|
|
# the app's URL, and a refresh button are visible when the app is open. For
|
|
# HTTP URLs, you can only select this option.
|
|
# <li>"<code>standalone</code>", the device's status bar and navigation
|
|
# bar are visible when the app is open.
|
|
# <li>"<code>fullScreen</code>", the app opens in full screen mode, hiding
|
|
# the device's status and navigation bars. All browser UI elements, page
|
|
# URL, system status bar and back button are not visible, and the web app
|
|
# takes up the entirety of the available display area.
|
|
# </ul>
|
|
# Corresponds to the JSON property `displayMode`
|
|
# @return [String]
|
|
attr_accessor :display_mode
|
|
|
|
# A list of icons representing this website. If absent, a default icon (for
|
|
# create) or the current icon (for update) will be used.
|
|
# Corresponds to the JSON property `icons`
|
|
# @return [Array<Google::Apis::AndroidenterpriseV1::WebAppIcon>]
|
|
attr_accessor :icons
|
|
|
|
# A flag whether the app has been published to the Play store yet.
|
|
# Corresponds to the JSON property `isPublished`
|
|
# @return [Boolean]
|
|
attr_accessor :is_published
|
|
alias_method :is_published?, :is_published
|
|
|
|
# The start URL, i.e. the URL that should load when the user opens the
|
|
# application.
|
|
# Corresponds to the JSON property `startUrl`
|
|
# @return [String]
|
|
attr_accessor :start_url
|
|
|
|
# The title of the web app as displayed to the user (e.g., amongst a list of
|
|
# other applications, or as a label for an icon).
|
|
# Corresponds to the JSON property `title`
|
|
# @return [String]
|
|
attr_accessor :title
|
|
|
|
# The current version of the app.
|
|
# <p>Note that the version can automatically increase during the lifetime of
|
|
# the web app, while Google does internal housekeeping to keep the web app
|
|
# up-to-date.
|
|
# Corresponds to the JSON property `versionCode`
|
|
# @return [Fixnum]
|
|
attr_accessor :version_code
|
|
|
|
# The ID of the application. A string of the form
|
|
# <code>"app:<package name>"</code> where the package name
|
|
# always starts with the prefix
|
|
# <code>"com.google.enterprise.webapp."</code> followed by a
|
|
# random id.
|
|
# Corresponds to the JSON property `webAppId`
|
|
# @return [String]
|
|
attr_accessor :web_app_id
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@display_mode = args[:display_mode] if args.key?(:display_mode)
|
|
@icons = args[:icons] if args.key?(:icons)
|
|
@is_published = args[:is_published] if args.key?(:is_published)
|
|
@start_url = args[:start_url] if args.key?(:start_url)
|
|
@title = args[:title] if args.key?(:title)
|
|
@version_code = args[:version_code] if args.key?(:version_code)
|
|
@web_app_id = args[:web_app_id] if args.key?(:web_app_id)
|
|
end
|
|
end
|
|
|
|
# Icon for a web app.
|
|
class WebAppIcon
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The actual bytes of the image in a base64url encoded string (c.f. RFC4648,
|
|
# section 5 "Base 64 Encoding with URL and Filename Safe Alphabet").
|
|
# <ul>
|
|
# <li>The image type can be png or jpg.
|
|
# <li>The image should ideally be square.
|
|
# <li>The image should ideally have a size of 512x512.
|
|
# </ul>
|
|
# Corresponds to the JSON property `imageData`
|
|
# @return [String]
|
|
attr_accessor :image_data
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@image_data = args[:image_data] if args.key?(:image_data)
|
|
end
|
|
end
|
|
|
|
#
|
|
class WebAppsListResponse
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The manifest describing a web app.
|
|
# Corresponds to the JSON property `webApp`
|
|
# @return [Array<Google::Apis::AndroidenterpriseV1::WebApp>]
|
|
attr_accessor :web_app
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@web_app = args[:web_app] if args.key?(:web_app)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|