I created 2 policies in my enterprise.
I would like to switch one device to the other policy without re-enroling it.
I tried to use android management enterprises devices.patch with following JSON
{ "policyName": "policy2" }
this link
When i execute this command i always get follwoing error Message:
{
"error": {
"code": 400,
"message": "Illegal state transition from ACTIVE to DEVICE_STATE_UNSPECIFIED",
"status": "INVALID_ARGUMENT"
}
}
Does anybody know how to change policy for a device without wiping it?
It is indeed possible to change the policy of a device without re-enrolling it, and you're not far from the solution.
You get this error because you implicitly attempt to change other fields of the Device
resource (in particular the state
field) by not setting them in the resource that you send in devices.patch
.
You have two options:
Set the updateMask
in devices.patch
to "policyName"
, to tell the API that you only want to change the policyName
field.
Call devices.get
to get the current Device
resource, and then send back the entire resource with only the policyName
field changed in to devices.patch
.
Using updateMask
is preferable because it does an atomic read-modify-write.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With