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),
  "wifiOnlyTime": enum (WifiOnlyTime),
  "updateMaintenanceWindow": {
    object (TimeWindow)
  },
  "packageSizeAwareBatteryThreshold": boolean,
  "offPeakUpdate": {
    object (OffPeakUpdate)
  },
  "countryRestriction": {
    object (IncludeExclude)
  },
  "mobileNetworkRestriction": {
    object (IncludeExclude)
  },
  "deviceBuildPropertyRestriction": {
    object (IncludeExclude)
  },
  "updateRequiredSetup": boolean,
  "minimalSpaceRequired": enum (SpaceNeed),
  "immediateRelease": boolean,
  "rolloutSteps": [
    {
      object (RolloutStep)
    }
  ],
  "securityUpdate": boolean,
  "details": {
    object (ConfigDetails)
  },
  "allowEncryptedScheduledInstall": boolean
}
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.

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.

deviceBuildPropertyRestriction

object (IncludeExclude)

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

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 GMSCore 6.1.11 or later.

immediateRelease

boolean

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)

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 GMSCore 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.

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.

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 days 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": number,
  "minutes": number,
  "seconds": number,
  "nanos": number
}
Fields
hours

number

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

number

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

seconds

number

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

number

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 GMSCore 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 GMSCore 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 GMSCore 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 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.

exclude

string

Excluded pattern.

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, accurate to nanoseconds. Example: "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.

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.