build method

Future<String> build({
  1. required String tag,
  2. required List<ContainerMountSpec> mounts,
  3. required String contextPath,
  4. String? dockerfilePath,
  5. bool private = false,
  6. List<DockerSecret> credentials = const [],
})

Implementation

Future<String> build({
  required String tag,
  required List<ContainerMountSpec> mounts,
  required String contextPath,
  String? dockerfilePath,
  bool private = false,
  List<DockerSecret> credentials = const [],
}) async {
  final output = await room.invoke(
    toolkit: 'containers',
    tool: 'build',
    input: ToolContentInput(
      JsonContent(
        json: {
          'tag': tag,
          'mounts': mounts.map((entry) => entry.toJson()).toList(growable: false),
          'context_path': contextPath,
          'dockerfile_path': dockerfilePath,
          'private': private,
          'credentials': _containerCredentials(credentials),
        },
      ),
    ),
  );
  if (output is! ToolContentOutput || output.content is! JsonContent) {
    throw _unexpectedResponseError(operation: 'build');
  }
  return (output.content as JsonContent).json['container_id'] as String;
}