InterconnectLocation.fromJson constructor

InterconnectLocation.fromJson(
  1. Object? j
)

Implementation

factory InterconnectLocation.fromJson(Object? j) {
  final json = j as Map<String, Object?>;
  return InterconnectLocation(
    address: switch (json['address']) {
      null => null,
      Object $1 => decodeString($1),
    },
    availabilityZone: switch (json['availabilityZone']) {
      null => null,
      Object $1 => decodeString($1),
    },
    availableFeatures: switch (json['availableFeatures']) {
      null => [],
      List<Object?> $1 => [for (final i in $1) decodeString(i)],
      _ => throw const FormatException('"availableFeatures" is not a list'),
    },
    availableLinkTypes: switch (json['availableLinkTypes']) {
      null => [],
      List<Object?> $1 => [for (final i in $1) decodeString(i)],
      _ => throw const FormatException('"availableLinkTypes" is not a list'),
    },
    city: switch (json['city']) {
      null => null,
      Object $1 => decodeString($1),
    },
    continent: switch (json['continent']) {
      null => null,
      Object $1 => decodeString($1),
    },
    creationTimestamp: switch (json['creationTimestamp']) {
      null => null,
      Object $1 => decodeString($1),
    },
    crossSiteInterconnectInfos: switch (json['crossSiteInterconnectInfos']) {
      null => [],
      List<Object?> $1 => [
        for (final i in $1)
          InterconnectLocationCrossSiteInterconnectInfo.fromJson(i),
      ],
      _ => throw const FormatException(
        '"crossSiteInterconnectInfos" is not a list',
      ),
    },
    description: switch (json['description']) {
      null => null,
      Object $1 => decodeString($1),
    },
    facilityProvider: switch (json['facilityProvider']) {
      null => null,
      Object $1 => decodeString($1),
    },
    facilityProviderFacilityId: switch (json['facilityProviderFacilityId']) {
      null => null,
      Object $1 => decodeString($1),
    },
    id: switch (json['id']) {
      null => null,
      Object $1 => decodeUint64($1),
    },
    kind: switch (json['kind']) {
      null => null,
      Object $1 => decodeString($1),
    },
    name: switch (json['name']) {
      null => null,
      Object $1 => decodeString($1),
    },
    peeringdbFacilityId: switch (json['peeringdbFacilityId']) {
      null => null,
      Object $1 => decodeString($1),
    },
    regionInfos: switch (json['regionInfos']) {
      null => [],
      List<Object?> $1 => [
        for (final i in $1) InterconnectLocationRegionInfo.fromJson(i),
      ],
      _ => throw const FormatException('"regionInfos" is not a list'),
    },
    selfLink: switch (json['selfLink']) {
      null => null,
      Object $1 => decodeString($1),
    },
    singleRegionProductionCriticalPeerLocations:
        switch (json['singleRegionProductionCriticalPeerLocations']) {
          null => [],
          List<Object?> $1 => [for (final i in $1) decodeString(i)],
          _ => throw const FormatException(
            '"singleRegionProductionCriticalPeerLocations" is not a list',
          ),
        },
    status: switch (json['status']) {
      null => null,
      Object $1 => decodeString($1),
    },
    supportsPzs: switch (json['supportsPzs']) {
      null => null,
      Object $1 => decodeBool($1),
    },
  );
}