REST Resource: deployments.configs

Resource: Config

A configuration of a deployment.

JSON representation
{
  "name": string,
  "title": string,
  "description": string,
  "defaultUpdateDescription": {
    object (UpdateDescription)
  },
  "localizedUpdateDescriptions": [
    {
      object (LocalizedUpdateDescription)
    }
  ],
  "urgencyMode": enum (UrgencyMode),
  "scheduledInstallDelay": enum (ScheduledInstallDelay),
  "wifiOnlyTime": enum (WifiOnlyTime),
  "updateMaintenanceWindow": {
    object (TimeWindow)
  },
  "packageSizeAwareBatteryThreshold": boolean,
  "offPeakUpdate": {
    object (OffPeakUpdate)
  },
  "countryRestriction": {
    object (IncludeExclude)
  },
  "mobileNetworkRestriction": {
    object (IncludeExclude)
  },
  "deviceBuildPropertyRestriction": {
    object (IncludeExclude)
  },
  "mobileNetworkCarrierRestriction": {
    object (IncludeExclude)
  },
  "updateRequiredSetup": boolean,
  "minimalSpaceRequired": enum (SpaceNeed),
  "immediateRelease": boolean,
  "rolloutSteps": [
    {
      object (RolloutStep)
    }
  ],
  "securityUpdate": boolean,
  "details": {
    object (ConfigDetails)
  },
  "allowEncryptedScheduledInstall": boolean,
  "reminderDialogSettings": {
    object (ReminderDialogSettings)
  }
}
Fields
name

string

Output only. The name of the config. Note that this is the unique identifier for Config objects and will be generated by the server when a new Config is created.

title

string

Optional. The title of the config.

description

string

Optional. The description of the config.

defaultUpdateDescription

object (UpdateDescription)

Required. The default UI text used when the device locale doesn't match any locales specified in localizedUpdateDescriptions.

localizedUpdateDescriptions[]

object (LocalizedUpdateDescription)

Optional. A list of localized update descriptions, which take priority over defaultUpdateDescription if one of them matches the device locale.

urgencyMode

enum (UrgencyMode)

Optional. The update urgency that dictates how a user will be prompted. If left unspecified, a default of MANDATORY will be used.

scheduledInstallDelay

enum (ScheduledInstallDelay)

Optional. A delay that determines when the update will be scheduled for overnight installation. Defaults to NEVER if left unspecified.

wifiOnlyTime

enum (WifiOnlyTime)

Optional. Defaulted to SEVEN_DAYS if left as WIFI_ONLY_TIME_UNSPECIFIED.

Note: this will be set to FOREVER if urgencyMode is RECOMMENDED.

updateMaintenanceWindow

object (TimeWindow)

Optional. The installation time window for the OTA.

packageSizeAwareBatteryThreshold

boolean

Optional. Whether the update should have different installation battery thresholds depending on its size.

offPeakUpdate

object (OffPeakUpdate)

Optional. The off-peak update object.

countryRestriction

object (IncludeExclude)

Optional. The possible included/excluded countries.

mobileNetworkRestriction

object (IncludeExclude)

Optional. The possible included/excluded mobile networks identified by mcc/mnc codes. Note this must be used exclusively of mobileNetworkCarrierRestriction. Both fields cannot be set at the same time.

deviceBuildPropertyRestriction

object (IncludeExclude)

Optional. The possible included/excluded device build property restriction.

mobileNetworkCarrierRestriction

object (IncludeExclude)

Optional. The possible included/excluded mobile network carriers. Note this must be used exclusively of mobileNetworkRestriction. Both fields cannot be set at the same time.

To view the mappings, please refer to Mobile Country Code and Mobile Network Code.

updateRequiredSetup

boolean

Optional. Indicates if the update is required during the setup wizard. Defaults to false.

minimalSpaceRequired

enum (SpaceNeed)

Optional. The minimal space requirement. When the value is UNSPECIFIED, the server will not set a restriction. Requires Google Play Services 6.1.11 or later.

immediateRelease

boolean

Optional. One of immediateRelease or rolloutSteps is required. Whether the update should be released immediately. If this is true, rolloutSteps should be unset.

rolloutSteps[]

object (RolloutStep)

Optional. One of rolloutSteps or immediateRelease is required. RolloutSteps must be in order: both time_ms and fraction should be non-decreasing. The last step should have fraction == 100.

securityUpdate

boolean

Optional. Marks the update as a security update. This is passed to the device to coordinate the display of the correct update message. That is, to display the text "applying security update" rather than "applying system update". Requires API level 22 or later and Google Play Services 9.4 or later.

details

object (ConfigDetails)

Output only. More details of a config. This should only be returned by the server when returning the config.

allowEncryptedScheduledInstall

boolean

Optional. Whether or not a package is allowed to be scheduled for installation on encrypted devices.

reminderDialogSettings

object (ReminderDialogSettings)

Optional. Settings for the modal dialog reminding users they have a pending update.

UpdateDescription

The update description sent to the device.

JSON representation
{
  "description": string,
  "title": string,
  "dialogMessage": string,
  "postSuccessMessage": string,
  "postFailureMessage": string
}
Fields
description

string

The update description text.

title

string

The update description title.

dialogMessage

string

The dialog message of the update.

postSuccessMessage

string

The post success message of the update. Requires API level 14 or greater.

postFailureMessage

string

The post failure message of the update. Requires API level 14 or greater.

LocalizedUpdateDescription

The update description based on the locale.

JSON representation
{
  "locales": [
    string
  ],
  "updateDescription": {
    object (UpdateDescription)
  }
}
Fields
locales[]

string

The locales to match the locales of the device.

updateDescription

object (UpdateDescription)

The update description that is sent to the device.

UrgencyMode

The upgrade urgency mode.

Enums
MODE_UNSPECIFIED Not specified.
RECOMMENDED Recommend upgrade. The user will be prompted to download and install the update.
MANDATORY Mandatory upgrade. The update will download automatically but the user will be prompted to start the install.
AUTOMATIC Automatic upgrade. The update will be downloaded and installed automatically.

ScheduledInstallDelay

Window of delay from when update is available to when the installation is automatically scheduled.

Enums
SCHEDULED_INSTALL_DELAY_UNSPECIFIED Default value. Will be treated as NEVER.
SCHEDULED_INSTALL_DELAY_NEVER Never escalate to automatic installation.
SCHEDULED_INSTALL_DELAY_ZERO_DAYS Zero day window (immediately)
SCHEDULED_INSTALL_DELAY_ONE_DAY One day window.
SCHEDULED_INSTALL_DELAY_TWO_DAYS Two day window.
SCHEDULED_INSTALL_DELAY_THREE_DAYS Three day window.
SCHEDULED_INSTALL_DELAY_FOUR_DAYS Four day window.
SCHEDULED_INSTALL_DELAY_FIVE_DAYS Five day window.
SCHEDULED_INSTALL_DELAY_TEN_DAYS Ten day window.
SCHEDULED_INSTALL_DELAY_FIFTEEN_DAYS Fifteen day window.
SCHEDULED_INSTALL_DELAY_THIRTY_DAYS Thirty day window.

WifiOnlyTime

Download will avoid mobile network for this period after update is available.

Enums
WIFI_ONLY_TIME_UNSPECIFIED Not specified.
NONE Not blocked.
TWENTY_FOUR_HOURS Twenty four hour window.
THREE_DAYS Three day window.
SEVEN_DAYS Seven day window.
FOURTEEN_DAYS Fourteen day window.
TWENTY_ONE_DAYS Twenty one day window.
FOREVER Forever window.

TimeWindow

A time window that defines start time of a day and stop time of a day.

JSON representation
{
  "startTime": {
    object (TimeOfDay)
  },
  "stopTime": {
    object (TimeOfDay)
  }
}
Fields
startTime

object (TimeOfDay)

The window start time.

stopTime

object (TimeOfDay)

The window stop time.

TimeOfDay

Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and google.protobuf.Timestamp.

JSON representation
{
  "hours": integer,
  "minutes": integer,
  "seconds": integer,
  "nanos": integer
}
Fields
hours

integer

Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.

minutes

integer

Minutes of hour of day. Must be from 0 to 59.

seconds

integer

Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.

nanos

integer

Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.

OffPeakUpdate

The off-peak update limitation.

JSON representation
{
  "updateOffPeakWindow": {
    object (TimeWindow)
  },
  "updateOffPeakDays": enum (UpdateOffPeakDays),
  "updateOperatorRestriction": enum (CellularOperatorRestriction)
}
Fields
updateOffPeakWindow

object (TimeWindow)

Off-peak time window to download the update. Requires Google Play Services 6.7.72 or later.

updateOffPeakDays

enum (UpdateOffPeakDays)

Optional. When the value is OFF_PEAK_DAYS_UNSPECIFIED, the server will use a default value of OFF_PEAK_UPDATE_ONE_DAY. Requires Google Play Services 6.5 or later.

updateOperatorRestriction

enum (CellularOperatorRestriction)

Optional. When the value is not specified, the server will use a default value of ALL_NETWORK_ALLOWED. Requires Google Play Services 6.7.72 or later.

UpdateOffPeakDays

Number of days to try to download the update in the off-peak window.

Enums
OFF_PEAK_DAYS_UNSPECIFIED Not specified.
OFF_PEAK_UPDATE_ONE_DAY 1 day.
OFF_PEAK_UPDATE_THREE_DAYS 3 days.
OFF_PEAK_UPDATE_SEVEN_DAYS 7 days.
OFF_PEAK_UPDATE_FOURTEEN_DAYS 14 days.
OFF_PEAK_UPDATE_THIRTY_DAYS 30 days.

CellularOperatorRestriction

Set to CELLULAR_OPERATOR_RESTRICTED to impose a restriction on the off-peak window so that the OTA download is restricted to the cellular operator it was first received on. Intended for multi-SIM devices when used in conjunction with mobileNetworkRestriction to restrict off-peak downloads to a specific operator.

Enums
OPERATOR_RESTRICTED_UNSPECIFIED Not specified.
CELLULAR_OPERATOR_RESTRICTED The off-peak window is applicable for the cellular operator that the OTA was first received over only.
ALL_NETWORK_ALLOWED The off-peak window is applicable for all networks.

IncludeExclude

Includes or excludes certain comma-separated patterns.

JSON representation
{

  // Union field include_exclude can be only one of the following:
  "include": string,
  "exclude": string
  // End of list of possible types for union field include_exclude.
}
Fields
Union field include_exclude. A rule of includes or excludes. include_exclude can be only one of the following:
include

string

Included pattern. If multiple values are allowed, use a comma to separate them.

exclude

string

Excluded pattern. If multiple values are allowed, use a comma to separate them.

SpaceNeed

The space requirement in bytes.

Enums
SPACE_NEED_UNSPECIFIED Not specified.
ONE_HUNDRED_MB 100 MB.
ONE_HUNDRED_AND_FIFTY_MB 150 MB.
TWO_HUNDRED_AND_FIFTY_MB 250 MB.
FIVE_HUNDRED_MB 500 MB.

RolloutStep

The roll-out step component.

JSON representation
{
  "rolloutTime": string,
  "fraction": number
}
Fields
rolloutTime

string (Timestamp format)

The roll-out timestamp.

A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".

fraction

number

Fraction denominated by percentage between 0.00 and 100.00.

ConfigDetails

Details of a config.

JSON representation
{
  "postConditions": [
    {
      object (Condition)
    }
  ],
  "packages": [
    {
      object (PackageConfig)
    }
  ],
  "groups": [
    string
  ],
  "versionTag": {
    object (VersionTag)
  }
}
Fields
postConditions[]

object (Condition)

The config installation post-conditions.

packages[]

object (PackageConfig)

The defined packages of this config. Important: the order of packages is important. If a device matches multiple sets of pre-conditions, the last matching package wins and will be applied to the device.

groups[]

string

The associated groups of this config.

versionTag

object (VersionTag)

Output only. The config version.

ReminderDialogSettings

Settings controlling a modal reminder dialog shown to users after the specified amount of time.

JSON representation
{
  "start": enum (Start),
  "remindMeLaterDuration": enum (RemindLaterDuration),
  "frequency": enum (Frequency)
}
Fields
start

enum (Start)

When to start showing the reminder.

remindMeLaterDuration

enum (RemindLaterDuration)

Duration "remind me later" button is shown.

frequency

enum (Frequency)

Frequency reminder is shown after dismissal.

Start

When to show a reminder dialog. For example, if set to START_TWO_DAYS, users see a reminder 2 days after receiving the update. If left START_UNSPECIFIED, a default of START_SEVEN_DAYS will be used.

Enums
START_UNSPECIFIED Not specified.
NEVER_START Never start the reminder.
START_ZERO_DAYS Start immediately.
START_TWO_DAYS Start after two days.
START_SEVEN_DAYS Start after seven days.
START_FOURTEEN_DAYS Start after fourteen days. NEXT TAG: 6

RemindLaterDuration

How long the dialog shows the "Remind me later" button. Choose ALWAYS_SHOW to show the button all the time and NEVER_SHOW to never show it. If left LATER_DURATION_UNSPECIFIED, a default of LATER_FOURTEEN_DAYS will be used.

Enums
LATER_DURATION_UNSPECIFIED Not specified.
NEVER_SHOW Never show the button.
ALWAYS_SHOW Always show the button.
LATER_SEVEN_DAYS Remove button after seven days.
LATER_FOURTEEN_DAYS Remove button after fourteen days.
LATER_TWENTY_ONE_DAYS Remove button after twenty one days.

Frequency

After user dismisses the reminder dialog, how long until it's shown again. If left FREQUENCY_UNSPECIFIED, a default of FREQUENCY_SEVEN_DAYS will be used.

Enums
FREQUENCY_UNSPECIFIED Not specified.
FREQUENCY_ONE_DAY Show the reminder every day.
FREQUENCY_THREE_DAYS Show the reminder every three days.
FREQUENCY_SEVEN_DAYS Show the reminder every seven days.

Methods

create

Creates a config, and returns the new Config.

delete

Deletes a config.

disable

Disables all enabled groups that have the specified config.

get

Gets a config view.

list

Lists configs of a deployment.

update

Updates a config.

updatePackages

Update the packages under the config.