fromJson static method
Returns a new CreatePolicyRequestDataAttributes instance and imports its values from
value
if it's a Map, null otherwise.
Implementation
// ignore: prefer_constructors_over_static_methods
static CreatePolicyRequestDataAttributes? 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 "CreatePolicyRequestDataAttributes[$key]" is missing from JSON.');
assert(json[key] != null, 'Required key "CreatePolicyRequestDataAttributes[$key]" has a null value in JSON.');
});
return true;
}());
return CreatePolicyRequestDataAttributes(
name: mapValueOfType<String>(json, r'name')!,
duration: mapValueOfType<int>(json, r'duration'),
scheme: CreatePolicyRequestDataAttributesSchemeEnum.fromJson(json[r'scheme']),
strict: mapValueOfType<bool>(json, r'strict') ?? false,
floating: mapValueOfType<bool>(json, r'floating') ?? false,
requireProductScope: mapValueOfType<bool>(json, r'requireProductScope') ?? false,
requirePolicyScope: mapValueOfType<bool>(json, r'requirePolicyScope') ?? false,
requireMachineScope: mapValueOfType<bool>(json, r'requireMachineScope') ?? false,
requireFingerprintScope: mapValueOfType<bool>(json, r'requireFingerprintScope') ?? false,
requireUserScope: mapValueOfType<bool>(json, r'requireUserScope') ?? false,
requireChecksumScope: mapValueOfType<bool>(json, r'requireChecksumScope') ?? false,
requireVersionScope: mapValueOfType<bool>(json, r'requireVersionScope') ?? false,
requireCheckIn: mapValueOfType<bool>(json, r'requireCheckIn'),
checkInInterval: CreatePolicyRequestDataAttributesCheckInIntervalEnum.fromJson(json[r'checkInInterval']),
checkInIntervalCount: mapValueOfType<int>(json, r'checkInIntervalCount'),
usePool: mapValueOfType<bool>(json, r'usePool') ?? false,
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') ?? false,
heartbeatDuration: mapValueOfType<int>(json, r'heartbeatDuration'),
// BEGIN MANUALLY MODIFIED AFTER OPENAPI-GENERATOR RAN
heartbeatCullStrategy: CreatePolicyRequestDataAttributesHeartbeatCullStrategyEnum.fromJson(json[r'heartbeatCullStrategy']) ?? CreatePolicyRequestDataAttributesHeartbeatCullStrategyEnum.DEACTIVATE_DEAD,
heartbeatResurrectionStrategy: CreatePolicyRequestDataAttributesHeartbeatResurrectionStrategyEnum.fromJson(json[r'heartbeatResurrectionStrategy']) ?? CreatePolicyRequestDataAttributesHeartbeatResurrectionStrategyEnum.NO_REVIVE,
heartbeatBasis: CreatePolicyRequestDataAttributesHeartbeatBasisEnum.fromJson(json[r'heartbeatBasis']),
machineUniquenessStrategy: CreatePolicyRequestDataAttributesMachineUniquenessStrategyEnum.fromJson(json[r'machineUniquenessStrategy']) ?? CreatePolicyRequestDataAttributesMachineUniquenessStrategyEnum.UNIQUE_PER_LICENSE,
machineMatchingStrategy: CreatePolicyRequestDataAttributesMachineMatchingStrategyEnum.fromJson(json[r'machineMatchingStrategy']) ?? CreatePolicyRequestDataAttributesMachineMatchingStrategyEnum.MATCH_ANY,
expirationStrategy: CreatePolicyRequestDataAttributesExpirationStrategyEnum.fromJson(json[r'expirationStrategy']) ?? CreatePolicyRequestDataAttributesExpirationStrategyEnum.RESTRICT_ACCESS,
expirationBasis: CreatePolicyRequestDataAttributesExpirationBasisEnum.fromJson(json[r'expirationBasis']) ?? CreatePolicyRequestDataAttributesExpirationBasisEnum.FROM_CREATION,
transferStrategy: CreatePolicyRequestDataAttributesTransferStrategyEnum.fromJson(json[r'transferStrategy']) ?? CreatePolicyRequestDataAttributesTransferStrategyEnum.KEEP_EXPIRY,
authenticationStrategy: CreatePolicyRequestDataAttributesAuthenticationStrategyEnum.fromJson(json[r'authenticationStrategy']) ?? CreatePolicyRequestDataAttributesAuthenticationStrategyEnum.TOKEN,
machineLeasingStrategy: CreatePolicyRequestDataAttributesMachineLeasingStrategyEnum.fromJson(json[r'machineLeasingStrategy']),
processLeasingStrategy: CreatePolicyRequestDataAttributesProcessLeasingStrategyEnum.fromJson(json[r'processLeasingStrategy']),
overageStrategy: CreatePolicyRequestDataAttributesOverageStrategyEnum.fromJson(json[r'overageStrategy']) ?? CreatePolicyRequestDataAttributesOverageStrategyEnum.NO_OVERAGE,
// END MANUALLY MODIFIED AFTER OPENAPI-GENERATOR RAN
metadata: mapValueOfType<Object>(json, r'metadata'),
);
}
return null;
}