prow/gcsupload/options.go
func (o *Options) AddFlags(fs *flag.FlagSet) {
	fs.StringVar(&o.SubDir, "sub-dir", "", "Optional sub-directory of the job's path to which artifacts are uploaded")

	fs.StringVar(&o.PathStrategy, "path-strategy", prowapi.PathStrategyExplicit, "how to encode org and repo into GCS paths")
	fs.StringVar(&o.DefaultOrg, "default-org", "", "optional default org for GCS path encoding")
	fs.StringVar(&o.DefaultRepo, "default-repo", "", "optional default repo for GCS path encoding")

	fs.Var(&o.gcsPath, "gcs-path", "GCS path to upload into")
	fs.StringVar(&o.GcsCredentialsFile, "gcs-credentials-file", "", "file where Google Cloud authentication credentials are stored")
	fs.BoolVar(&o.DryRun, "dry-run", true, "do not interact with GCS")
}
func (o *Options) AddFlags(fs *flag.FlagSet) {
	fs.StringVar(&o.SubDir, "sub-dir", "", "Optional sub-directory of the job's path to which artifacts are uploaded")

	fs.StringVar(&o.PathStrategy, "path-strategy", prowapi.PathStrategyExplicit, "how to encode org and repo into GCS paths")
	fs.StringVar(&o.DefaultOrg, "default-org", "", "optional default org for GCS path encoding")
	fs.StringVar(&o.DefaultRepo, "default-repo", "", "optional default repo for GCS path encoding")

	fs.Var(&o.gcsPath, "gcs-path", "GCS path to upload into")
	fs.StringVar(&o.GcsCredentialsFile, "gcs-credentials-file", "", "file where Google Cloud authentication credentials are stored")
	fs.BoolVar(&o.DryRun, "dry-run", true, "do not interact with GCS")
}
// AddFlags adds flags to the FlagSet that populate
// the GCS upload options struct given.