# 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 PlaySearch.approveApps. # Corresponds to the JSON property `permission` # @return [Array] 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 approve # mode. 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] 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 choice or multiselect restrictions, the list # of possible entries' human-readable names. # Corresponds to the JSON property `entry` # @return [Array] attr_accessor :entry # For choice or multiselect restrictions, the list # of possible entries' machine-readable values. These values should be used # in the configuration, either as a single string value for a # choice restriction or in a stringArray for a # multiselect restriction. # Corresponds to the JSON property `entryValue` # @return [Array] 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 bundle or bundleArray restrictions, the list # of nested restrictions. A bundle restriction is always nested # within a bundleArray restriction, and a # bundleArray restriction is at most two levels deep. # Corresponds to the JSON property `nestedRestriction` # @return [Array] 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] 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] 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 trackId instead. # Corresponds to the JSON property `track` # @return [String] attr_accessor :track # Track ids that the app version is published in. Replaces the # track field (deprecated), but doesn't include the production # track (see isProduction instead). # Corresponds to the JSON property `trackId` # @return [Array] 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 Products.approve 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] 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] 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, # "123456789abcdef0". # 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.

# Possible values include: #
  • "managedDevice", a device that has the EMM's device # policy controller (DPC) as the device owner.
  • #
  • "managedProfile", 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.
  • #
  • "containerApp", no longer used (deprecated).
  • #
  • "unmanagedProfile", 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.
# 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] 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] 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: #
  • For Google managed domain customers, the process involves using # Enterprises.enroll and Enterprises.setAccount (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.
  • #
  • For managed Google Play Accounts customers, the process involves using # Enterprises.generateSignupUrl and # Enterprises.completeSignup in conjunction with the managed # Google Play sign-up UI (Google-provided mechanism) to create the binding # without manual steps.
As an EMM, you can support either or both # approaches in your EMM console. See Create an Enterprise # 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] 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] 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 # # Installs.delete() before deleting the entitlement. # Entitlements for apps that a user pays for on an unmanaged profile have # "userPurchase" 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, # "app:com.google.android.gm". # Corresponds to the JSON property `productId` # @return [String] attr_accessor :product_id # The reason for the entitlement. For example, "free" # for free apps. This property is temporary: it will be replaced by the acquisition kind 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] 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 # entitlements) # 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 Grouplicenses 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 Entitlements 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. "bulkPurchase" # means that this Grouplicenses resource was created because the enterprise # purchased licenses for this product; otherwise, the value is # "free" (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 # "free"). # 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:
    #
  • "currentApproved", 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.),
  • #
  • "needsReapproval", the product has unapproved permissions. # No additional product licenses can be assigned until the product is # reapproved,
  • #
  • "allCurrentAndFutureApproved", # the current permissions are approved and any future permission updates # will be automatically approved without administrator review.
# Corresponds to the JSON property `permissions` # @return [String] attr_accessor :permissions # The ID of the product that the license is for. For example, # "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) @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] 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] 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 # update # 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 update 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 "installPending" # means that an install request has recently been made and download to the # device is in progress. The state "installed" # 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, # "app:com.google.android.gm". # 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 "installed". # 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] 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] 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] 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] 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] 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] 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] 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] 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.

# Possible values include: #
  • "managedDevice", a device where the DPC is set as # device owner,
  • #
  • "managedProfile", a device where the DPC is set as profile # owner.
# 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] 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] 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] 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 productAvailabilityPolicy # needs to be set to WHITELIST or ALL for the # product policies to be applied. # Corresponds to the JSON property `productPolicy` # @return [Array] 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] attr_accessor :app_tracks # App versions currently available for this product. # Corresponds to the JSON property `appVersion` # @return [Array] 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] attr_accessor :available_countries # Deprecated, use appTracks instead. # Corresponds to the JSON property `availableTracks` # @return [Array] 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 publicGoogleHosted means that the package is # available through the Play store and not restricted to a specific # enterprise. The value privateGoogleHosted means that the # package is a private app (restricted to an enterprise) but hosted by # Google. The value privateSelfHosted 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] 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] attr_accessor :permissions # A string of the form app:<package name>. For # example, app:com.google.android.gm 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] 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] 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, # "app:com.google.android.gm". # 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 trackIds. The list of release tracks of a # product can be obtained by calling Products.Get. # Corresponds to the JSON property `trackIds` # @return [Array] attr_accessor :track_ids # Deprecated. Use trackIds instead. # Corresponds to the JSON property `tracks` # @return [Array] 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] 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] 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 # trackIds. # Corresponds to the JSON property `trackIds` # @return [Array] attr_accessor :track_ids # Deprecated. Use trackIds instead. # Corresponds to the JSON property `tracks` # @return [Array] 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 Products.approve 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] 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 googleCredentials 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] 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] 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] 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] 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] 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] 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] 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: #
  • The Google managed domain identity model requires synchronization to # Google account sources (via primaryEmail).
  • #
  • 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.
  • #
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 userAccount # can be installed on multiple devices, but a deviceAccount is # specific to a single device. An EMM-managed user (emmManaged) # can be either type (userAccount, deviceAccount), # but a Google-managed user (googleManaged) is always a # userAccount. # 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 googleManaged users, # the source of truth is Google so EMMs have to make sure a Google Account # exists for the user. With emmManaged 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] 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.

# Possible values include: #
  • "minimalUi", 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. #
  • "standalone", the device's status bar and navigation # bar are visible when the app is open. #
  • "fullScreen", 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. #
# 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] 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. #

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 # "app:<package name>" where the package name # always starts with the prefix # "com.google.enterprise.webapp." 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"). #

    #
  • The image type can be png or jpg. #
  • The image should ideally be square. #
  • The image should ideally have a size of 512x512. #
# 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] 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