// Copyright 2022 The ChromiumOS Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

syntax = "proto3";

package chromiumos.test.api;

option go_package = "go.chromium.org/chromiumos/config/go/test/api";

import "chromiumos/test/api/android_provision_metadata.proto";
import "chromiumos/test/lab/api/dut.proto";
import "chromiumos/test/lab/api/ip_endpoint.proto";

// AndroidProvisionState defines all of the installable (provisionable) elements
// on an Android test device as part of device setup for test operations. Next
// Tag: 4
message AndroidProvisionState {
  // Required. String encoded id that uniquely reflects a given
  // AndroidProvisionState.
  message Id {
    string value = 1;
  }
  Id id = 1;
  // Required. CIPD packages to provision.
  repeated CIPDPackage cipd_packages = 2;
  // Android OS image to flash.
  AndroidOsImage android_os_image = 3;
}

// Next Tag: 4
message AndroidProvisionRequest {
  // Required. DUT information.
  chromiumos.test.lab.api.Dut dut = 1;
  // Required. Provision state is a pass through request to the provision
  // service.
  AndroidProvisionState provision_state = 2;
  // Required. Address of the DUT Server.
  chromiumos.test.lab.api.IpEndpoint dut_server = 3;
}
