in scripts/local_cloudbuild.py [0:0]
def get_cloudbuild(raw_config, args):
"""Read and validate a cloudbuild recipe
Args:
raw_config (dict): deserialized cloudbuild.yaml
args (argparse.Namespace): command line flags
Returns:
CloudBuild: valid configuration
"""
if not isinstance(raw_config, dict):
raise ValueError(
'Expected {} contents to be of type "dict", but found type "{}"'.
format(args.config, type(raw_config)))
raw_steps = validation_utils.get_field_value(raw_config, 'steps', list)
if not raw_steps:
raise ValueError('No steps defined in {}'.format(args.config))
steps = [get_step(raw_step) for raw_step in raw_steps]
return CloudBuild(
output_script=args.output_script,
run=args.run,
steps=steps,
substitutions=args.substitutions,
)