Class: Google::Apis::AndroidmanagementV1::ApplicationPolicy
- Inherits:
-
Object
- Object
- Google::Apis::AndroidmanagementV1::ApplicationPolicy
- Includes:
- Core::Hashable, Core::JsonObjectSupport
- Defined in:
- lib/google/apis/androidmanagement_v1/classes.rb,
lib/google/apis/androidmanagement_v1/representations.rb,
lib/google/apis/androidmanagement_v1/representations.rb
Overview
Policy for an individual app.
Instance Attribute Summary collapse
-
#accessible_track_ids ⇒ Array<String>
List of the app’s track IDs that a device belonging to the enterprise can access.
-
#always_on_vpn_lockdown_exemption ⇒ String
Specifies whether the app is allowed networking when the VPN is not connected and alwaysOnVpnPackage.lockdownEnabled is enabled.
-
#auto_update_mode ⇒ String
Controls the auto-update mode for the app.
-
#connected_work_and_personal_app ⇒ String
Controls whether the app can communicate with itself across a device’s work and personal profiles, subject to user consent.
-
#default_permission_policy ⇒ String
The default policy for all permissions requested by the app.
-
#delegated_scopes ⇒ Array<String>
The scopes delegated to the app from Android Device Policy.
-
#disabled ⇒ Boolean
(also: #disabled?)
Whether the app is disabled.
-
#extension_config ⇒ Google::Apis::AndroidmanagementV1::ExtensionConfig
Configuration to enable an app as an extension app, with the capability of interacting with Android Device Policy offline.
-
#install_type ⇒ String
The type of installation to perform.
-
#lock_task_allowed ⇒ Boolean
(also: #lock_task_allowed?)
Whether the app is allowed to lock itself in full-screen mode.
-
#managed_configuration ⇒ Hash<String,Object>
Managed configuration applied to the app.
-
#managed_configuration_template ⇒ Google::Apis::AndroidmanagementV1::ManagedConfigurationTemplate
The managed configurations template for the app, saved from the managed configurations iframe.
-
#minimum_version_code ⇒ Fixnum
The minimum version of the app that runs on the device.
-
#package_name ⇒ String
The package name of the app.
-
#permission_grants ⇒ Array<Google::Apis::AndroidmanagementV1::PermissionGrant>
Explicit permission grants or denials for the app.
-
#work_profile_widgets ⇒ String
Specifies whether the app installed in the work profile is allowed to add widgets to the home screen.
Instance Method Summary collapse
-
#initialize(**args) ⇒ ApplicationPolicy
constructor
A new instance of ApplicationPolicy.
-
#update!(**args) ⇒ Object
Update properties of this object.
Constructor Details
#initialize(**args) ⇒ ApplicationPolicy
Returns a new instance of ApplicationPolicy.
649 650 651 |
# File 'lib/google/apis/androidmanagement_v1/classes.rb', line 649 def initialize(**args) update!(**args) end |
Instance Attribute Details
#accessible_track_ids ⇒ Array<String>
List of the app’s track IDs that a device belonging to the enterprise can
access. If the list contains multiple track IDs, devices receive the latest
version among all accessible tracks. If the list contains no track IDs,
devices only have access to the app’s production track. More details about
each track are available in AppTrackInfo.
Corresponds to the JSON property accessibleTrackIds
533 534 535 |
# File 'lib/google/apis/androidmanagement_v1/classes.rb', line 533 def accessible_track_ids @accessible_track_ids end |
#always_on_vpn_lockdown_exemption ⇒ String
Specifies whether the app is allowed networking when the VPN is not connected
and alwaysOnVpnPackage.lockdownEnabled is enabled. If set to
VPN_LOCKDOWN_ENFORCED, the app is not allowed networking, and if set to
VPN_LOCKDOWN_EXEMPTION, the app is allowed networking. Only supported on
devices running Android 10 and above. If this is not supported by the device,
the device will contain a NonComplianceDetail with non_compliance_reason set
to API_LEVEL and a fieldPath. If this is not applicable to the app, the device
will contain a NonComplianceDetail with non_compliance_reason set to
UNSUPPORTED and a fieldPath. The fieldPath is set to applications[i].
alwaysOnVpnLockdownExemption, where i is the index of the package in the
applications policy.
Corresponds to the JSON property alwaysOnVpnLockdownExemption
548 549 550 |
# File 'lib/google/apis/androidmanagement_v1/classes.rb', line 548 def always_on_vpn_lockdown_exemption @always_on_vpn_lockdown_exemption end |
#auto_update_mode ⇒ String
Controls the auto-update mode for the app.
Corresponds to the JSON property autoUpdateMode
553 554 555 |
# File 'lib/google/apis/androidmanagement_v1/classes.rb', line 553 def auto_update_mode @auto_update_mode end |
#connected_work_and_personal_app ⇒ String
Controls whether the app can communicate with itself across a device’s work
and personal profiles, subject to user consent.
Corresponds to the JSON property connectedWorkAndPersonalApp
559 560 561 |
# File 'lib/google/apis/androidmanagement_v1/classes.rb', line 559 def connected_work_and_personal_app @connected_work_and_personal_app end |
#default_permission_policy ⇒ String
The default policy for all permissions requested by the app. If specified,
this overrides the policy-level default_permission_policy which applies to all
apps. It does not override the permission_grants which applies to all apps.
Corresponds to the JSON property defaultPermissionPolicy
566 567 568 |
# File 'lib/google/apis/androidmanagement_v1/classes.rb', line 566 def @default_permission_policy end |
#delegated_scopes ⇒ Array<String>
The scopes delegated to the app from Android Device Policy.
Corresponds to the JSON property delegatedScopes
571 572 573 |
# File 'lib/google/apis/androidmanagement_v1/classes.rb', line 571 def delegated_scopes @delegated_scopes end |
#disabled ⇒ Boolean Also known as: disabled?
Whether the app is disabled. When disabled, the app data is still preserved.
Corresponds to the JSON property disabled
576 577 578 |
# File 'lib/google/apis/androidmanagement_v1/classes.rb', line 576 def disabled @disabled end |
#extension_config ⇒ Google::Apis::AndroidmanagementV1::ExtensionConfig
Configuration to enable an app as an extension app, with the capability of
interacting with Android Device Policy offline. For Android versions 13 and
above, extension apps are exempt from battery restrictions so will not be
placed into the restricted App Standby Bucket (https://developer.android.com/
topic/performance/appstandby#restricted-bucket). Extensions apps are also
protected against users clearing their data or force-closing the application,
although admins can continue to use the clear app data command (https://
developer.android.com/management/reference/rest/v1/enterprises.devices/
issueCommand#CommandType) on extension apps if needed for Android 13 and above.
Corresponds to the JSON property extensionConfig
590 591 592 |
# File 'lib/google/apis/androidmanagement_v1/classes.rb', line 590 def extension_config @extension_config end |
#install_type ⇒ String
The type of installation to perform.
Corresponds to the JSON property installType
595 596 597 |
# File 'lib/google/apis/androidmanagement_v1/classes.rb', line 595 def install_type @install_type end |
#lock_task_allowed ⇒ Boolean Also known as: lock_task_allowed?
Whether the app is allowed to lock itself in full-screen mode. DEPRECATED. Use
InstallType KIOSK or kioskCustomLauncherEnabled to configure a dedicated
device.
Corresponds to the JSON property lockTaskAllowed
602 603 604 |
# File 'lib/google/apis/androidmanagement_v1/classes.rb', line 602 def lock_task_allowed @lock_task_allowed end |
#managed_configuration ⇒ Hash<String,Object>
Managed configuration applied to the app. The format for the configuration is
dictated by the ManagedProperty values supported by the app. Each field name
in the managed configuration must match the key field of the ManagedProperty.
The field value must be compatible with the type of the ManagedProperty: type
JSON value BOOL true or false STRING string INTEGER number CHOICE string
MULTISELECT array of strings HIDDEN string BUNDLE_ARRAY array of objects
Corresponds to the JSON property managedConfiguration
613 614 615 |
# File 'lib/google/apis/androidmanagement_v1/classes.rb', line 613 def managed_configuration @managed_configuration end |
#managed_configuration_template ⇒ Google::Apis::AndroidmanagementV1::ManagedConfigurationTemplate
The managed configurations template for the app, saved from the managed
configurations iframe.
Corresponds to the JSON property managedConfigurationTemplate
619 620 621 |
# File 'lib/google/apis/androidmanagement_v1/classes.rb', line 619 def managed_configuration_template @managed_configuration_template end |
#minimum_version_code ⇒ Fixnum
The minimum version of the app that runs on the device. If set, the device
attempts to update the app to at least this version code. If the app is not up-
to-date, the device will contain a NonComplianceDetail with
non_compliance_reason set to APP_NOT_UPDATED. The app must already be
published to Google Play with a version code greater than or equal to this
value. At most 20 apps may specify a minimum version code per policy.
Corresponds to the JSON property minimumVersionCode
629 630 631 |
# File 'lib/google/apis/androidmanagement_v1/classes.rb', line 629 def minimum_version_code @minimum_version_code end |
#package_name ⇒ String
The package name of the app. For example, com.google.android.youtube for the
YouTube app.
Corresponds to the JSON property packageName
635 636 637 |
# File 'lib/google/apis/androidmanagement_v1/classes.rb', line 635 def package_name @package_name end |
#permission_grants ⇒ Array<Google::Apis::AndroidmanagementV1::PermissionGrant>
Explicit permission grants or denials for the app. These values override the
default_permission_policy and permission_grants which apply to all apps.
Corresponds to the JSON property permissionGrants
641 642 643 |
# File 'lib/google/apis/androidmanagement_v1/classes.rb', line 641 def @permission_grants end |
#work_profile_widgets ⇒ String
Specifies whether the app installed in the work profile is allowed to add
widgets to the home screen.
Corresponds to the JSON property workProfileWidgets
647 648 649 |
# File 'lib/google/apis/androidmanagement_v1/classes.rb', line 647 def @work_profile_widgets end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 |
# File 'lib/google/apis/androidmanagement_v1/classes.rb', line 654 def update!(**args) @accessible_track_ids = args[:accessible_track_ids] if args.key?(:accessible_track_ids) @always_on_vpn_lockdown_exemption = args[:always_on_vpn_lockdown_exemption] if args.key?(:always_on_vpn_lockdown_exemption) @auto_update_mode = args[:auto_update_mode] if args.key?(:auto_update_mode) @connected_work_and_personal_app = args[:connected_work_and_personal_app] if args.key?(:connected_work_and_personal_app) @default_permission_policy = args[:default_permission_policy] if args.key?(:default_permission_policy) @delegated_scopes = args[:delegated_scopes] if args.key?(:delegated_scopes) @disabled = args[:disabled] if args.key?(:disabled) @extension_config = args[:extension_config] if args.key?(:extension_config) @install_type = args[:install_type] if args.key?(:install_type) @lock_task_allowed = args[:lock_task_allowed] if args.key?(:lock_task_allowed) @managed_configuration = args[:managed_configuration] if args.key?(:managed_configuration) @managed_configuration_template = args[:managed_configuration_template] if args.key?(:managed_configuration_template) @minimum_version_code = args[:minimum_version_code] if args.key?(:minimum_version_code) @package_name = args[:package_name] if args.key?(:package_name) @permission_grants = args[:permission_grants] if args.key?(:permission_grants) @work_profile_widgets = args[:work_profile_widgets] if args.key?(:work_profile_widgets) end |