Class: Google::Apis::AndroidmanagementV1::ApplicationPolicy

Inherits:
Object
  • Object
show all
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

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ ApplicationPolicy

Returns a new instance of ApplicationPolicy.



522
523
524
# File 'lib/google/apis/androidmanagement_v1/classes.rb', line 522

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

Instance Attribute Details

#accessible_track_idsArray<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

Returns:

  • (Array<String>)


419
420
421
# File 'lib/google/apis/androidmanagement_v1/classes.rb', line 419

def accessible_track_ids
  @accessible_track_ids
end

#always_on_vpn_lockdown_exemptionString

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

Returns:

  • (String)


434
435
436
# File 'lib/google/apis/androidmanagement_v1/classes.rb', line 434

def always_on_vpn_lockdown_exemption
  @always_on_vpn_lockdown_exemption
end

#auto_update_modeString

Controls the auto-update mode for the app. Corresponds to the JSON property autoUpdateMode

Returns:

  • (String)


439
440
441
# File 'lib/google/apis/androidmanagement_v1/classes.rb', line 439

def auto_update_mode
  @auto_update_mode
end

#connected_work_and_personal_appString

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

Returns:

  • (String)


445
446
447
# File 'lib/google/apis/androidmanagement_v1/classes.rb', line 445

def connected_work_and_personal_app
  @connected_work_and_personal_app
end

#default_permission_policyString

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

Returns:

  • (String)


452
453
454
# File 'lib/google/apis/androidmanagement_v1/classes.rb', line 452

def default_permission_policy
  @default_permission_policy
end

#delegated_scopesArray<String>

The scopes delegated to the app from Android Device Policy. Corresponds to the JSON property delegatedScopes

Returns:

  • (Array<String>)


457
458
459
# File 'lib/google/apis/androidmanagement_v1/classes.rb', line 457

def delegated_scopes
  @delegated_scopes
end

#disabledBoolean Also known as: disabled?

Whether the app is disabled. When disabled, the app data is still preserved. Corresponds to the JSON property disabled

Returns:

  • (Boolean)


462
463
464
# File 'lib/google/apis/androidmanagement_v1/classes.rb', line 462

def disabled
  @disabled
end

#extension_configGoogle::Apis::AndroidmanagementV1::ExtensionConfig

Configuration to enable an app as an extension app, with the capability of interacting with Android Device Policy offline. Corresponds to the JSON property extensionConfig



469
470
471
# File 'lib/google/apis/androidmanagement_v1/classes.rb', line 469

def extension_config
  @extension_config
end

#install_typeString

The type of installation to perform. Corresponds to the JSON property installType

Returns:

  • (String)


474
475
476
# File 'lib/google/apis/androidmanagement_v1/classes.rb', line 474

def install_type
  @install_type
end

#lock_task_allowedBoolean 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 to configure a dedicated device. Corresponds to the JSON property lockTaskAllowed

Returns:

  • (Boolean)


481
482
483
# File 'lib/google/apis/androidmanagement_v1/classes.rb', line 481

def lock_task_allowed
  @lock_task_allowed
end

#managed_configurationHash<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

Returns:

  • (Hash<String,Object>)


492
493
494
# File 'lib/google/apis/androidmanagement_v1/classes.rb', line 492

def managed_configuration
  @managed_configuration
end

#managed_configuration_templateGoogle::Apis::AndroidmanagementV1::ManagedConfigurationTemplate

The managed configurations template for the app, saved from the managed configurations iframe. Corresponds to the JSON property managedConfigurationTemplate



498
499
500
# File 'lib/google/apis/androidmanagement_v1/classes.rb', line 498

def managed_configuration_template
  @managed_configuration_template
end

#minimum_version_codeFixnum

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

Returns:

  • (Fixnum)


508
509
510
# File 'lib/google/apis/androidmanagement_v1/classes.rb', line 508

def minimum_version_code
  @minimum_version_code
end

#package_nameString

The package name of the app. For example, com.google.android.youtube for the YouTube app. Corresponds to the JSON property packageName

Returns:

  • (String)


514
515
516
# File 'lib/google/apis/androidmanagement_v1/classes.rb', line 514

def package_name
  @package_name
end

#permission_grantsArray<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



520
521
522
# File 'lib/google/apis/androidmanagement_v1/classes.rb', line 520

def permission_grants
  @permission_grants
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
# File 'lib/google/apis/androidmanagement_v1/classes.rb', line 527

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)
end