| // Copyright 2021 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| syntax = "proto3"; |
| |
| package recipes.infra.windows_image_builder.windows_image_builder; |
| |
| import "recipes/infra/windows_image_builder/offline_winpe_customization.proto"; |
| import "recipes/infra/windows_image_builder/online_windows_customization.proto"; |
| import "recipes/infra/windows_image_builder/sources.proto"; |
| import "recipes/infra/windows_image_builder/actions.proto"; |
| import "recipes/infra/windows_image_builder/windows_iso.proto"; |
| |
| // Image properties recognized by 'infra/windows_image_builder' recipe. |
| message Image { |
| // The name of this windows image. |
| // |
| // E.g. basic_win10_image |
| string name = 1; |
| |
| // The architecture to build for.. |
| Arch arch = 2; |
| |
| // List of customizations to be performed for this image. |
| repeated Customization customizations = 3; |
| } |
| |
| // Customization is a union of all possible customizations that are supported |
| message Customization{ |
| oneof customization{ |
| // Customize a WinPE image |
| offline_winpe_customization.OfflineWinPECustomization offline_winpe_customization = 1; |
| |
| // Customize an online windows image |
| online_windows_customization.OnlineWinCustomization online_windows_customization = 2; |
| |
| // Customize a windows iso image |
| windows_iso.WinISOImage windows_iso_customization = 3; |
| } |
| |
| // Build mode for this customization |
| CustomizationMode mode = 4; |
| } |
| |
| enum Arch { |
| ARCH_UNSPECIFIED = 0; |
| ARCH_AMD64 = 1; |
| ARCH_X86 = 2; |
| ARCH_AARCH64 = 3; |
| } |
| |
| enum CustomizationMode { |
| // CUST_NORMAL builds this customization only if required. This is the |
| // default behavior. |
| CUST_NORMAL = 0; |
| // CUST_DEBUG starts debug mode builds. Debug mode is currently only |
| // supported in online windows customization. Debug mode will let the |
| // process sleep for boot_time on any exceptions. |
| CUST_DEBUG = 1; |
| // CUST_FORCE_BUILD will force the customization to build a new image |
| // every time |
| CUST_FORCE_BUILD = 2; |
| } |