46 lines
1.2 KiB
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;
|
|
}
|
|
}
|