github.com/verrazzano/verrazzano@v1.7.1/tools/psr/psrctl/pkg/manifest/scenariomanifest.go (about)

     1  // Copyright (c) 2022, Oracle and/or its affiliates.
     2  // Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl.
     3  
     4  package manifest
     5  
     6  // Usecase specifies a PSR usecase that does a single worker task running in a pod
     7  type Usecase struct {
     8  	// UsecasePath specifies the manifest relative path of the use case, e.g. opensearch/writelogs.yaml
     9  	UsecasePath string
    10  
    11  	// OverrideFile is the use case override file in the scenario usecase-overrides directory, e.g. writelogs-fast.yaml
    12  	OverrideFile string
    13  
    14  	// Description is a description of the use case in the context of the scenario
    15  	Description string
    16  }
    17  
    18  // ScenarioManifest specifies a PSR scenario manifest which consists of multiple use cases.
    19  // The manifest represents files on disk, not a runtime scenario.
    20  type ScenarioManifest struct {
    21  	// Name is the scenario name
    22  	Name string
    23  
    24  	// ID is the scenario ID
    25  	ID string
    26  
    27  	// Description is the scenario description
    28  	Description string
    29  
    30  	// Usecases are the scenario use cases
    31  	Usecases []Usecase
    32  
    33  	// This is the absolute directory that contains scenario.yaml and scenario usecase-overrides.  It is not specified by the user,
    34  	// but built at runtime
    35  	ScenarioUsecaseOverridesAbsDir string
    36  }