fromJson static method

CreatePolicyRequestDataAttributes? fromJson(
  1. dynamic value
)

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;
}