ContainerInspectInfo.fromJson constructor

ContainerInspectInfo.fromJson(
  1. Map<String, dynamic> json
)

Deserialises a ContainerInspectInfo from the raw JSON map returned by GET /containers/{id}/json.

Implementation

factory ContainerInspectInfo.fromJson(Map<String, dynamic> json) {
  final stateData = json['State'] as Map<String, dynamic>?;
  final hostConfigData = json['HostConfig'] as Map<String, dynamic>?;
  final graphDriverData = json['GraphDriver'] as Map<String, dynamic>?;
  final configData = json['Config'] as Map<String, dynamic>?;
  final networkSettingsData =
      json['NetworkSettings'] as Map<String, dynamic>?;
  final imageManifestData =
      json['ImageManifestDescriptor'] as Map<String, dynamic>?;

  return ContainerInspectInfo(
    id: json['Id'] as String?,
    created: json['Created'] as String?,
    path: json['Path'] as String?,
    args: (json['Args'] as List<dynamic>?)?.cast<String>(),
    state: stateData != null ? ContainerState.fromJson(stateData) : null,
    image: json['Image'] as String?,
    resolvConfPath: json['ResolvConfPath'] as String?,
    hostnamePath: json['HostnamePath'] as String?,
    hostsPath: json['HostsPath'] as String?,
    logPath: json['LogPath'] as String?,
    name: json['Name'] as String?,
    restartCount: json['RestartCount'] as int?,
    driver: json['Driver'] as String?,
    platform: json['Platform'] as String?,
    imageManifestDescriptor: imageManifestData != null
        ? ContainerImageManifestDescriptor.fromJson(imageManifestData)
        : null,
    mountLabel: json['MountLabel'] as String?,
    processLabel: json['ProcessLabel'] as String?,
    appArmorProfile: json['AppArmorProfile'] as String?,
    execIDs: (json['ExecIDs'] as List<dynamic>?)?.cast<String>(),
    hostConfig: hostConfigData != null
        ? ContainerHostConfig.fromJson(hostConfigData)
        : null,
    graphDriver: graphDriverData != null
        ? ContainerGraphDriver.fromJson(graphDriverData)
        : null,
    sizeRw: json['SizeRw'] as int?,
    sizeRootFs: json['SizeRootFs'] as int?,
    mounts: (json['Mounts'] as List<dynamic>?)
        ?.map((e) => ContainerMount.fromJson(e as Map<String, dynamic>))
        .toList(),
    config: configData != null ? ContainerConfig.fromJson(configData) : null,
    networkSettings: networkSettingsData != null
        ? ContainerNetworkSettings.fromJson(networkSettingsData)
        : null,
  );
}