fromJson static method
Returns a new UpdatePolicyRequestDataAttributes instance and imports its values from
value
if it's a Map, null otherwise.
Implementation
// ignore: prefer_constructors_over_static_methods
static UpdatePolicyRequestDataAttributes? fromJson(dynamic value) {
if (value is Map) {
final json = value.cast<String, dynamic>();
// Ensure that the map contains the required keys.
// Note 1: the values aren't checked for validity beyond being non-null.
// Note 2: this code is stripped in release mode!
assert(() {
requiredKeys.forEach((key) {
assert(json.containsKey(key), 'Required key "UpdatePolicyRequestDataAttributes[$key]" is missing from JSON.');
assert(json[key] != null, 'Required key "UpdatePolicyRequestDataAttributes[$key]" has a null value in JSON.');
});
return true;
}());
return UpdatePolicyRequestDataAttributes(
name: mapValueOfType<String>(json, r'name'),
duration: mapValueOfType<int>(json, r'duration'),
strict: mapValueOfType<bool>(json, r'strict'),
floating: mapValueOfType<bool>(json, r'floating'),
requireProductScope: mapValueOfType<bool>(json, r'requireProductScope'),
requirePolicyScope: mapValueOfType<bool>(json, r'requirePolicyScope'),
requireMachineScope: mapValueOfType<bool>(json, r'requireMachineScope'),
requireFingerprintScope: mapValueOfType<bool>(json, r'requireFingerprintScope'),
requireUserScope: mapValueOfType<bool>(json, r'requireUserScope'),
requireChecksumScope: mapValueOfType<bool>(json, r'requireChecksumScope'),
requireVersionScope: mapValueOfType<bool>(json, r'requireVersionScope'),
requireCheckIn: mapValueOfType<bool>(json, r'requireCheckIn'),
checkInInterval: UpdatePolicyRequestDataAttributesCheckInIntervalEnum.fromJson(json[r'checkInInterval']),
checkInIntervalCount: mapValueOfType<int>(json, r'checkInIntervalCount'),
maxMachines: mapValueOfType<int>(json, r'maxMachines'),
maxProcesses: mapValueOfType<int>(json, r'maxProcesses'),
maxCores: mapValueOfType<int>(json, r'maxCores'),
maxUses: mapValueOfType<int>(json, r'maxUses'),
protected: mapValueOfType<bool>(json, r'protected'),
requireHeartbeat: mapValueOfType<bool>(json, r'requireHeartbeat'),
heartbeatDuration: mapValueOfType<int>(json, r'heartbeatDuration'),
heartbeatCullStrategy: UpdatePolicyRequestDataAttributesHeartbeatCullStrategyEnum.fromJson(json[r'heartbeatCullStrategy']),
heartbeatResurrectionStrategy: UpdatePolicyRequestDataAttributesHeartbeatResurrectionStrategyEnum.fromJson(json[r'heartbeatResurrectionStrategy']),
heartbeatBasis: UpdatePolicyRequestDataAttributesHeartbeatBasisEnum.fromJson(json[r'heartbeatBasis']),
machineUniquenessStrategy: UpdatePolicyRequestDataAttributesMachineUniquenessStrategyEnum.fromJson(json[r'machineUniquenessStrategy']),
machineMatchingStrategy: UpdatePolicyRequestDataAttributesMachineMatchingStrategyEnum.fromJson(json[r'machineMatchingStrategy']),
expirationStrategy: UpdatePolicyRequestDataAttributesExpirationStrategyEnum.fromJson(json[r'expirationStrategy']),
expirationBasis: UpdatePolicyRequestDataAttributesExpirationBasisEnum.fromJson(json[r'expirationBasis']),
transferStrategy: UpdatePolicyRequestDataAttributesTransferStrategyEnum.fromJson(json[r'transferStrategy']),
authenticationStrategy: UpdatePolicyRequestDataAttributesAuthenticationStrategyEnum.fromJson(json[r'authenticationStrategy']),
machineLeasingStrategy: UpdatePolicyRequestDataAttributesMachineLeasingStrategyEnum.fromJson(json[r'machineLeasingStrategy']),
processLeasingStrategy: UpdatePolicyRequestDataAttributesProcessLeasingStrategyEnum.fromJson(json[r'processLeasingStrategy']),
overageStrategy: UpdatePolicyRequestDataAttributesOverageStrategyEnum.fromJson(json[r'overageStrategy']),
metadata: mapValueOfType<Object>(json, r'metadata'),
);
}
return null;
}