diff --git a/clients/google-api-services-androidmanagement/v1/2.0.0/README.md b/clients/google-api-services-androidmanagement/v1/2.0.0/README.md index e570edbb29f..e9162a34851 100644 --- a/clients/google-api-services-androidmanagement/v1/2.0.0/README.md +++ b/clients/google-api-services-androidmanagement/v1/2.0.0/README.md @@ -22,7 +22,7 @@ Add the following lines to your `pom.xml` file: com.google.apis google-api-services-androidmanagement - v1-rev20260917-2.0.0 + v1-rev20260928-2.0.0 @@ -35,7 +35,7 @@ repositories { mavenCentral() } dependencies { - implementation 'com.google.apis:google-api-services-androidmanagement:v1-rev20260917-2.0.0' + implementation 'com.google.apis:google-api-services-androidmanagement:v1-rev20260928-2.0.0' } ``` diff --git a/clients/google-api-services-androidmanagement/v1/2.0.0/com/google/api/services/androidmanagement/v1/model/CrossDevicePolicies.java b/clients/google-api-services-androidmanagement/v1/2.0.0/com/google/api/services/androidmanagement/v1/model/CrossDevicePolicies.java index fbb344d59f1..ae3a2872f96 100644 --- a/clients/google-api-services-androidmanagement/v1/2.0.0/com/google/api/services/androidmanagement/v1/model/CrossDevicePolicies.java +++ b/clients/google-api-services-androidmanagement/v1/2.0.0/com/google/api/services/androidmanagement/v1/model/CrossDevicePolicies.java @@ -48,6 +48,16 @@ public final class CrossDevicePolicies extends com.google.api.client.json.Generi @com.google.api.client.util.Key private java.lang.String nearbyNotificationStreaming; + /** + * Optional. Controls the task continuity handoff + * (https://developer.android.com/partners/android-17/features#handoff) feature. This policy + * applies to the entire device for fully managed devices, and to the work profile for devices + * with a work profile. Requires Android 17 QPR1 or higher. + * The value may be {@code null}. + */ + @com.google.api.client.util.Key + private java.lang.String taskContinuityHandoff; + /** * Optional. Manages video streaming of apps on the device for fully managed devices or in the * work profile for devices with work profiles to nearby devices. This is supported on Android 13 @@ -90,6 +100,29 @@ public CrossDevicePolicies setNearbyNotificationStreaming(java.lang.String nearb return this; } + /** + * Optional. Controls the task continuity handoff + * (https://developer.android.com/partners/android-17/features#handoff) feature. This policy + * applies to the entire device for fully managed devices, and to the work profile for devices + * with a work profile. Requires Android 17 QPR1 or higher. + * @return value or {@code null} for none + */ + public java.lang.String getTaskContinuityHandoff() { + return taskContinuityHandoff; + } + + /** + * Optional. Controls the task continuity handoff + * (https://developer.android.com/partners/android-17/features#handoff) feature. This policy + * applies to the entire device for fully managed devices, and to the work profile for devices + * with a work profile. Requires Android 17 QPR1 or higher. + * @param taskContinuityHandoff taskContinuityHandoff or {@code null} for none + */ + public CrossDevicePolicies setTaskContinuityHandoff(java.lang.String taskContinuityHandoff) { + this.taskContinuityHandoff = taskContinuityHandoff; + return this; + } + @Override public CrossDevicePolicies set(String fieldName, Object value) { return (CrossDevicePolicies) super.set(fieldName, value); diff --git a/clients/google-api-services-androidmanagement/v1/2.0.0/com/google/api/services/androidmanagement/v1/model/CrossProfilePolicies.java b/clients/google-api-services-androidmanagement/v1/2.0.0/com/google/api/services/androidmanagement/v1/model/CrossProfilePolicies.java index 2198f650330..56822f07e45 100644 --- a/clients/google-api-services-androidmanagement/v1/2.0.0/com/google/api/services/androidmanagement/v1/model/CrossProfilePolicies.java +++ b/clients/google-api-services-androidmanagement/v1/2.0.0/com/google/api/services/androidmanagement/v1/model/CrossProfilePolicies.java @@ -41,26 +41,27 @@ public final class CrossProfilePolicies extends com.google.api.client.json.Gener private java.lang.String crossProfileAppFunctions; /** - * Whether text copied from one profile (personal or work) can be pasted in the other profile. + * Optional. Whether text copied from one profile (personal or work) can be pasted in the other + * profile. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.String crossProfileCopyPaste; /** - * Whether data from one profile (personal or work) can be shared with apps in the other profile. - * Specifically controls simple data sharing via intents. Management of other cross-profile - * communication channels, such as contact search, copy/paste, or connected work & personal apps, - * are configured separately. + * Optional. Whether data from one profile (personal or work) can be shared with apps in the other + * profile. Specifically controls simple data sharing via intents. Management of other cross- + * profile communication channels, such as contact search, copy/paste, or connected work & + * personal apps, are configured separately. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.String crossProfileDataSharing; /** - * List of apps which are excluded from the ShowWorkContactsInPersonalProfile setting. For this to - * be set, ShowWorkContactsInPersonalProfile must be set to one of the following values: - * SHOW_WORK_CONTACTS_IN_PERSONAL_PROFILE_ALLOWED. In this case, these exemptions act as a + * Optional. List of apps which are excluded from the ShowWorkContactsInPersonalProfile setting. + * For this to be set, ShowWorkContactsInPersonalProfile must be set to one of the following + * values: SHOW_WORK_CONTACTS_IN_PERSONAL_PROFILE_ALLOWED. In this case, these exemptions act as a * blocklist. SHOW_WORK_CONTACTS_IN_PERSONAL_PROFILE_DISALLOWED. In this case, these exemptions * act as an allowlist. SHOW_WORK_CONTACTS_IN_PERSONAL_PROFILE_DISALLOWED_EXCEPT_SYSTEM. In this * case, these exemptions act as an allowlist, in addition to the already allowlisted system @@ -72,7 +73,7 @@ public final class CrossProfilePolicies extends com.google.api.client.json.Gener private PackageNameList exemptionsToShowWorkContactsInPersonalProfile; /** - * Whether personal apps can access contacts stored in the work profile.See also + * Optional. Whether personal apps can access contacts stored in the work profile.See also * exemptions_to_show_work_contacts_in_personal_profile. * The value may be {@code null}. */ @@ -80,8 +81,8 @@ public final class CrossProfilePolicies extends com.google.api.client.json.Gener private java.lang.String showWorkContactsInPersonalProfile; /** - * Specifies the default behaviour for work profile widgets. If the policy does not specify - * work_profile_widgets for a specific application, it will behave according to the value + * Optional. Specifies the default behaviour for work profile widgets. If the policy does not + * specify work_profile_widgets for a specific application, it will behave according to the value * specified here. * The value may be {@code null}. */ @@ -108,7 +109,8 @@ public CrossProfilePolicies setCrossProfileAppFunctions(java.lang.String crossPr } /** - * Whether text copied from one profile (personal or work) can be pasted in the other profile. + * Optional. Whether text copied from one profile (personal or work) can be pasted in the other + * profile. * @return value or {@code null} for none */ public java.lang.String getCrossProfileCopyPaste() { @@ -116,7 +118,8 @@ public java.lang.String getCrossProfileCopyPaste() { } /** - * Whether text copied from one profile (personal or work) can be pasted in the other profile. + * Optional. Whether text copied from one profile (personal or work) can be pasted in the other + * profile. * @param crossProfileCopyPaste crossProfileCopyPaste or {@code null} for none */ public CrossProfilePolicies setCrossProfileCopyPaste(java.lang.String crossProfileCopyPaste) { @@ -125,10 +128,10 @@ public CrossProfilePolicies setCrossProfileCopyPaste(java.lang.String crossProfi } /** - * Whether data from one profile (personal or work) can be shared with apps in the other profile. - * Specifically controls simple data sharing via intents. Management of other cross-profile - * communication channels, such as contact search, copy/paste, or connected work & personal apps, - * are configured separately. + * Optional. Whether data from one profile (personal or work) can be shared with apps in the other + * profile. Specifically controls simple data sharing via intents. Management of other cross- + * profile communication channels, such as contact search, copy/paste, or connected work & + * personal apps, are configured separately. * @return value or {@code null} for none */ public java.lang.String getCrossProfileDataSharing() { @@ -136,10 +139,10 @@ public java.lang.String getCrossProfileDataSharing() { } /** - * Whether data from one profile (personal or work) can be shared with apps in the other profile. - * Specifically controls simple data sharing via intents. Management of other cross-profile - * communication channels, such as contact search, copy/paste, or connected work & personal apps, - * are configured separately. + * Optional. Whether data from one profile (personal or work) can be shared with apps in the other + * profile. Specifically controls simple data sharing via intents. Management of other cross- + * profile communication channels, such as contact search, copy/paste, or connected work & + * personal apps, are configured separately. * @param crossProfileDataSharing crossProfileDataSharing or {@code null} for none */ public CrossProfilePolicies setCrossProfileDataSharing(java.lang.String crossProfileDataSharing) { @@ -148,9 +151,9 @@ public CrossProfilePolicies setCrossProfileDataSharing(java.lang.String crossPro } /** - * List of apps which are excluded from the ShowWorkContactsInPersonalProfile setting. For this to - * be set, ShowWorkContactsInPersonalProfile must be set to one of the following values: - * SHOW_WORK_CONTACTS_IN_PERSONAL_PROFILE_ALLOWED. In this case, these exemptions act as a + * Optional. List of apps which are excluded from the ShowWorkContactsInPersonalProfile setting. + * For this to be set, ShowWorkContactsInPersonalProfile must be set to one of the following + * values: SHOW_WORK_CONTACTS_IN_PERSONAL_PROFILE_ALLOWED. In this case, these exemptions act as a * blocklist. SHOW_WORK_CONTACTS_IN_PERSONAL_PROFILE_DISALLOWED. In this case, these exemptions * act as an allowlist. SHOW_WORK_CONTACTS_IN_PERSONAL_PROFILE_DISALLOWED_EXCEPT_SYSTEM. In this * case, these exemptions act as an allowlist, in addition to the already allowlisted system @@ -163,9 +166,9 @@ public PackageNameList getExemptionsToShowWorkContactsInPersonalProfile() { } /** - * List of apps which are excluded from the ShowWorkContactsInPersonalProfile setting. For this to - * be set, ShowWorkContactsInPersonalProfile must be set to one of the following values: - * SHOW_WORK_CONTACTS_IN_PERSONAL_PROFILE_ALLOWED. In this case, these exemptions act as a + * Optional. List of apps which are excluded from the ShowWorkContactsInPersonalProfile setting. + * For this to be set, ShowWorkContactsInPersonalProfile must be set to one of the following + * values: SHOW_WORK_CONTACTS_IN_PERSONAL_PROFILE_ALLOWED. In this case, these exemptions act as a * blocklist. SHOW_WORK_CONTACTS_IN_PERSONAL_PROFILE_DISALLOWED. In this case, these exemptions * act as an allowlist. SHOW_WORK_CONTACTS_IN_PERSONAL_PROFILE_DISALLOWED_EXCEPT_SYSTEM. In this * case, these exemptions act as an allowlist, in addition to the already allowlisted system @@ -179,7 +182,7 @@ public CrossProfilePolicies setExemptionsToShowWorkContactsInPersonalProfile(Pac } /** - * Whether personal apps can access contacts stored in the work profile.See also + * Optional. Whether personal apps can access contacts stored in the work profile.See also * exemptions_to_show_work_contacts_in_personal_profile. * @return value or {@code null} for none */ @@ -188,7 +191,7 @@ public java.lang.String getShowWorkContactsInPersonalProfile() { } /** - * Whether personal apps can access contacts stored in the work profile.See also + * Optional. Whether personal apps can access contacts stored in the work profile.See also * exemptions_to_show_work_contacts_in_personal_profile. * @param showWorkContactsInPersonalProfile showWorkContactsInPersonalProfile or {@code null} for none */ @@ -198,8 +201,8 @@ public CrossProfilePolicies setShowWorkContactsInPersonalProfile(java.lang.Strin } /** - * Specifies the default behaviour for work profile widgets. If the policy does not specify - * work_profile_widgets for a specific application, it will behave according to the value + * Optional. Specifies the default behaviour for work profile widgets. If the policy does not + * specify work_profile_widgets for a specific application, it will behave according to the value * specified here. * @return value or {@code null} for none */ @@ -208,8 +211,8 @@ public java.lang.String getWorkProfileWidgetsDefault() { } /** - * Specifies the default behaviour for work profile widgets. If the policy does not specify - * work_profile_widgets for a specific application, it will behave according to the value + * Optional. Specifies the default behaviour for work profile widgets. If the policy does not + * specify work_profile_widgets for a specific application, it will behave according to the value * specified here. * @param workProfileWidgetsDefault workProfileWidgetsDefault or {@code null} for none */ diff --git a/clients/google-api-services-androidmanagement/v1/2.0.0/com/google/api/services/androidmanagement/v1/model/KioskCustomization.java b/clients/google-api-services-androidmanagement/v1/2.0.0/com/google/api/services/androidmanagement/v1/model/KioskCustomization.java index ac59797aa41..0e4fe33c667 100644 --- a/clients/google-api-services-androidmanagement/v1/2.0.0/com/google/api/services/androidmanagement/v1/model/KioskCustomization.java +++ b/clients/google-api-services-androidmanagement/v1/2.0.0/com/google/api/services/androidmanagement/v1/model/KioskCustomization.java @@ -32,45 +32,46 @@ public final class KioskCustomization extends com.google.api.client.json.GenericJson { /** - * Specifies whether the Settings app is allowed in kiosk mode. + * Optional. Specifies whether the Settings app is allowed in kiosk mode. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.String deviceSettings; /** - * Sets the behavior of a device in kiosk mode when a user presses and holds (long-presses) the - * Power button. + * Optional. Sets the behavior of a device in kiosk mode when a user presses and holds (long- + * presses) the Power button. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.String powerButtonActions; /** - * Specifies whether system info and notifications are disabled in kiosk mode. + * Optional. Specifies whether system info and notifications are disabled in kiosk mode. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.String statusBar; /** - * Specifies whether system error dialogs for crashed or unresponsive apps are blocked in kiosk - * mode. When blocked, the system will force-stop the app as if the user chooses the "close app" - * option on the UI. + * Optional. Specifies whether system error dialogs for crashed or unresponsive apps are blocked + * in kiosk mode. When blocked, the system will force-stop the app as if the user chooses the + * "close app" option on the UI. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.String systemErrorWarnings; /** - * Specifies which navigation features are enabled (e.g. Home, Overview buttons) in kiosk mode. + * Optional. Specifies which navigation features are enabled (e.g. Home, Overview buttons) in + * kiosk mode. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.String systemNavigation; /** - * Specifies whether the Settings app is allowed in kiosk mode. + * Optional. Specifies whether the Settings app is allowed in kiosk mode. * @return value or {@code null} for none */ public java.lang.String getDeviceSettings() { @@ -78,7 +79,7 @@ public java.lang.String getDeviceSettings() { } /** - * Specifies whether the Settings app is allowed in kiosk mode. + * Optional. Specifies whether the Settings app is allowed in kiosk mode. * @param deviceSettings deviceSettings or {@code null} for none */ public KioskCustomization setDeviceSettings(java.lang.String deviceSettings) { @@ -87,8 +88,8 @@ public KioskCustomization setDeviceSettings(java.lang.String deviceSettings) { } /** - * Sets the behavior of a device in kiosk mode when a user presses and holds (long-presses) the - * Power button. + * Optional. Sets the behavior of a device in kiosk mode when a user presses and holds (long- + * presses) the Power button. * @return value or {@code null} for none */ public java.lang.String getPowerButtonActions() { @@ -96,8 +97,8 @@ public java.lang.String getPowerButtonActions() { } /** - * Sets the behavior of a device in kiosk mode when a user presses and holds (long-presses) the - * Power button. + * Optional. Sets the behavior of a device in kiosk mode when a user presses and holds (long- + * presses) the Power button. * @param powerButtonActions powerButtonActions or {@code null} for none */ public KioskCustomization setPowerButtonActions(java.lang.String powerButtonActions) { @@ -106,7 +107,7 @@ public KioskCustomization setPowerButtonActions(java.lang.String powerButtonActi } /** - * Specifies whether system info and notifications are disabled in kiosk mode. + * Optional. Specifies whether system info and notifications are disabled in kiosk mode. * @return value or {@code null} for none */ public java.lang.String getStatusBar() { @@ -114,7 +115,7 @@ public java.lang.String getStatusBar() { } /** - * Specifies whether system info and notifications are disabled in kiosk mode. + * Optional. Specifies whether system info and notifications are disabled in kiosk mode. * @param statusBar statusBar or {@code null} for none */ public KioskCustomization setStatusBar(java.lang.String statusBar) { @@ -123,9 +124,9 @@ public KioskCustomization setStatusBar(java.lang.String statusBar) { } /** - * Specifies whether system error dialogs for crashed or unresponsive apps are blocked in kiosk - * mode. When blocked, the system will force-stop the app as if the user chooses the "close app" - * option on the UI. + * Optional. Specifies whether system error dialogs for crashed or unresponsive apps are blocked + * in kiosk mode. When blocked, the system will force-stop the app as if the user chooses the + * "close app" option on the UI. * @return value or {@code null} for none */ public java.lang.String getSystemErrorWarnings() { @@ -133,9 +134,9 @@ public java.lang.String getSystemErrorWarnings() { } /** - * Specifies whether system error dialogs for crashed or unresponsive apps are blocked in kiosk - * mode. When blocked, the system will force-stop the app as if the user chooses the "close app" - * option on the UI. + * Optional. Specifies whether system error dialogs for crashed or unresponsive apps are blocked + * in kiosk mode. When blocked, the system will force-stop the app as if the user chooses the + * "close app" option on the UI. * @param systemErrorWarnings systemErrorWarnings or {@code null} for none */ public KioskCustomization setSystemErrorWarnings(java.lang.String systemErrorWarnings) { @@ -144,7 +145,8 @@ public KioskCustomization setSystemErrorWarnings(java.lang.String systemErrorWar } /** - * Specifies which navigation features are enabled (e.g. Home, Overview buttons) in kiosk mode. + * Optional. Specifies which navigation features are enabled (e.g. Home, Overview buttons) in + * kiosk mode. * @return value or {@code null} for none */ public java.lang.String getSystemNavigation() { @@ -152,7 +154,8 @@ public java.lang.String getSystemNavigation() { } /** - * Specifies which navigation features are enabled (e.g. Home, Overview buttons) in kiosk mode. + * Optional. Specifies which navigation features are enabled (e.g. Home, Overview buttons) in + * kiosk mode. * @param systemNavigation systemNavigation or {@code null} for none */ public KioskCustomization setSystemNavigation(java.lang.String systemNavigation) { diff --git a/clients/google-api-services-androidmanagement/v1/2.0.0/com/google/api/services/androidmanagement/v1/model/PasswordRequirements.java b/clients/google-api-services-androidmanagement/v1/2.0.0/com/google/api/services/androidmanagement/v1/model/PasswordRequirements.java index 20be763aa5f..26fbde162b2 100644 --- a/clients/google-api-services-androidmanagement/v1/2.0.0/com/google/api/services/androidmanagement/v1/model/PasswordRequirements.java +++ b/clients/google-api-services-androidmanagement/v1/2.0.0/com/google/api/services/androidmanagement/v1/model/PasswordRequirements.java @@ -31,47 +31,48 @@ public final class PasswordRequirements extends com.google.api.client.json.GenericJson { /** - * Number of incorrect device-unlock passwords that can be entered before a device is wiped. A - * value of 0 means there is no restriction. + * Optional. Number of incorrect device-unlock passwords that can be entered before a device is + * wiped. A value of 0 means there is no restriction. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.Integer maximumFailedPasswordsForWipe; /** - * Password expiration timeout. + * Optional. Password expiration timeout. * The value may be {@code null}. */ @com.google.api.client.util.Key private String passwordExpirationTimeout; /** - * The length of the password history. After setting this field, the user won't be able to enter a - * new password that is the same as any password in the history. A value of 0 means there is no - * restriction. + * Optional. The length of the password history. After setting this field, the user won't be able + * to enter a new password that is the same as any password in the history. A value of 0 means + * there is no restriction. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.Integer passwordHistoryLength; /** - * The minimum allowed password length. A value of 0 means there is no restriction. Only enforced - * when password_quality is NUMERIC, NUMERIC_COMPLEX, ALPHABETIC, ALPHANUMERIC, or COMPLEX. + * Optional. The minimum allowed password length. A value of 0 means there is no restriction. Only + * enforced when password_quality is NUMERIC, NUMERIC_COMPLEX, ALPHABETIC, ALPHANUMERIC, or + * COMPLEX. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.Integer passwordMinimumLength; /** - * Minimum number of letters required in the password. Only enforced when password_quality is - * COMPLEX. + * Optional. Minimum number of letters required in the password. Only enforced when + * password_quality is COMPLEX. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.Integer passwordMinimumLetters; /** - * Minimum number of lower case letters required in the password. Only enforced when + * Optional. Minimum number of lower case letters required in the password. Only enforced when * password_quality is COMPLEX. * The value may be {@code null}. */ @@ -79,15 +80,15 @@ public final class PasswordRequirements extends com.google.api.client.json.Gener private java.lang.Integer passwordMinimumLowerCase; /** - * Minimum number of non-letter characters (numerical digits or symbols) required in the password. - * Only enforced when password_quality is COMPLEX. + * Optional. Minimum number of non-letter characters (numerical digits or symbols) required in the + * password. Only enforced when password_quality is COMPLEX. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.Integer passwordMinimumNonLetter; /** - * Minimum number of numerical digits required in the password. Only enforced when + * Optional. Minimum number of numerical digits required in the password. Only enforced when * password_quality is COMPLEX. * The value may be {@code null}. */ @@ -95,15 +96,15 @@ public final class PasswordRequirements extends com.google.api.client.json.Gener private java.lang.Integer passwordMinimumNumeric; /** - * Minimum number of symbols required in the password. Only enforced when password_quality is - * COMPLEX. + * Optional. Minimum number of symbols required in the password. Only enforced when + * password_quality is COMPLEX. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.Integer passwordMinimumSymbols; /** - * Minimum number of upper case letters required in the password. Only enforced when + * Optional. Minimum number of upper case letters required in the password. Only enforced when * password_quality is COMPLEX. * The value may be {@code null}. */ @@ -111,21 +112,21 @@ public final class PasswordRequirements extends com.google.api.client.json.Gener private java.lang.Integer passwordMinimumUpperCase; /** - * The required password quality. + * Optional. The required password quality. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.String passwordQuality; /** - * The scope that the password requirement applies to. + * Optional. The scope that the password requirement applies to. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.String passwordScope; /** - * The length of time after a device or work profile is unlocked using a strong form of + * Optional. The length of time after a device or work profile is unlocked using a strong form of * authentication (password, PIN, pattern) that it can be unlocked using any other authentication * method (e.g. fingerprint, trust agents, face). After the specified time period elapses, only * strong forms of authentication can be used to unlock the device or work profile. @@ -135,19 +136,19 @@ public final class PasswordRequirements extends com.google.api.client.json.Gener private java.lang.String requirePasswordUnlock; /** - * Controls whether a unified lock is allowed for the device and the work profile, on devices - * running Android 9 and above with a work profile. This can be set only if password_scope is set - * to SCOPE_PROFILE, the policy will be rejected otherwise. If user has not set a separate work - * lock and this field is set to REQUIRE_SEPARATE_WORK_LOCK, a NonComplianceDetail is reported - * with nonComplianceReason set to USER_ACTION. + * Optional. Controls whether a unified lock is allowed for the device and the work profile, on + * devices running Android 9 and above with a work profile. This can be set only if password_scope + * is set to SCOPE_PROFILE, the policy will be rejected otherwise. If user has not set a separate + * work lock and this field is set to REQUIRE_SEPARATE_WORK_LOCK, a NonComplianceDetail is + * reported with nonComplianceReason set to USER_ACTION. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.String unifiedLockSettings; /** - * Number of incorrect device-unlock passwords that can be entered before a device is wiped. A - * value of 0 means there is no restriction. + * Optional. Number of incorrect device-unlock passwords that can be entered before a device is + * wiped. A value of 0 means there is no restriction. * @return value or {@code null} for none */ public java.lang.Integer getMaximumFailedPasswordsForWipe() { @@ -155,8 +156,8 @@ public java.lang.Integer getMaximumFailedPasswordsForWipe() { } /** - * Number of incorrect device-unlock passwords that can be entered before a device is wiped. A - * value of 0 means there is no restriction. + * Optional. Number of incorrect device-unlock passwords that can be entered before a device is + * wiped. A value of 0 means there is no restriction. * @param maximumFailedPasswordsForWipe maximumFailedPasswordsForWipe or {@code null} for none */ public PasswordRequirements setMaximumFailedPasswordsForWipe(java.lang.Integer maximumFailedPasswordsForWipe) { @@ -165,7 +166,7 @@ public PasswordRequirements setMaximumFailedPasswordsForWipe(java.lang.Integer m } /** - * Password expiration timeout. + * Optional. Password expiration timeout. * @return value or {@code null} for none */ public String getPasswordExpirationTimeout() { @@ -173,7 +174,7 @@ public String getPasswordExpirationTimeout() { } /** - * Password expiration timeout. + * Optional. Password expiration timeout. * @param passwordExpirationTimeout passwordExpirationTimeout or {@code null} for none */ public PasswordRequirements setPasswordExpirationTimeout(String passwordExpirationTimeout) { @@ -182,9 +183,9 @@ public PasswordRequirements setPasswordExpirationTimeout(String passwordExpirati } /** - * The length of the password history. After setting this field, the user won't be able to enter a - * new password that is the same as any password in the history. A value of 0 means there is no - * restriction. + * Optional. The length of the password history. After setting this field, the user won't be able + * to enter a new password that is the same as any password in the history. A value of 0 means + * there is no restriction. * @return value or {@code null} for none */ public java.lang.Integer getPasswordHistoryLength() { @@ -192,9 +193,9 @@ public java.lang.Integer getPasswordHistoryLength() { } /** - * The length of the password history. After setting this field, the user won't be able to enter a - * new password that is the same as any password in the history. A value of 0 means there is no - * restriction. + * Optional. The length of the password history. After setting this field, the user won't be able + * to enter a new password that is the same as any password in the history. A value of 0 means + * there is no restriction. * @param passwordHistoryLength passwordHistoryLength or {@code null} for none */ public PasswordRequirements setPasswordHistoryLength(java.lang.Integer passwordHistoryLength) { @@ -203,8 +204,9 @@ public PasswordRequirements setPasswordHistoryLength(java.lang.Integer passwordH } /** - * The minimum allowed password length. A value of 0 means there is no restriction. Only enforced - * when password_quality is NUMERIC, NUMERIC_COMPLEX, ALPHABETIC, ALPHANUMERIC, or COMPLEX. + * Optional. The minimum allowed password length. A value of 0 means there is no restriction. Only + * enforced when password_quality is NUMERIC, NUMERIC_COMPLEX, ALPHABETIC, ALPHANUMERIC, or + * COMPLEX. * @return value or {@code null} for none */ public java.lang.Integer getPasswordMinimumLength() { @@ -212,8 +214,9 @@ public java.lang.Integer getPasswordMinimumLength() { } /** - * The minimum allowed password length. A value of 0 means there is no restriction. Only enforced - * when password_quality is NUMERIC, NUMERIC_COMPLEX, ALPHABETIC, ALPHANUMERIC, or COMPLEX. + * Optional. The minimum allowed password length. A value of 0 means there is no restriction. Only + * enforced when password_quality is NUMERIC, NUMERIC_COMPLEX, ALPHABETIC, ALPHANUMERIC, or + * COMPLEX. * @param passwordMinimumLength passwordMinimumLength or {@code null} for none */ public PasswordRequirements setPasswordMinimumLength(java.lang.Integer passwordMinimumLength) { @@ -222,8 +225,8 @@ public PasswordRequirements setPasswordMinimumLength(java.lang.Integer passwordM } /** - * Minimum number of letters required in the password. Only enforced when password_quality is - * COMPLEX. + * Optional. Minimum number of letters required in the password. Only enforced when + * password_quality is COMPLEX. * @return value or {@code null} for none */ public java.lang.Integer getPasswordMinimumLetters() { @@ -231,8 +234,8 @@ public java.lang.Integer getPasswordMinimumLetters() { } /** - * Minimum number of letters required in the password. Only enforced when password_quality is - * COMPLEX. + * Optional. Minimum number of letters required in the password. Only enforced when + * password_quality is COMPLEX. * @param passwordMinimumLetters passwordMinimumLetters or {@code null} for none */ public PasswordRequirements setPasswordMinimumLetters(java.lang.Integer passwordMinimumLetters) { @@ -241,7 +244,7 @@ public PasswordRequirements setPasswordMinimumLetters(java.lang.Integer password } /** - * Minimum number of lower case letters required in the password. Only enforced when + * Optional. Minimum number of lower case letters required in the password. Only enforced when * password_quality is COMPLEX. * @return value or {@code null} for none */ @@ -250,7 +253,7 @@ public java.lang.Integer getPasswordMinimumLowerCase() { } /** - * Minimum number of lower case letters required in the password. Only enforced when + * Optional. Minimum number of lower case letters required in the password. Only enforced when * password_quality is COMPLEX. * @param passwordMinimumLowerCase passwordMinimumLowerCase or {@code null} for none */ @@ -260,8 +263,8 @@ public PasswordRequirements setPasswordMinimumLowerCase(java.lang.Integer passwo } /** - * Minimum number of non-letter characters (numerical digits or symbols) required in the password. - * Only enforced when password_quality is COMPLEX. + * Optional. Minimum number of non-letter characters (numerical digits or symbols) required in the + * password. Only enforced when password_quality is COMPLEX. * @return value or {@code null} for none */ public java.lang.Integer getPasswordMinimumNonLetter() { @@ -269,8 +272,8 @@ public java.lang.Integer getPasswordMinimumNonLetter() { } /** - * Minimum number of non-letter characters (numerical digits or symbols) required in the password. - * Only enforced when password_quality is COMPLEX. + * Optional. Minimum number of non-letter characters (numerical digits or symbols) required in the + * password. Only enforced when password_quality is COMPLEX. * @param passwordMinimumNonLetter passwordMinimumNonLetter or {@code null} for none */ public PasswordRequirements setPasswordMinimumNonLetter(java.lang.Integer passwordMinimumNonLetter) { @@ -279,7 +282,7 @@ public PasswordRequirements setPasswordMinimumNonLetter(java.lang.Integer passwo } /** - * Minimum number of numerical digits required in the password. Only enforced when + * Optional. Minimum number of numerical digits required in the password. Only enforced when * password_quality is COMPLEX. * @return value or {@code null} for none */ @@ -288,7 +291,7 @@ public java.lang.Integer getPasswordMinimumNumeric() { } /** - * Minimum number of numerical digits required in the password. Only enforced when + * Optional. Minimum number of numerical digits required in the password. Only enforced when * password_quality is COMPLEX. * @param passwordMinimumNumeric passwordMinimumNumeric or {@code null} for none */ @@ -298,8 +301,8 @@ public PasswordRequirements setPasswordMinimumNumeric(java.lang.Integer password } /** - * Minimum number of symbols required in the password. Only enforced when password_quality is - * COMPLEX. + * Optional. Minimum number of symbols required in the password. Only enforced when + * password_quality is COMPLEX. * @return value or {@code null} for none */ public java.lang.Integer getPasswordMinimumSymbols() { @@ -307,8 +310,8 @@ public java.lang.Integer getPasswordMinimumSymbols() { } /** - * Minimum number of symbols required in the password. Only enforced when password_quality is - * COMPLEX. + * Optional. Minimum number of symbols required in the password. Only enforced when + * password_quality is COMPLEX. * @param passwordMinimumSymbols passwordMinimumSymbols or {@code null} for none */ public PasswordRequirements setPasswordMinimumSymbols(java.lang.Integer passwordMinimumSymbols) { @@ -317,7 +320,7 @@ public PasswordRequirements setPasswordMinimumSymbols(java.lang.Integer password } /** - * Minimum number of upper case letters required in the password. Only enforced when + * Optional. Minimum number of upper case letters required in the password. Only enforced when * password_quality is COMPLEX. * @return value or {@code null} for none */ @@ -326,7 +329,7 @@ public java.lang.Integer getPasswordMinimumUpperCase() { } /** - * Minimum number of upper case letters required in the password. Only enforced when + * Optional. Minimum number of upper case letters required in the password. Only enforced when * password_quality is COMPLEX. * @param passwordMinimumUpperCase passwordMinimumUpperCase or {@code null} for none */ @@ -336,7 +339,7 @@ public PasswordRequirements setPasswordMinimumUpperCase(java.lang.Integer passwo } /** - * The required password quality. + * Optional. The required password quality. * @return value or {@code null} for none */ public java.lang.String getPasswordQuality() { @@ -344,7 +347,7 @@ public java.lang.String getPasswordQuality() { } /** - * The required password quality. + * Optional. The required password quality. * @param passwordQuality passwordQuality or {@code null} for none */ public PasswordRequirements setPasswordQuality(java.lang.String passwordQuality) { @@ -353,7 +356,7 @@ public PasswordRequirements setPasswordQuality(java.lang.String passwordQuality) } /** - * The scope that the password requirement applies to. + * Optional. The scope that the password requirement applies to. * @return value or {@code null} for none */ public java.lang.String getPasswordScope() { @@ -361,7 +364,7 @@ public java.lang.String getPasswordScope() { } /** - * The scope that the password requirement applies to. + * Optional. The scope that the password requirement applies to. * @param passwordScope passwordScope or {@code null} for none */ public PasswordRequirements setPasswordScope(java.lang.String passwordScope) { @@ -370,7 +373,7 @@ public PasswordRequirements setPasswordScope(java.lang.String passwordScope) { } /** - * The length of time after a device or work profile is unlocked using a strong form of + * Optional. The length of time after a device or work profile is unlocked using a strong form of * authentication (password, PIN, pattern) that it can be unlocked using any other authentication * method (e.g. fingerprint, trust agents, face). After the specified time period elapses, only * strong forms of authentication can be used to unlock the device or work profile. @@ -381,7 +384,7 @@ public java.lang.String getRequirePasswordUnlock() { } /** - * The length of time after a device or work profile is unlocked using a strong form of + * Optional. The length of time after a device or work profile is unlocked using a strong form of * authentication (password, PIN, pattern) that it can be unlocked using any other authentication * method (e.g. fingerprint, trust agents, face). After the specified time period elapses, only * strong forms of authentication can be used to unlock the device or work profile. @@ -393,11 +396,11 @@ public PasswordRequirements setRequirePasswordUnlock(java.lang.String requirePas } /** - * Controls whether a unified lock is allowed for the device and the work profile, on devices - * running Android 9 and above with a work profile. This can be set only if password_scope is set - * to SCOPE_PROFILE, the policy will be rejected otherwise. If user has not set a separate work - * lock and this field is set to REQUIRE_SEPARATE_WORK_LOCK, a NonComplianceDetail is reported - * with nonComplianceReason set to USER_ACTION. + * Optional. Controls whether a unified lock is allowed for the device and the work profile, on + * devices running Android 9 and above with a work profile. This can be set only if password_scope + * is set to SCOPE_PROFILE, the policy will be rejected otherwise. If user has not set a separate + * work lock and this field is set to REQUIRE_SEPARATE_WORK_LOCK, a NonComplianceDetail is + * reported with nonComplianceReason set to USER_ACTION. * @return value or {@code null} for none */ public java.lang.String getUnifiedLockSettings() { @@ -405,11 +408,11 @@ public java.lang.String getUnifiedLockSettings() { } /** - * Controls whether a unified lock is allowed for the device and the work profile, on devices - * running Android 9 and above with a work profile. This can be set only if password_scope is set - * to SCOPE_PROFILE, the policy will be rejected otherwise. If user has not set a separate work - * lock and this field is set to REQUIRE_SEPARATE_WORK_LOCK, a NonComplianceDetail is reported - * with nonComplianceReason set to USER_ACTION. + * Optional. Controls whether a unified lock is allowed for the device and the work profile, on + * devices running Android 9 and above with a work profile. This can be set only if password_scope + * is set to SCOPE_PROFILE, the policy will be rejected otherwise. If user has not set a separate + * work lock and this field is set to REQUIRE_SEPARATE_WORK_LOCK, a NonComplianceDetail is + * reported with nonComplianceReason set to USER_ACTION. * @param unifiedLockSettings unifiedLockSettings or {@code null} for none */ public PasswordRequirements setUnifiedLockSettings(java.lang.String unifiedLockSettings) { diff --git a/clients/google-api-services-androidmanagement/v1/2.0.0/com/google/api/services/androidmanagement/v1/model/PersonalCrossDevicePolicies.java b/clients/google-api-services-androidmanagement/v1/2.0.0/com/google/api/services/androidmanagement/v1/model/PersonalCrossDevicePolicies.java new file mode 100644 index 00000000000..fbddcfc7f6a --- /dev/null +++ b/clients/google-api-services-androidmanagement/v1/2.0.0/com/google/api/services/androidmanagement/v1/model/PersonalCrossDevicePolicies.java @@ -0,0 +1,79 @@ +/* + * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except + * in compliance with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under the License + * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express + * or implied. See the License for the specific language governing permissions and limitations under + * the License. + */ +/* + * This code was generated by https://github.com/googleapis/google-api-java-client-services/ + * Modify at your own risk. + */ + +package com.google.api.services.androidmanagement.v1.model; + +/** + * Policies controlling cross-device communication in the personal profile. + * + *

This is the Java data model class that specifies how to parse/serialize into the JSON that is + * transmitted over HTTP when working with the Android Management API. For a detailed explanation + * see: + * https://developers.google.com/api-client-library/java/google-http-java-client/json + *

+ * + * @author Google, Inc. + */ +@SuppressWarnings("javadoc") +public final class PersonalCrossDevicePolicies extends com.google.api.client.json.GenericJson { + + /** + * Optional. Controls the task continuity handoff + * (https://developer.android.com/partners/android-17/features#handoff) feature for the personal + * profile on company-owned devices with a work profile. To disable Handoff device-wide on a + * company-owned device, both crossDevicePolicies.taskContinuityHandoff and this policy should be + * set to TASK_CONTINUITY_HANDOFF_DISALLOWED. Requires Android 17 QPR1 or higher. + * The value may be {@code null}. + */ + @com.google.api.client.util.Key + private java.lang.String taskContinuityHandoff; + + /** + * Optional. Controls the task continuity handoff + * (https://developer.android.com/partners/android-17/features#handoff) feature for the personal + * profile on company-owned devices with a work profile. To disable Handoff device-wide on a + * company-owned device, both crossDevicePolicies.taskContinuityHandoff and this policy should be + * set to TASK_CONTINUITY_HANDOFF_DISALLOWED. Requires Android 17 QPR1 or higher. + * @return value or {@code null} for none + */ + public java.lang.String getTaskContinuityHandoff() { + return taskContinuityHandoff; + } + + /** + * Optional. Controls the task continuity handoff + * (https://developer.android.com/partners/android-17/features#handoff) feature for the personal + * profile on company-owned devices with a work profile. To disable Handoff device-wide on a + * company-owned device, both crossDevicePolicies.taskContinuityHandoff and this policy should be + * set to TASK_CONTINUITY_HANDOFF_DISALLOWED. Requires Android 17 QPR1 or higher. + * @param taskContinuityHandoff taskContinuityHandoff or {@code null} for none + */ + public PersonalCrossDevicePolicies setTaskContinuityHandoff(java.lang.String taskContinuityHandoff) { + this.taskContinuityHandoff = taskContinuityHandoff; + return this; + } + + @Override + public PersonalCrossDevicePolicies set(String fieldName, Object value) { + return (PersonalCrossDevicePolicies) super.set(fieldName, value); + } + + @Override + public PersonalCrossDevicePolicies clone() { + return (PersonalCrossDevicePolicies) super.clone(); + } + +} diff --git a/clients/google-api-services-androidmanagement/v1/2.0.0/com/google/api/services/androidmanagement/v1/model/PersonalUsagePolicies.java b/clients/google-api-services-androidmanagement/v1/2.0.0/com/google/api/services/androidmanagement/v1/model/PersonalUsagePolicies.java index d1930bddd74..875c82d3472 100644 --- a/clients/google-api-services-androidmanagement/v1/2.0.0/com/google/api/services/androidmanagement/v1/model/PersonalUsagePolicies.java +++ b/clients/google-api-services-androidmanagement/v1/2.0.0/com/google/api/services/androidmanagement/v1/model/PersonalUsagePolicies.java @@ -51,6 +51,13 @@ public final class PersonalUsagePolicies extends com.google.api.client.json.Gene @com.google.api.client.util.Key private java.lang.Boolean cameraDisabled; + /** + * Optional. Policies controlling cross-device communication in the personal profile. + * The value may be {@code null}. + */ + @com.google.api.client.util.Key + private PersonalCrossDevicePolicies crossDevicePolicies; + /** * Controls how long the work profile can stay off. The minimum duration must be at least 3 days. * Other details are as follows: - If the duration is set to 0, the feature is turned off. - If @@ -149,6 +156,23 @@ public PersonalUsagePolicies setCameraDisabled(java.lang.Boolean cameraDisabled) return this; } + /** + * Optional. Policies controlling cross-device communication in the personal profile. + * @return value or {@code null} for none + */ + public PersonalCrossDevicePolicies getCrossDevicePolicies() { + return crossDevicePolicies; + } + + /** + * Optional. Policies controlling cross-device communication in the personal profile. + * @param crossDevicePolicies crossDevicePolicies or {@code null} for none + */ + public PersonalUsagePolicies setCrossDevicePolicies(PersonalCrossDevicePolicies crossDevicePolicies) { + this.crossDevicePolicies = crossDevicePolicies; + return this; + } + /** * Controls how long the work profile can stay off. The minimum duration must be at least 3 days. * Other details are as follows: - If the duration is set to 0, the feature is turned off. - If diff --git a/clients/google-api-services-androidmanagement/v1/2.0.0/com/google/api/services/androidmanagement/v1/model/Policy.java b/clients/google-api-services-androidmanagement/v1/2.0.0/com/google/api/services/androidmanagement/v1/model/Policy.java index 0d10f67d589..97d6664b805 100644 --- a/clients/google-api-services-androidmanagement/v1/2.0.0/com/google/api/services/androidmanagement/v1/model/Policy.java +++ b/clients/google-api-services-androidmanagement/v1/2.0.0/com/google/api/services/androidmanagement/v1/model/Policy.java @@ -265,7 +265,7 @@ public final class Policy extends com.google.api.client.json.GenericJson { private CrossDevicePolicies crossDevicePolicies; /** - * Cross-profile policies applied on the device. + * Optional. Cross-profile policies applied on the device. * The value may be {@code null}. */ @com.google.api.client.util.Key @@ -429,8 +429,8 @@ public final class Policy extends com.google.api.client.json.GenericJson { private java.lang.Boolean kioskCustomLauncherEnabled; /** - * Settings controlling the behavior of a device in kiosk mode. To enable kiosk mode, set - * kioskCustomLauncherEnabled to true or specify an app in the policy with installType KIOSK. + * Optional. Settings controlling the behavior of a device in kiosk mode. To enable kiosk mode, + * set kioskCustomLauncherEnabled to true or specify an app in the policy with installType KIOSK. * The value may be {@code null}. */ @com.google.api.client.util.Key @@ -559,8 +559,8 @@ public final class Policy extends com.google.api.client.json.GenericJson { private java.lang.Boolean outgoingCallsDisabled; /** - * Password requirement policies. Different policies can be set for work profile or fully managed - * devices by setting the password_scope field in the policy. + * Optional. Password requirement policies. Different policies can be set for work profile or + * fully managed devices by setting the password_scope field in the policy. * The value may be {@code null}. */ @com.google.api.client.util.Key @@ -1417,7 +1417,7 @@ public Policy setCrossDevicePolicies(CrossDevicePolicies crossDevicePolicies) { } /** - * Cross-profile policies applied on the device. + * Optional. Cross-profile policies applied on the device. * @return value or {@code null} for none */ public CrossProfilePolicies getCrossProfilePolicies() { @@ -1425,7 +1425,7 @@ public CrossProfilePolicies getCrossProfilePolicies() { } /** - * Cross-profile policies applied on the device. + * Optional. Cross-profile policies applied on the device. * @param crossProfilePolicies crossProfilePolicies or {@code null} for none */ public Policy setCrossProfilePolicies(CrossProfilePolicies crossProfilePolicies) { @@ -1793,8 +1793,8 @@ public Policy setKioskCustomLauncherEnabled(java.lang.Boolean kioskCustomLaunche } /** - * Settings controlling the behavior of a device in kiosk mode. To enable kiosk mode, set - * kioskCustomLauncherEnabled to true or specify an app in the policy with installType KIOSK. + * Optional. Settings controlling the behavior of a device in kiosk mode. To enable kiosk mode, + * set kioskCustomLauncherEnabled to true or specify an app in the policy with installType KIOSK. * @return value or {@code null} for none */ public KioskCustomization getKioskCustomization() { @@ -1802,8 +1802,8 @@ public KioskCustomization getKioskCustomization() { } /** - * Settings controlling the behavior of a device in kiosk mode. To enable kiosk mode, set - * kioskCustomLauncherEnabled to true or specify an app in the policy with installType KIOSK. + * Optional. Settings controlling the behavior of a device in kiosk mode. To enable kiosk mode, + * set kioskCustomLauncherEnabled to true or specify an app in the policy with installType KIOSK. * @param kioskCustomization kioskCustomization or {@code null} for none */ public Policy setKioskCustomization(KioskCustomization kioskCustomization) { @@ -2089,8 +2089,8 @@ public Policy setOutgoingCallsDisabled(java.lang.Boolean outgoingCallsDisabled) } /** - * Password requirement policies. Different policies can be set for work profile or fully managed - * devices by setting the password_scope field in the policy. + * Optional. Password requirement policies. Different policies can be set for work profile or + * fully managed devices by setting the password_scope field in the policy. * @return value or {@code null} for none */ public java.util.List getPasswordPolicies() { @@ -2098,8 +2098,8 @@ public java.util.List getPasswordPolicies() { } /** - * Password requirement policies. Different policies can be set for work profile or fully managed - * devices by setting the password_scope field in the policy. + * Optional. Password requirement policies. Different policies can be set for work profile or + * fully managed devices by setting the password_scope field in the policy. * @param passwordPolicies passwordPolicies or {@code null} for none */ public Policy setPasswordPolicies(java.util.List passwordPolicies) { diff --git a/clients/google-api-services-androidmanagement/v1/2.0.0/pom.xml b/clients/google-api-services-androidmanagement/v1/2.0.0/pom.xml index da972188966..ae7ca3d0314 100644 --- a/clients/google-api-services-androidmanagement/v1/2.0.0/pom.xml +++ b/clients/google-api-services-androidmanagement/v1/2.0.0/pom.xml @@ -8,8 +8,8 @@ com.google.apis google-api-services-androidmanagement - v1-rev20260917-2.0.0 - Android Management API v1-rev20260917-2.0.0 + v1-rev20260928-2.0.0 + Android Management API v1-rev20260928-2.0.0 jar 2011 diff --git a/clients/google-api-services-androidmanagement/v1/README.md b/clients/google-api-services-androidmanagement/v1/README.md index e570edbb29f..e9162a34851 100644 --- a/clients/google-api-services-androidmanagement/v1/README.md +++ b/clients/google-api-services-androidmanagement/v1/README.md @@ -22,7 +22,7 @@ Add the following lines to your `pom.xml` file: com.google.apis google-api-services-androidmanagement - v1-rev20260917-2.0.0 + v1-rev20260928-2.0.0 @@ -35,7 +35,7 @@ repositories { mavenCentral() } dependencies { - implementation 'com.google.apis:google-api-services-androidmanagement:v1-rev20260917-2.0.0' + implementation 'com.google.apis:google-api-services-androidmanagement:v1-rev20260928-2.0.0' } ```