Class: Google::Apis::AndroidenterpriseV1::Entitlement

Inherits:
Object
  • Object
show all
Includes:
Core::Hashable, Core::JsonObjectSupport
Defined in:
generated/google/apis/androidenterprise_v1/classes.rb,
generated/google/apis/androidenterprise_v1/representations.rb,
generated/google/apis/androidenterprise_v1/representations.rb

Overview

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.

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Core::JsonObjectSupport

#to_json

Methods included from Core::Hashable

process_value, #to_h

Constructor Details

#initialize(**args) ⇒ Entitlement

Returns a new instance of Entitlement



731
732
733
# File 'generated/google/apis/androidenterprise_v1/classes.rb', line 731

def initialize(**args)
   update!(**args)
end

Instance Attribute Details

#kindString

Identifies what kind of resource this is. Value: the fixed string " androidenterprise#entitlement". Corresponds to the JSON property kind

Returns:

  • (String)


716
717
718
# File 'generated/google/apis/androidenterprise_v1/classes.rb', line 716

def kind
  @kind
end

#product_idString

The ID of the product that the entitlement is for. For example, "app:com. google.android.gm". Corresponds to the JSON property productId

Returns:

  • (String)


722
723
724
# File 'generated/google/apis/androidenterprise_v1/classes.rb', line 722

def product_id
  @product_id
end

#reasonString

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

Returns:

  • (String)


729
730
731
# File 'generated/google/apis/androidenterprise_v1/classes.rb', line 729

def reason
  @reason
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



736
737
738
739
740
# File 'generated/google/apis/androidenterprise_v1/classes.rb', line 736

def update!(**args)
  @kind = args[:kind] if args.key?(:kind)
  @product_id = args[:product_id] if args.key?(:product_id)
  @reason = args[:reason] if args.key?(:reason)
end