AWSParser/lib/awsparser.dart

46 lines
1.2 KiB
Dart

class AWSJson {
String syncToken = "";
String createDate = "";
List<AWSIP> prefixes = [];
List<AWSIP> ipv6_prefixes = [];
AWSJson._();
factory AWSJson.parse(Map<String, dynamic> js) {
AWSJson ajs = AWSJson._();
ajs.syncToken = js['syncToken'] as String;
ajs.createDate = js['createDate'] as String;
List<dynamic> LPv4 = js['prefixes'] as List<dynamic>;
for (var entry in LPv4) {
ajs.prefixes.add(AWSIP.parse(entry as Map<String, dynamic>, ipv6: false));
}
List<dynamic> LPv6 = js['ipv6_prefixes'] as List<dynamic>;
for (var entry in LPv6) {
ajs.ipv6_prefixes
.add(AWSIP.parse(entry as Map<String, dynamic>, ipv6: true));
}
return ajs;
}
}
class AWSIP {
String ip_prefix = "";
String region = "";
String service = "";
String network_border_group = "";
AWSIP._();
factory AWSIP.parse(Map<String, dynamic> js, {required bool ipv6}) {
AWSIP ip = AWSIP._();
ip.ip_prefix = js["${ipv6 ? "ipv6_" : "ip_"}prefix"] as String;
ip.region = js['region'] as String;
ip.service = js['service'] as String;
ip.network_border_group = js['network_border_group'] as String;
return ip;
}
}