InstanceGroupManager.fromJson constructor

InstanceGroupManager.fromJson(
  1. Object? j
)

Implementation

factory InstanceGroupManager.fromJson(Object? j) {
  final json = j as Map<String, Object?>;
  return InstanceGroupManager(
    allInstancesConfig: switch (json['allInstancesConfig']) {
      null => null,
      Object $1 => InstanceGroupManagerAllInstancesConfig.fromJson($1),
    },
    autoHealingPolicies: switch (json['autoHealingPolicies']) {
      null => [],
      List<Object?> $1 => [
        for (final i in $1) InstanceGroupManagerAutoHealingPolicy.fromJson(i),
      ],
      _ => throw const FormatException('"autoHealingPolicies" is not a list'),
    },
    baseInstanceName: switch (json['baseInstanceName']) {
      null => null,
      Object $1 => decodeString($1),
    },
    creationTimestamp: switch (json['creationTimestamp']) {
      null => null,
      Object $1 => decodeString($1),
    },
    currentActions: switch (json['currentActions']) {
      null => null,
      Object $1 => InstanceGroupManagerActionsSummary.fromJson($1),
    },
    description: switch (json['description']) {
      null => null,
      Object $1 => decodeString($1),
    },
    distributionPolicy: switch (json['distributionPolicy']) {
      null => null,
      Object $1 => DistributionPolicy.fromJson($1),
    },
    fingerprint: switch (json['fingerprint']) {
      null => null,
      Object $1 => decodeString($1),
    },
    id: switch (json['id']) {
      null => null,
      Object $1 => decodeUint64($1),
    },
    instanceFlexibilityPolicy: switch (json['instanceFlexibilityPolicy']) {
      null => null,
      Object $1 => InstanceGroupManagerInstanceFlexibilityPolicy.fromJson($1),
    },
    instanceGroup: switch (json['instanceGroup']) {
      null => null,
      Object $1 => decodeString($1),
    },
    instanceLifecyclePolicy: switch (json['instanceLifecyclePolicy']) {
      null => null,
      Object $1 => InstanceGroupManagerInstanceLifecyclePolicy.fromJson($1),
    },
    instanceTemplate: switch (json['instanceTemplate']) {
      null => null,
      Object $1 => decodeString($1),
    },
    kind: switch (json['kind']) {
      null => null,
      Object $1 => decodeString($1),
    },
    listManagedInstancesResults:
        switch (json['listManagedInstancesResults']) {
          null => null,
          Object $1 => decodeString($1),
        },
    name: switch (json['name']) {
      null => null,
      Object $1 => decodeString($1),
    },
    namedPorts: switch (json['namedPorts']) {
      null => [],
      List<Object?> $1 => [for (final i in $1) NamedPort.fromJson(i)],
      _ => throw const FormatException('"namedPorts" is not a list'),
    },
    region: switch (json['region']) {
      null => null,
      Object $1 => decodeString($1),
    },
    resourcePolicies: switch (json['resourcePolicies']) {
      null => null,
      Object $1 => InstanceGroupManagerResourcePolicies.fromJson($1),
    },
    satisfiesPzi: switch (json['satisfiesPzi']) {
      null => null,
      Object $1 => decodeBool($1),
    },
    satisfiesPzs: switch (json['satisfiesPzs']) {
      null => null,
      Object $1 => decodeBool($1),
    },
    selfLink: switch (json['selfLink']) {
      null => null,
      Object $1 => decodeString($1),
    },
    standbyPolicy: switch (json['standbyPolicy']) {
      null => null,
      Object $1 => InstanceGroupManagerStandbyPolicy.fromJson($1),
    },
    statefulPolicy: switch (json['statefulPolicy']) {
      null => null,
      Object $1 => StatefulPolicy.fromJson($1),
    },
    status: switch (json['status']) {
      null => null,
      Object $1 => InstanceGroupManagerStatus.fromJson($1),
    },
    targetPools: switch (json['targetPools']) {
      null => [],
      List<Object?> $1 => [for (final i in $1) decodeString(i)],
      _ => throw const FormatException('"targetPools" is not a list'),
    },
    targetSize: switch (json['targetSize']) {
      null => null,
      Object $1 => decodeInt($1),
    },
    targetSizePolicy: switch (json['targetSizePolicy']) {
      null => null,
      Object $1 => InstanceGroupManagerTargetSizePolicy.fromJson($1),
    },
    targetStoppedSize: switch (json['targetStoppedSize']) {
      null => null,
      Object $1 => decodeInt($1),
    },
    targetSuspendedSize: switch (json['targetSuspendedSize']) {
      null => null,
      Object $1 => decodeInt($1),
    },
    updatePolicy: switch (json['updatePolicy']) {
      null => null,
      Object $1 => InstanceGroupManagerUpdatePolicy.fromJson($1),
    },
    versions: switch (json['versions']) {
      null => [],
      List<Object?> $1 => [
        for (final i in $1) InstanceGroupManagerVersion.fromJson(i),
      ],
      _ => throw const FormatException('"versions" is not a list'),
    },
    zone: switch (json['zone']) {
      null => null,
      Object $1 => decodeString($1),
    },
  );
}