google-apis-run_v2 0.58.0 → 0.59.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -2184,7 +2184,7 @@ module Google
2184
2184
 
2185
2185
  # total min instances for the service. This number of instances is divided among
2186
2186
  # all revisions with specified traffic based on the percent of traffic they are
2187
- # receiving. (ALPHA)
2187
+ # receiving. (BETA)
2188
2188
  # Corresponds to the JSON property `minInstanceCount`
2189
2189
  # @return [Fixnum]
2190
2190
  attr_accessor :min_instance_count
@@ -2801,6 +2801,1671 @@ module Google
2801
2801
  end
2802
2802
  end
2803
2803
 
2804
+ # ApprovalConfig describes configuration for manual approval of a build.
2805
+ class GoogleDevtoolsCloudbuildV1ApprovalConfig
2806
+ include Google::Apis::Core::Hashable
2807
+
2808
+ # Whether or not approval is needed. If this is set on a build, it will become
2809
+ # pending when created, and will need to be explicitly approved to start.
2810
+ # Corresponds to the JSON property `approvalRequired`
2811
+ # @return [Boolean]
2812
+ attr_accessor :approval_required
2813
+ alias_method :approval_required?, :approval_required
2814
+
2815
+ def initialize(**args)
2816
+ update!(**args)
2817
+ end
2818
+
2819
+ # Update properties of this object
2820
+ def update!(**args)
2821
+ @approval_required = args[:approval_required] if args.key?(:approval_required)
2822
+ end
2823
+ end
2824
+
2825
+ # ApprovalResult describes the decision and associated metadata of a manual
2826
+ # approval of a build.
2827
+ class GoogleDevtoolsCloudbuildV1ApprovalResult
2828
+ include Google::Apis::Core::Hashable
2829
+
2830
+ # Output only. The time when the approval decision was made.
2831
+ # Corresponds to the JSON property `approvalTime`
2832
+ # @return [String]
2833
+ attr_accessor :approval_time
2834
+
2835
+ # Output only. Email of the user that called the ApproveBuild API to approve or
2836
+ # reject a build at the time that the API was called.
2837
+ # Corresponds to the JSON property `approverAccount`
2838
+ # @return [String]
2839
+ attr_accessor :approver_account
2840
+
2841
+ # Optional. An optional comment for this manual approval result.
2842
+ # Corresponds to the JSON property `comment`
2843
+ # @return [String]
2844
+ attr_accessor :comment
2845
+
2846
+ # Required. The decision of this manual approval.
2847
+ # Corresponds to the JSON property `decision`
2848
+ # @return [String]
2849
+ attr_accessor :decision
2850
+
2851
+ # Optional. An optional URL tied to this manual approval result. This field is
2852
+ # essentially the same as comment, except that it will be rendered by the UI
2853
+ # differently. An example use case is a link to an external job that approved
2854
+ # this Build.
2855
+ # Corresponds to the JSON property `url`
2856
+ # @return [String]
2857
+ attr_accessor :url
2858
+
2859
+ def initialize(**args)
2860
+ update!(**args)
2861
+ end
2862
+
2863
+ # Update properties of this object
2864
+ def update!(**args)
2865
+ @approval_time = args[:approval_time] if args.key?(:approval_time)
2866
+ @approver_account = args[:approver_account] if args.key?(:approver_account)
2867
+ @comment = args[:comment] if args.key?(:comment)
2868
+ @decision = args[:decision] if args.key?(:decision)
2869
+ @url = args[:url] if args.key?(:url)
2870
+ end
2871
+ end
2872
+
2873
+ # Files in the workspace to upload to Cloud Storage upon successful completion
2874
+ # of all build steps.
2875
+ class GoogleDevtoolsCloudbuildV1ArtifactObjects
2876
+ include Google::Apis::Core::Hashable
2877
+
2878
+ # Cloud Storage bucket and optional object path, in the form "gs://bucket/path/
2879
+ # to/somewhere/". (see [Bucket Name Requirements](https://cloud.google.com/
2880
+ # storage/docs/bucket-naming#requirements)). Files in the workspace matching any
2881
+ # path pattern will be uploaded to Cloud Storage with this location as a prefix.
2882
+ # Corresponds to the JSON property `location`
2883
+ # @return [String]
2884
+ attr_accessor :location
2885
+
2886
+ # Path globs used to match files in the build's workspace.
2887
+ # Corresponds to the JSON property `paths`
2888
+ # @return [Array<String>]
2889
+ attr_accessor :paths
2890
+
2891
+ # Start and end times for a build execution phase.
2892
+ # Corresponds to the JSON property `timing`
2893
+ # @return [Google::Apis::RunV2::GoogleDevtoolsCloudbuildV1TimeSpan]
2894
+ attr_accessor :timing
2895
+
2896
+ def initialize(**args)
2897
+ update!(**args)
2898
+ end
2899
+
2900
+ # Update properties of this object
2901
+ def update!(**args)
2902
+ @location = args[:location] if args.key?(:location)
2903
+ @paths = args[:paths] if args.key?(:paths)
2904
+ @timing = args[:timing] if args.key?(:timing)
2905
+ end
2906
+ end
2907
+
2908
+ # Artifacts produced by a build that should be uploaded upon successful
2909
+ # completion of all build steps.
2910
+ class GoogleDevtoolsCloudbuildV1Artifacts
2911
+ include Google::Apis::Core::Hashable
2912
+
2913
+ # A list of images to be pushed upon the successful completion of all build
2914
+ # steps. The images will be pushed using the builder service account's
2915
+ # credentials. The digests of the pushed images will be stored in the Build
2916
+ # resource's results field. If any of the images fail to be pushed, the build is
2917
+ # marked FAILURE.
2918
+ # Corresponds to the JSON property `images`
2919
+ # @return [Array<String>]
2920
+ attr_accessor :images
2921
+
2922
+ # A list of Maven artifacts to be uploaded to Artifact Registry upon successful
2923
+ # completion of all build steps. Artifacts in the workspace matching specified
2924
+ # paths globs will be uploaded to the specified Artifact Registry repository
2925
+ # using the builder service account's credentials. If any artifacts fail to be
2926
+ # pushed, the build is marked FAILURE.
2927
+ # Corresponds to the JSON property `mavenArtifacts`
2928
+ # @return [Array<Google::Apis::RunV2::GoogleDevtoolsCloudbuildV1MavenArtifact>]
2929
+ attr_accessor :maven_artifacts
2930
+
2931
+ # A list of npm packages to be uploaded to Artifact Registry upon successful
2932
+ # completion of all build steps. Npm packages in the specified paths will be
2933
+ # uploaded to the specified Artifact Registry repository using the builder
2934
+ # service account's credentials. If any packages fail to be pushed, the build is
2935
+ # marked FAILURE.
2936
+ # Corresponds to the JSON property `npmPackages`
2937
+ # @return [Array<Google::Apis::RunV2::GoogleDevtoolsCloudbuildV1NpmPackage>]
2938
+ attr_accessor :npm_packages
2939
+
2940
+ # Files in the workspace to upload to Cloud Storage upon successful completion
2941
+ # of all build steps.
2942
+ # Corresponds to the JSON property `objects`
2943
+ # @return [Google::Apis::RunV2::GoogleDevtoolsCloudbuildV1ArtifactObjects]
2944
+ attr_accessor :objects
2945
+
2946
+ # A list of Python packages to be uploaded to Artifact Registry upon successful
2947
+ # completion of all build steps. The build service account credentials will be
2948
+ # used to perform the upload. If any objects fail to be pushed, the build is
2949
+ # marked FAILURE.
2950
+ # Corresponds to the JSON property `pythonPackages`
2951
+ # @return [Array<Google::Apis::RunV2::GoogleDevtoolsCloudbuildV1PythonPackage>]
2952
+ attr_accessor :python_packages
2953
+
2954
+ def initialize(**args)
2955
+ update!(**args)
2956
+ end
2957
+
2958
+ # Update properties of this object
2959
+ def update!(**args)
2960
+ @images = args[:images] if args.key?(:images)
2961
+ @maven_artifacts = args[:maven_artifacts] if args.key?(:maven_artifacts)
2962
+ @npm_packages = args[:npm_packages] if args.key?(:npm_packages)
2963
+ @objects = args[:objects] if args.key?(:objects)
2964
+ @python_packages = args[:python_packages] if args.key?(:python_packages)
2965
+ end
2966
+ end
2967
+
2968
+ # A build resource in the Cloud Build API. At a high level, a `Build` describes
2969
+ # where to find source code, how to build it (for example, the builder image to
2970
+ # run on the source), and where to store the built artifacts. Fields can include
2971
+ # the following variables, which will be expanded when the build is created: - $
2972
+ # PROJECT_ID: the project ID of the build. - $PROJECT_NUMBER: the project number
2973
+ # of the build. - $LOCATION: the location/region of the build. - $BUILD_ID: the
2974
+ # autogenerated ID of the build. - $REPO_NAME: the source repository name
2975
+ # specified by RepoSource. - $BRANCH_NAME: the branch name specified by
2976
+ # RepoSource. - $TAG_NAME: the tag name specified by RepoSource. - $REVISION_ID
2977
+ # or $COMMIT_SHA: the commit SHA specified by RepoSource or resolved from the
2978
+ # specified branch or tag. - $SHORT_SHA: first 7 characters of $REVISION_ID or $
2979
+ # COMMIT_SHA.
2980
+ class GoogleDevtoolsCloudbuildV1Build
2981
+ include Google::Apis::Core::Hashable
2982
+
2983
+ # BuildApproval describes a build's approval configuration, state, and result.
2984
+ # Corresponds to the JSON property `approval`
2985
+ # @return [Google::Apis::RunV2::GoogleDevtoolsCloudbuildV1BuildApproval]
2986
+ attr_accessor :approval
2987
+
2988
+ # Artifacts produced by a build that should be uploaded upon successful
2989
+ # completion of all build steps.
2990
+ # Corresponds to the JSON property `artifacts`
2991
+ # @return [Google::Apis::RunV2::GoogleDevtoolsCloudbuildV1Artifacts]
2992
+ attr_accessor :artifacts
2993
+
2994
+ # Secrets and secret environment variables.
2995
+ # Corresponds to the JSON property `availableSecrets`
2996
+ # @return [Google::Apis::RunV2::GoogleDevtoolsCloudbuildV1Secrets]
2997
+ attr_accessor :available_secrets
2998
+
2999
+ # Output only. The ID of the `BuildTrigger` that triggered this build, if it was
3000
+ # triggered automatically.
3001
+ # Corresponds to the JSON property `buildTriggerId`
3002
+ # @return [String]
3003
+ attr_accessor :build_trigger_id
3004
+
3005
+ # Output only. Time at which the request to create the build was received.
3006
+ # Corresponds to the JSON property `createTime`
3007
+ # @return [String]
3008
+ attr_accessor :create_time
3009
+
3010
+ # A fatal problem encountered during the execution of the build.
3011
+ # Corresponds to the JSON property `failureInfo`
3012
+ # @return [Google::Apis::RunV2::GoogleDevtoolsCloudbuildV1FailureInfo]
3013
+ attr_accessor :failure_info
3014
+
3015
+ # Output only. Time at which execution of the build was finished. The difference
3016
+ # between finish_time and start_time is the duration of the build's execution.
3017
+ # Corresponds to the JSON property `finishTime`
3018
+ # @return [String]
3019
+ attr_accessor :finish_time
3020
+
3021
+ # Output only. Unique identifier of the build.
3022
+ # Corresponds to the JSON property `id`
3023
+ # @return [String]
3024
+ attr_accessor :id
3025
+
3026
+ # A list of images to be pushed upon the successful completion of all build
3027
+ # steps. The images are pushed using the builder service account's credentials.
3028
+ # The digests of the pushed images will be stored in the `Build` resource's
3029
+ # results field. If any of the images fail to be pushed, the build status is
3030
+ # marked `FAILURE`.
3031
+ # Corresponds to the JSON property `images`
3032
+ # @return [Array<String>]
3033
+ attr_accessor :images
3034
+
3035
+ # Output only. URL to logs for this build in Google Cloud Console.
3036
+ # Corresponds to the JSON property `logUrl`
3037
+ # @return [String]
3038
+ attr_accessor :log_url
3039
+
3040
+ # Cloud Storage bucket where logs should be written (see [Bucket Name
3041
+ # Requirements](https://cloud.google.com/storage/docs/bucket-naming#requirements)
3042
+ # ). Logs file names will be of the format `$`logs_bucket`/log-$`build_id`.txt`.
3043
+ # Corresponds to the JSON property `logsBucket`
3044
+ # @return [String]
3045
+ attr_accessor :logs_bucket
3046
+
3047
+ # Output only. The 'Build' name with format: `projects/`project`/locations/`
3048
+ # location`/builds/`build``, where `build` is a unique identifier generated by
3049
+ # the service.
3050
+ # Corresponds to the JSON property `name`
3051
+ # @return [String]
3052
+ attr_accessor :name
3053
+
3054
+ # Optional arguments to enable specific features of builds.
3055
+ # Corresponds to the JSON property `options`
3056
+ # @return [Google::Apis::RunV2::GoogleDevtoolsCloudbuildV1BuildOptions]
3057
+ attr_accessor :options
3058
+
3059
+ # Output only. ID of the project.
3060
+ # Corresponds to the JSON property `projectId`
3061
+ # @return [String]
3062
+ attr_accessor :project_id
3063
+
3064
+ # TTL in queue for this build. If provided and the build is enqueued longer than
3065
+ # this value, the build will expire and the build status will be `EXPIRED`. The
3066
+ # TTL starts ticking from create_time.
3067
+ # Corresponds to the JSON property `queueTtl`
3068
+ # @return [String]
3069
+ attr_accessor :queue_ttl
3070
+
3071
+ # Artifacts created by the build pipeline.
3072
+ # Corresponds to the JSON property `results`
3073
+ # @return [Google::Apis::RunV2::GoogleDevtoolsCloudbuildV1Results]
3074
+ attr_accessor :results
3075
+
3076
+ # Secrets to decrypt using Cloud Key Management Service. Note: Secret Manager is
3077
+ # the recommended technique for managing sensitive data with Cloud Build. Use `
3078
+ # available_secrets` to configure builds to access secrets from Secret Manager.
3079
+ # For instructions, see: https://cloud.google.com/cloud-build/docs/securing-
3080
+ # builds/use-secrets
3081
+ # Corresponds to the JSON property `secrets`
3082
+ # @return [Array<Google::Apis::RunV2::GoogleDevtoolsCloudbuildV1Secret>]
3083
+ attr_accessor :secrets
3084
+
3085
+ # IAM service account whose credentials will be used at build runtime. Must be
3086
+ # of the format `projects/`PROJECT_ID`/serviceAccounts/`ACCOUNT``. ACCOUNT can
3087
+ # be email address or uniqueId of the service account.
3088
+ # Corresponds to the JSON property `serviceAccount`
3089
+ # @return [String]
3090
+ attr_accessor :service_account
3091
+
3092
+ # Location of the source in a supported storage service.
3093
+ # Corresponds to the JSON property `source`
3094
+ # @return [Google::Apis::RunV2::GoogleDevtoolsCloudbuildV1Source]
3095
+ attr_accessor :source
3096
+
3097
+ # Provenance of the source. Ways to find the original source, or verify that
3098
+ # some source was used for this build.
3099
+ # Corresponds to the JSON property `sourceProvenance`
3100
+ # @return [Google::Apis::RunV2::GoogleDevtoolsCloudbuildV1SourceProvenance]
3101
+ attr_accessor :source_provenance
3102
+
3103
+ # Output only. Time at which execution of the build was started.
3104
+ # Corresponds to the JSON property `startTime`
3105
+ # @return [String]
3106
+ attr_accessor :start_time
3107
+
3108
+ # Output only. Status of the build.
3109
+ # Corresponds to the JSON property `status`
3110
+ # @return [String]
3111
+ attr_accessor :status
3112
+
3113
+ # Output only. Customer-readable message about the current status.
3114
+ # Corresponds to the JSON property `statusDetail`
3115
+ # @return [String]
3116
+ attr_accessor :status_detail
3117
+
3118
+ # Required. The operations to be performed on the workspace.
3119
+ # Corresponds to the JSON property `steps`
3120
+ # @return [Array<Google::Apis::RunV2::GoogleDevtoolsCloudbuildV1BuildStep>]
3121
+ attr_accessor :steps
3122
+
3123
+ # Substitutions data for `Build` resource.
3124
+ # Corresponds to the JSON property `substitutions`
3125
+ # @return [Hash<String,String>]
3126
+ attr_accessor :substitutions
3127
+
3128
+ # Tags for annotation of a `Build`. These are not docker tags.
3129
+ # Corresponds to the JSON property `tags`
3130
+ # @return [Array<String>]
3131
+ attr_accessor :tags
3132
+
3133
+ # Amount of time that this build should be allowed to run, to second granularity.
3134
+ # If this amount of time elapses, work on the build will cease and the build
3135
+ # status will be `TIMEOUT`. `timeout` starts ticking from `startTime`. Default
3136
+ # time is 60 minutes.
3137
+ # Corresponds to the JSON property `timeout`
3138
+ # @return [String]
3139
+ attr_accessor :timeout
3140
+
3141
+ # Output only. Stores timing information for phases of the build. Valid keys are:
3142
+ # * BUILD: time to execute all build steps. * PUSH: time to push all artifacts
3143
+ # including docker images and non docker artifacts. * FETCHSOURCE: time to fetch
3144
+ # source. * SETUPBUILD: time to set up build. If the build does not specify
3145
+ # source or images, these keys will not be included.
3146
+ # Corresponds to the JSON property `timing`
3147
+ # @return [Hash<String,Google::Apis::RunV2::GoogleDevtoolsCloudbuildV1TimeSpan>]
3148
+ attr_accessor :timing
3149
+
3150
+ # Output only. Non-fatal problems encountered during the execution of the build.
3151
+ # Corresponds to the JSON property `warnings`
3152
+ # @return [Array<Google::Apis::RunV2::GoogleDevtoolsCloudbuildV1Warning>]
3153
+ attr_accessor :warnings
3154
+
3155
+ def initialize(**args)
3156
+ update!(**args)
3157
+ end
3158
+
3159
+ # Update properties of this object
3160
+ def update!(**args)
3161
+ @approval = args[:approval] if args.key?(:approval)
3162
+ @artifacts = args[:artifacts] if args.key?(:artifacts)
3163
+ @available_secrets = args[:available_secrets] if args.key?(:available_secrets)
3164
+ @build_trigger_id = args[:build_trigger_id] if args.key?(:build_trigger_id)
3165
+ @create_time = args[:create_time] if args.key?(:create_time)
3166
+ @failure_info = args[:failure_info] if args.key?(:failure_info)
3167
+ @finish_time = args[:finish_time] if args.key?(:finish_time)
3168
+ @id = args[:id] if args.key?(:id)
3169
+ @images = args[:images] if args.key?(:images)
3170
+ @log_url = args[:log_url] if args.key?(:log_url)
3171
+ @logs_bucket = args[:logs_bucket] if args.key?(:logs_bucket)
3172
+ @name = args[:name] if args.key?(:name)
3173
+ @options = args[:options] if args.key?(:options)
3174
+ @project_id = args[:project_id] if args.key?(:project_id)
3175
+ @queue_ttl = args[:queue_ttl] if args.key?(:queue_ttl)
3176
+ @results = args[:results] if args.key?(:results)
3177
+ @secrets = args[:secrets] if args.key?(:secrets)
3178
+ @service_account = args[:service_account] if args.key?(:service_account)
3179
+ @source = args[:source] if args.key?(:source)
3180
+ @source_provenance = args[:source_provenance] if args.key?(:source_provenance)
3181
+ @start_time = args[:start_time] if args.key?(:start_time)
3182
+ @status = args[:status] if args.key?(:status)
3183
+ @status_detail = args[:status_detail] if args.key?(:status_detail)
3184
+ @steps = args[:steps] if args.key?(:steps)
3185
+ @substitutions = args[:substitutions] if args.key?(:substitutions)
3186
+ @tags = args[:tags] if args.key?(:tags)
3187
+ @timeout = args[:timeout] if args.key?(:timeout)
3188
+ @timing = args[:timing] if args.key?(:timing)
3189
+ @warnings = args[:warnings] if args.key?(:warnings)
3190
+ end
3191
+ end
3192
+
3193
+ # BuildApproval describes a build's approval configuration, state, and result.
3194
+ class GoogleDevtoolsCloudbuildV1BuildApproval
3195
+ include Google::Apis::Core::Hashable
3196
+
3197
+ # ApprovalConfig describes configuration for manual approval of a build.
3198
+ # Corresponds to the JSON property `config`
3199
+ # @return [Google::Apis::RunV2::GoogleDevtoolsCloudbuildV1ApprovalConfig]
3200
+ attr_accessor :config
3201
+
3202
+ # ApprovalResult describes the decision and associated metadata of a manual
3203
+ # approval of a build.
3204
+ # Corresponds to the JSON property `result`
3205
+ # @return [Google::Apis::RunV2::GoogleDevtoolsCloudbuildV1ApprovalResult]
3206
+ attr_accessor :result
3207
+
3208
+ # Output only. The state of this build's approval.
3209
+ # Corresponds to the JSON property `state`
3210
+ # @return [String]
3211
+ attr_accessor :state
3212
+
3213
+ def initialize(**args)
3214
+ update!(**args)
3215
+ end
3216
+
3217
+ # Update properties of this object
3218
+ def update!(**args)
3219
+ @config = args[:config] if args.key?(:config)
3220
+ @result = args[:result] if args.key?(:result)
3221
+ @state = args[:state] if args.key?(:state)
3222
+ end
3223
+ end
3224
+
3225
+ # Metadata for build operations.
3226
+ class GoogleDevtoolsCloudbuildV1BuildOperationMetadata
3227
+ include Google::Apis::Core::Hashable
3228
+
3229
+ # A build resource in the Cloud Build API. At a high level, a `Build` describes
3230
+ # where to find source code, how to build it (for example, the builder image to
3231
+ # run on the source), and where to store the built artifacts. Fields can include
3232
+ # the following variables, which will be expanded when the build is created: - $
3233
+ # PROJECT_ID: the project ID of the build. - $PROJECT_NUMBER: the project number
3234
+ # of the build. - $LOCATION: the location/region of the build. - $BUILD_ID: the
3235
+ # autogenerated ID of the build. - $REPO_NAME: the source repository name
3236
+ # specified by RepoSource. - $BRANCH_NAME: the branch name specified by
3237
+ # RepoSource. - $TAG_NAME: the tag name specified by RepoSource. - $REVISION_ID
3238
+ # or $COMMIT_SHA: the commit SHA specified by RepoSource or resolved from the
3239
+ # specified branch or tag. - $SHORT_SHA: first 7 characters of $REVISION_ID or $
3240
+ # COMMIT_SHA.
3241
+ # Corresponds to the JSON property `build`
3242
+ # @return [Google::Apis::RunV2::GoogleDevtoolsCloudbuildV1Build]
3243
+ attr_accessor :build
3244
+
3245
+ def initialize(**args)
3246
+ update!(**args)
3247
+ end
3248
+
3249
+ # Update properties of this object
3250
+ def update!(**args)
3251
+ @build = args[:build] if args.key?(:build)
3252
+ end
3253
+ end
3254
+
3255
+ # Optional arguments to enable specific features of builds.
3256
+ class GoogleDevtoolsCloudbuildV1BuildOptions
3257
+ include Google::Apis::Core::Hashable
3258
+
3259
+ # Option to include built-in and custom substitutions as env variables for all
3260
+ # build steps.
3261
+ # Corresponds to the JSON property `automapSubstitutions`
3262
+ # @return [Boolean]
3263
+ attr_accessor :automap_substitutions
3264
+ alias_method :automap_substitutions?, :automap_substitutions
3265
+
3266
+ # Optional. Option to specify how default logs buckets are setup.
3267
+ # Corresponds to the JSON property `defaultLogsBucketBehavior`
3268
+ # @return [String]
3269
+ attr_accessor :default_logs_bucket_behavior
3270
+
3271
+ # Requested disk size for the VM that runs the build. Note that this is *NOT* "
3272
+ # disk free"; some of the space will be used by the operating system and build
3273
+ # utilities. Also note that this is the minimum disk size that will be allocated
3274
+ # for the build -- the build may run with a larger disk than requested. At
3275
+ # present, the maximum disk size is 2000GB; builds that request more than the
3276
+ # maximum are rejected with an error.
3277
+ # Corresponds to the JSON property `diskSizeGb`
3278
+ # @return [Fixnum]
3279
+ attr_accessor :disk_size_gb
3280
+
3281
+ # Option to specify whether or not to apply bash style string operations to the
3282
+ # substitutions. NOTE: this is always enabled for triggered builds and cannot be
3283
+ # overridden in the build configuration file.
3284
+ # Corresponds to the JSON property `dynamicSubstitutions`
3285
+ # @return [Boolean]
3286
+ attr_accessor :dynamic_substitutions
3287
+ alias_method :dynamic_substitutions?, :dynamic_substitutions
3288
+
3289
+ # A list of global environment variable definitions that will exist for all
3290
+ # build steps in this build. If a variable is defined in both globally and in a
3291
+ # build step, the variable will use the build step value. The elements are of
3292
+ # the form "KEY=VALUE" for the environment variable "KEY" being given the value "
3293
+ # VALUE".
3294
+ # Corresponds to the JSON property `env`
3295
+ # @return [Array<String>]
3296
+ attr_accessor :env
3297
+
3298
+ # Option to define build log streaming behavior to Cloud Storage.
3299
+ # Corresponds to the JSON property `logStreamingOption`
3300
+ # @return [String]
3301
+ attr_accessor :log_streaming_option
3302
+
3303
+ # Option to specify the logging mode, which determines if and where build logs
3304
+ # are stored.
3305
+ # Corresponds to the JSON property `logging`
3306
+ # @return [String]
3307
+ attr_accessor :logging
3308
+
3309
+ # Compute Engine machine type on which to run the build.
3310
+ # Corresponds to the JSON property `machineType`
3311
+ # @return [String]
3312
+ attr_accessor :machine_type
3313
+
3314
+ # Details about how a build should be executed on a `WorkerPool`. See [running
3315
+ # builds in a private pool](https://cloud.google.com/build/docs/private-pools/
3316
+ # run-builds-in-private-pool) for more information.
3317
+ # Corresponds to the JSON property `pool`
3318
+ # @return [Google::Apis::RunV2::GoogleDevtoolsCloudbuildV1PoolOption]
3319
+ attr_accessor :pool
3320
+
3321
+ # Requested verifiability options.
3322
+ # Corresponds to the JSON property `requestedVerifyOption`
3323
+ # @return [String]
3324
+ attr_accessor :requested_verify_option
3325
+
3326
+ # A list of global environment variables, which are encrypted using a Cloud Key
3327
+ # Management Service crypto key. These values must be specified in the build's `
3328
+ # Secret`. These variables will be available to all build steps in this build.
3329
+ # Corresponds to the JSON property `secretEnv`
3330
+ # @return [Array<String>]
3331
+ attr_accessor :secret_env
3332
+
3333
+ # Requested hash for SourceProvenance.
3334
+ # Corresponds to the JSON property `sourceProvenanceHash`
3335
+ # @return [Array<String>]
3336
+ attr_accessor :source_provenance_hash
3337
+
3338
+ # Option to specify behavior when there is an error in the substitution checks.
3339
+ # NOTE: this is always set to ALLOW_LOOSE for triggered builds and cannot be
3340
+ # overridden in the build configuration file.
3341
+ # Corresponds to the JSON property `substitutionOption`
3342
+ # @return [String]
3343
+ attr_accessor :substitution_option
3344
+
3345
+ # Global list of volumes to mount for ALL build steps Each volume is created as
3346
+ # an empty volume prior to starting the build process. Upon completion of the
3347
+ # build, volumes and their contents are discarded. Global volume names and paths
3348
+ # cannot conflict with the volumes defined a build step. Using a global volume
3349
+ # in a build with only one step is not valid as it is indicative of a build
3350
+ # request with an incorrect configuration.
3351
+ # Corresponds to the JSON property `volumes`
3352
+ # @return [Array<Google::Apis::RunV2::GoogleDevtoolsCloudbuildV1Volume>]
3353
+ attr_accessor :volumes
3354
+
3355
+ # This field deprecated; please use `pool.name` instead.
3356
+ # Corresponds to the JSON property `workerPool`
3357
+ # @return [String]
3358
+ attr_accessor :worker_pool
3359
+
3360
+ def initialize(**args)
3361
+ update!(**args)
3362
+ end
3363
+
3364
+ # Update properties of this object
3365
+ def update!(**args)
3366
+ @automap_substitutions = args[:automap_substitutions] if args.key?(:automap_substitutions)
3367
+ @default_logs_bucket_behavior = args[:default_logs_bucket_behavior] if args.key?(:default_logs_bucket_behavior)
3368
+ @disk_size_gb = args[:disk_size_gb] if args.key?(:disk_size_gb)
3369
+ @dynamic_substitutions = args[:dynamic_substitutions] if args.key?(:dynamic_substitutions)
3370
+ @env = args[:env] if args.key?(:env)
3371
+ @log_streaming_option = args[:log_streaming_option] if args.key?(:log_streaming_option)
3372
+ @logging = args[:logging] if args.key?(:logging)
3373
+ @machine_type = args[:machine_type] if args.key?(:machine_type)
3374
+ @pool = args[:pool] if args.key?(:pool)
3375
+ @requested_verify_option = args[:requested_verify_option] if args.key?(:requested_verify_option)
3376
+ @secret_env = args[:secret_env] if args.key?(:secret_env)
3377
+ @source_provenance_hash = args[:source_provenance_hash] if args.key?(:source_provenance_hash)
3378
+ @substitution_option = args[:substitution_option] if args.key?(:substitution_option)
3379
+ @volumes = args[:volumes] if args.key?(:volumes)
3380
+ @worker_pool = args[:worker_pool] if args.key?(:worker_pool)
3381
+ end
3382
+ end
3383
+
3384
+ # A step in the build pipeline.
3385
+ class GoogleDevtoolsCloudbuildV1BuildStep
3386
+ include Google::Apis::Core::Hashable
3387
+
3388
+ # Allow this build step to fail without failing the entire build if and only if
3389
+ # the exit code is one of the specified codes. If allow_failure is also
3390
+ # specified, this field will take precedence.
3391
+ # Corresponds to the JSON property `allowExitCodes`
3392
+ # @return [Array<Fixnum>]
3393
+ attr_accessor :allow_exit_codes
3394
+
3395
+ # Allow this build step to fail without failing the entire build. If false, the
3396
+ # entire build will fail if this step fails. Otherwise, the build will succeed,
3397
+ # but this step will still have a failure status. Error information will be
3398
+ # reported in the failure_detail field.
3399
+ # Corresponds to the JSON property `allowFailure`
3400
+ # @return [Boolean]
3401
+ attr_accessor :allow_failure
3402
+ alias_method :allow_failure?, :allow_failure
3403
+
3404
+ # A list of arguments that will be presented to the step when it is started. If
3405
+ # the image used to run the step's container has an entrypoint, the `args` are
3406
+ # used as arguments to that entrypoint. If the image does not define an
3407
+ # entrypoint, the first element in args is used as the entrypoint, and the
3408
+ # remainder will be used as arguments.
3409
+ # Corresponds to the JSON property `args`
3410
+ # @return [Array<String>]
3411
+ attr_accessor :args
3412
+
3413
+ # Option to include built-in and custom substitutions as env variables for this
3414
+ # build step. This option will override the global option in BuildOption.
3415
+ # Corresponds to the JSON property `automapSubstitutions`
3416
+ # @return [Boolean]
3417
+ attr_accessor :automap_substitutions
3418
+ alias_method :automap_substitutions?, :automap_substitutions
3419
+
3420
+ # Working directory to use when running this step's container. If this value is
3421
+ # a relative path, it is relative to the build's working directory. If this
3422
+ # value is absolute, it may be outside the build's working directory, in which
3423
+ # case the contents of the path may not be persisted across build step
3424
+ # executions, unless a `volume` for that path is specified. If the build
3425
+ # specifies a `RepoSource` with `dir` and a step with a `dir`, which specifies
3426
+ # an absolute path, the `RepoSource` `dir` is ignored for the step's execution.
3427
+ # Corresponds to the JSON property `dir`
3428
+ # @return [String]
3429
+ attr_accessor :dir
3430
+
3431
+ # Entrypoint to be used instead of the build step image's default entrypoint. If
3432
+ # unset, the image's default entrypoint is used.
3433
+ # Corresponds to the JSON property `entrypoint`
3434
+ # @return [String]
3435
+ attr_accessor :entrypoint
3436
+
3437
+ # A list of environment variable definitions to be used when running a step. The
3438
+ # elements are of the form "KEY=VALUE" for the environment variable "KEY" being
3439
+ # given the value "VALUE".
3440
+ # Corresponds to the JSON property `env`
3441
+ # @return [Array<String>]
3442
+ attr_accessor :env
3443
+
3444
+ # Output only. Return code from running the step.
3445
+ # Corresponds to the JSON property `exitCode`
3446
+ # @return [Fixnum]
3447
+ attr_accessor :exit_code
3448
+
3449
+ # Unique identifier for this build step, used in `wait_for` to reference this
3450
+ # build step as a dependency.
3451
+ # Corresponds to the JSON property `id`
3452
+ # @return [String]
3453
+ attr_accessor :id
3454
+
3455
+ # Required. The name of the container image that will run this particular build
3456
+ # step. If the image is available in the host's Docker daemon's cache, it will
3457
+ # be run directly. If not, the host will attempt to pull the image first, using
3458
+ # the builder service account's credentials if necessary. The Docker daemon's
3459
+ # cache will already have the latest versions of all of the officially supported
3460
+ # build steps ([https://github.com/GoogleCloudPlatform/cloud-builders](https://
3461
+ # github.com/GoogleCloudPlatform/cloud-builders)). The Docker daemon will also
3462
+ # have cached many of the layers for some popular images, like "ubuntu", "debian"
3463
+ # , but they will be refreshed at the time you attempt to use them. If you built
3464
+ # an image in a previous build step, it will be stored in the host's Docker
3465
+ # daemon's cache and is available to use as the name for a later build step.
3466
+ # Corresponds to the JSON property `name`
3467
+ # @return [String]
3468
+ attr_accessor :name
3469
+
3470
+ # Start and end times for a build execution phase.
3471
+ # Corresponds to the JSON property `pullTiming`
3472
+ # @return [Google::Apis::RunV2::GoogleDevtoolsCloudbuildV1TimeSpan]
3473
+ attr_accessor :pull_timing
3474
+
3475
+ # A shell script to be executed in the step. When script is provided, the user
3476
+ # cannot specify the entrypoint or args.
3477
+ # Corresponds to the JSON property `script`
3478
+ # @return [String]
3479
+ attr_accessor :script
3480
+
3481
+ # A list of environment variables which are encrypted using a Cloud Key
3482
+ # Management Service crypto key. These values must be specified in the build's `
3483
+ # Secret`.
3484
+ # Corresponds to the JSON property `secretEnv`
3485
+ # @return [Array<String>]
3486
+ attr_accessor :secret_env
3487
+
3488
+ # Output only. Status of the build step. At this time, build step status is only
3489
+ # updated on build completion; step status is not updated in real-time as the
3490
+ # build progresses.
3491
+ # Corresponds to the JSON property `status`
3492
+ # @return [String]
3493
+ attr_accessor :status
3494
+
3495
+ # Time limit for executing this build step. If not defined, the step has no time
3496
+ # limit and will be allowed to continue to run until either it completes or the
3497
+ # build itself times out.
3498
+ # Corresponds to the JSON property `timeout`
3499
+ # @return [String]
3500
+ attr_accessor :timeout
3501
+
3502
+ # Start and end times for a build execution phase.
3503
+ # Corresponds to the JSON property `timing`
3504
+ # @return [Google::Apis::RunV2::GoogleDevtoolsCloudbuildV1TimeSpan]
3505
+ attr_accessor :timing
3506
+
3507
+ # List of volumes to mount into the build step. Each volume is created as an
3508
+ # empty volume prior to execution of the build step. Upon completion of the
3509
+ # build, volumes and their contents are discarded. Using a named volume in only
3510
+ # one step is not valid as it is indicative of a build request with an incorrect
3511
+ # configuration.
3512
+ # Corresponds to the JSON property `volumes`
3513
+ # @return [Array<Google::Apis::RunV2::GoogleDevtoolsCloudbuildV1Volume>]
3514
+ attr_accessor :volumes
3515
+
3516
+ # The ID(s) of the step(s) that this build step depends on. This build step will
3517
+ # not start until all the build steps in `wait_for` have completed successfully.
3518
+ # If `wait_for` is empty, this build step will start when all previous build
3519
+ # steps in the `Build.Steps` list have completed successfully.
3520
+ # Corresponds to the JSON property `waitFor`
3521
+ # @return [Array<String>]
3522
+ attr_accessor :wait_for
3523
+
3524
+ def initialize(**args)
3525
+ update!(**args)
3526
+ end
3527
+
3528
+ # Update properties of this object
3529
+ def update!(**args)
3530
+ @allow_exit_codes = args[:allow_exit_codes] if args.key?(:allow_exit_codes)
3531
+ @allow_failure = args[:allow_failure] if args.key?(:allow_failure)
3532
+ @args = args[:args] if args.key?(:args)
3533
+ @automap_substitutions = args[:automap_substitutions] if args.key?(:automap_substitutions)
3534
+ @dir = args[:dir] if args.key?(:dir)
3535
+ @entrypoint = args[:entrypoint] if args.key?(:entrypoint)
3536
+ @env = args[:env] if args.key?(:env)
3537
+ @exit_code = args[:exit_code] if args.key?(:exit_code)
3538
+ @id = args[:id] if args.key?(:id)
3539
+ @name = args[:name] if args.key?(:name)
3540
+ @pull_timing = args[:pull_timing] if args.key?(:pull_timing)
3541
+ @script = args[:script] if args.key?(:script)
3542
+ @secret_env = args[:secret_env] if args.key?(:secret_env)
3543
+ @status = args[:status] if args.key?(:status)
3544
+ @timeout = args[:timeout] if args.key?(:timeout)
3545
+ @timing = args[:timing] if args.key?(:timing)
3546
+ @volumes = args[:volumes] if args.key?(:volumes)
3547
+ @wait_for = args[:wait_for] if args.key?(:wait_for)
3548
+ end
3549
+ end
3550
+
3551
+ # An image built by the pipeline.
3552
+ class GoogleDevtoolsCloudbuildV1BuiltImage
3553
+ include Google::Apis::Core::Hashable
3554
+
3555
+ # Docker Registry 2.0 digest.
3556
+ # Corresponds to the JSON property `digest`
3557
+ # @return [String]
3558
+ attr_accessor :digest
3559
+
3560
+ # Name used to push the container image to Google Container Registry, as
3561
+ # presented to `docker push`.
3562
+ # Corresponds to the JSON property `name`
3563
+ # @return [String]
3564
+ attr_accessor :name
3565
+
3566
+ # Start and end times for a build execution phase.
3567
+ # Corresponds to the JSON property `pushTiming`
3568
+ # @return [Google::Apis::RunV2::GoogleDevtoolsCloudbuildV1TimeSpan]
3569
+ attr_accessor :push_timing
3570
+
3571
+ def initialize(**args)
3572
+ update!(**args)
3573
+ end
3574
+
3575
+ # Update properties of this object
3576
+ def update!(**args)
3577
+ @digest = args[:digest] if args.key?(:digest)
3578
+ @name = args[:name] if args.key?(:name)
3579
+ @push_timing = args[:push_timing] if args.key?(:push_timing)
3580
+ end
3581
+ end
3582
+
3583
+ # Location of the source in a 2nd-gen Google Cloud Build repository resource.
3584
+ class GoogleDevtoolsCloudbuildV1ConnectedRepository
3585
+ include Google::Apis::Core::Hashable
3586
+
3587
+ # Directory, relative to the source root, in which to run the build.
3588
+ # Corresponds to the JSON property `dir`
3589
+ # @return [String]
3590
+ attr_accessor :dir
3591
+
3592
+ # Required. Name of the Google Cloud Build repository, formatted as `projects/*/
3593
+ # locations/*/connections/*/repositories/*`.
3594
+ # Corresponds to the JSON property `repository`
3595
+ # @return [String]
3596
+ attr_accessor :repository
3597
+
3598
+ # The revision to fetch from the Git repository such as a branch, a tag, a
3599
+ # commit SHA, or any Git ref.
3600
+ # Corresponds to the JSON property `revision`
3601
+ # @return [String]
3602
+ attr_accessor :revision
3603
+
3604
+ def initialize(**args)
3605
+ update!(**args)
3606
+ end
3607
+
3608
+ # Update properties of this object
3609
+ def update!(**args)
3610
+ @dir = args[:dir] if args.key?(:dir)
3611
+ @repository = args[:repository] if args.key?(:repository)
3612
+ @revision = args[:revision] if args.key?(:revision)
3613
+ end
3614
+ end
3615
+
3616
+ # A fatal problem encountered during the execution of the build.
3617
+ class GoogleDevtoolsCloudbuildV1FailureInfo
3618
+ include Google::Apis::Core::Hashable
3619
+
3620
+ # Explains the failure issue in more detail using hard-coded text.
3621
+ # Corresponds to the JSON property `detail`
3622
+ # @return [String]
3623
+ attr_accessor :detail
3624
+
3625
+ # The name of the failure.
3626
+ # Corresponds to the JSON property `type`
3627
+ # @return [String]
3628
+ attr_accessor :type
3629
+
3630
+ def initialize(**args)
3631
+ update!(**args)
3632
+ end
3633
+
3634
+ # Update properties of this object
3635
+ def update!(**args)
3636
+ @detail = args[:detail] if args.key?(:detail)
3637
+ @type = args[:type] if args.key?(:type)
3638
+ end
3639
+ end
3640
+
3641
+ # Container message for hashes of byte content of files, used in
3642
+ # SourceProvenance messages to verify integrity of source input to the build.
3643
+ class GoogleDevtoolsCloudbuildV1FileHashes
3644
+ include Google::Apis::Core::Hashable
3645
+
3646
+ # Collection of file hashes.
3647
+ # Corresponds to the JSON property `fileHash`
3648
+ # @return [Array<Google::Apis::RunV2::GoogleDevtoolsCloudbuildV1Hash>]
3649
+ attr_accessor :file_hash
3650
+
3651
+ def initialize(**args)
3652
+ update!(**args)
3653
+ end
3654
+
3655
+ # Update properties of this object
3656
+ def update!(**args)
3657
+ @file_hash = args[:file_hash] if args.key?(:file_hash)
3658
+ end
3659
+ end
3660
+
3661
+ # Location of the source in any accessible Git repository.
3662
+ class GoogleDevtoolsCloudbuildV1GitSource
3663
+ include Google::Apis::Core::Hashable
3664
+
3665
+ # Directory, relative to the source root, in which to run the build. This must
3666
+ # be a relative path. If a step's `dir` is specified and is an absolute path,
3667
+ # this value is ignored for that step's execution.
3668
+ # Corresponds to the JSON property `dir`
3669
+ # @return [String]
3670
+ attr_accessor :dir
3671
+
3672
+ # The revision to fetch from the Git repository such as a branch, a tag, a
3673
+ # commit SHA, or any Git ref. Cloud Build uses `git fetch` to fetch the revision
3674
+ # from the Git repository; therefore make sure that the string you provide for `
3675
+ # revision` is parsable by the command. For information on string values
3676
+ # accepted by `git fetch`, see https://git-scm.com/docs/gitrevisions#
3677
+ # _specifying_revisions. For information on `git fetch`, see https://git-scm.com/
3678
+ # docs/git-fetch.
3679
+ # Corresponds to the JSON property `revision`
3680
+ # @return [String]
3681
+ attr_accessor :revision
3682
+
3683
+ # Location of the Git repo to build. This will be used as a `git remote`, see
3684
+ # https://git-scm.com/docs/git-remote.
3685
+ # Corresponds to the JSON property `url`
3686
+ # @return [String]
3687
+ attr_accessor :url
3688
+
3689
+ def initialize(**args)
3690
+ update!(**args)
3691
+ end
3692
+
3693
+ # Update properties of this object
3694
+ def update!(**args)
3695
+ @dir = args[:dir] if args.key?(:dir)
3696
+ @revision = args[:revision] if args.key?(:revision)
3697
+ @url = args[:url] if args.key?(:url)
3698
+ end
3699
+ end
3700
+
3701
+ # Container message for hash values.
3702
+ class GoogleDevtoolsCloudbuildV1Hash
3703
+ include Google::Apis::Core::Hashable
3704
+
3705
+ # The type of hash that was performed.
3706
+ # Corresponds to the JSON property `type`
3707
+ # @return [String]
3708
+ attr_accessor :type
3709
+
3710
+ # The hash value.
3711
+ # Corresponds to the JSON property `value`
3712
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
3713
+ # @return [String]
3714
+ attr_accessor :value
3715
+
3716
+ def initialize(**args)
3717
+ update!(**args)
3718
+ end
3719
+
3720
+ # Update properties of this object
3721
+ def update!(**args)
3722
+ @type = args[:type] if args.key?(:type)
3723
+ @value = args[:value] if args.key?(:value)
3724
+ end
3725
+ end
3726
+
3727
+ # Pairs a set of secret environment variables mapped to encrypted values with
3728
+ # the Cloud KMS key to use to decrypt the value.
3729
+ class GoogleDevtoolsCloudbuildV1InlineSecret
3730
+ include Google::Apis::Core::Hashable
3731
+
3732
+ # Map of environment variable name to its encrypted value. Secret environment
3733
+ # variables must be unique across all of a build's secrets, and must be used by
3734
+ # at least one build step. Values can be at most 64 KB in size. There can be at
3735
+ # most 100 secret values across all of a build's secrets.
3736
+ # Corresponds to the JSON property `envMap`
3737
+ # @return [Hash<String,String>]
3738
+ attr_accessor :env_map
3739
+
3740
+ # Resource name of Cloud KMS crypto key to decrypt the encrypted value. In
3741
+ # format: projects/*/locations/*/keyRings/*/cryptoKeys/*
3742
+ # Corresponds to the JSON property `kmsKeyName`
3743
+ # @return [String]
3744
+ attr_accessor :kms_key_name
3745
+
3746
+ def initialize(**args)
3747
+ update!(**args)
3748
+ end
3749
+
3750
+ # Update properties of this object
3751
+ def update!(**args)
3752
+ @env_map = args[:env_map] if args.key?(:env_map)
3753
+ @kms_key_name = args[:kms_key_name] if args.key?(:kms_key_name)
3754
+ end
3755
+ end
3756
+
3757
+ # A Maven artifact to upload to Artifact Registry upon successful completion of
3758
+ # all build steps.
3759
+ class GoogleDevtoolsCloudbuildV1MavenArtifact
3760
+ include Google::Apis::Core::Hashable
3761
+
3762
+ # Maven `artifactId` value used when uploading the artifact to Artifact Registry.
3763
+ # Corresponds to the JSON property `artifactId`
3764
+ # @return [String]
3765
+ attr_accessor :artifact_id
3766
+
3767
+ # Maven `groupId` value used when uploading the artifact to Artifact Registry.
3768
+ # Corresponds to the JSON property `groupId`
3769
+ # @return [String]
3770
+ attr_accessor :group_id
3771
+
3772
+ # Path to an artifact in the build's workspace to be uploaded to Artifact
3773
+ # Registry. This can be either an absolute path, e.g. /workspace/my-app/target/
3774
+ # my-app-1.0.SNAPSHOT.jar or a relative path from /workspace, e.g. my-app/target/
3775
+ # my-app-1.0.SNAPSHOT.jar.
3776
+ # Corresponds to the JSON property `path`
3777
+ # @return [String]
3778
+ attr_accessor :path
3779
+
3780
+ # Artifact Registry repository, in the form "https://$REGION-maven.pkg.dev/$
3781
+ # PROJECT/$REPOSITORY" Artifact in the workspace specified by path will be
3782
+ # uploaded to Artifact Registry with this location as a prefix.
3783
+ # Corresponds to the JSON property `repository`
3784
+ # @return [String]
3785
+ attr_accessor :repository
3786
+
3787
+ # Maven `version` value used when uploading the artifact to Artifact Registry.
3788
+ # Corresponds to the JSON property `version`
3789
+ # @return [String]
3790
+ attr_accessor :version
3791
+
3792
+ def initialize(**args)
3793
+ update!(**args)
3794
+ end
3795
+
3796
+ # Update properties of this object
3797
+ def update!(**args)
3798
+ @artifact_id = args[:artifact_id] if args.key?(:artifact_id)
3799
+ @group_id = args[:group_id] if args.key?(:group_id)
3800
+ @path = args[:path] if args.key?(:path)
3801
+ @repository = args[:repository] if args.key?(:repository)
3802
+ @version = args[:version] if args.key?(:version)
3803
+ end
3804
+ end
3805
+
3806
+ # Npm package to upload to Artifact Registry upon successful completion of all
3807
+ # build steps.
3808
+ class GoogleDevtoolsCloudbuildV1NpmPackage
3809
+ include Google::Apis::Core::Hashable
3810
+
3811
+ # Path to the package.json. e.g. workspace/path/to/package
3812
+ # Corresponds to the JSON property `packagePath`
3813
+ # @return [String]
3814
+ attr_accessor :package_path
3815
+
3816
+ # Artifact Registry repository, in the form "https://$REGION-npm.pkg.dev/$
3817
+ # PROJECT/$REPOSITORY" Npm package in the workspace specified by path will be
3818
+ # zipped and uploaded to Artifact Registry with this location as a prefix.
3819
+ # Corresponds to the JSON property `repository`
3820
+ # @return [String]
3821
+ attr_accessor :repository
3822
+
3823
+ def initialize(**args)
3824
+ update!(**args)
3825
+ end
3826
+
3827
+ # Update properties of this object
3828
+ def update!(**args)
3829
+ @package_path = args[:package_path] if args.key?(:package_path)
3830
+ @repository = args[:repository] if args.key?(:repository)
3831
+ end
3832
+ end
3833
+
3834
+ # Details about how a build should be executed on a `WorkerPool`. See [running
3835
+ # builds in a private pool](https://cloud.google.com/build/docs/private-pools/
3836
+ # run-builds-in-private-pool) for more information.
3837
+ class GoogleDevtoolsCloudbuildV1PoolOption
3838
+ include Google::Apis::Core::Hashable
3839
+
3840
+ # The `WorkerPool` resource to execute the build on. You must have `cloudbuild.
3841
+ # workerpools.use` on the project hosting the WorkerPool. Format projects/`
3842
+ # project`/locations/`location`/workerPools/`workerPoolId`
3843
+ # Corresponds to the JSON property `name`
3844
+ # @return [String]
3845
+ attr_accessor :name
3846
+
3847
+ def initialize(**args)
3848
+ update!(**args)
3849
+ end
3850
+
3851
+ # Update properties of this object
3852
+ def update!(**args)
3853
+ @name = args[:name] if args.key?(:name)
3854
+ end
3855
+ end
3856
+
3857
+ # Python package to upload to Artifact Registry upon successful completion of
3858
+ # all build steps. A package can encapsulate multiple objects to be uploaded to
3859
+ # a single repository.
3860
+ class GoogleDevtoolsCloudbuildV1PythonPackage
3861
+ include Google::Apis::Core::Hashable
3862
+
3863
+ # Path globs used to match files in the build's workspace. For Python/ Twine,
3864
+ # this is usually `dist/*`, and sometimes additionally an `.asc` file.
3865
+ # Corresponds to the JSON property `paths`
3866
+ # @return [Array<String>]
3867
+ attr_accessor :paths
3868
+
3869
+ # Artifact Registry repository, in the form "https://$REGION-python.pkg.dev/$
3870
+ # PROJECT/$REPOSITORY" Files in the workspace matching any path pattern will be
3871
+ # uploaded to Artifact Registry with this location as a prefix.
3872
+ # Corresponds to the JSON property `repository`
3873
+ # @return [String]
3874
+ attr_accessor :repository
3875
+
3876
+ def initialize(**args)
3877
+ update!(**args)
3878
+ end
3879
+
3880
+ # Update properties of this object
3881
+ def update!(**args)
3882
+ @paths = args[:paths] if args.key?(:paths)
3883
+ @repository = args[:repository] if args.key?(:repository)
3884
+ end
3885
+ end
3886
+
3887
+ # Location of the source in a Google Cloud Source Repository.
3888
+ class GoogleDevtoolsCloudbuildV1RepoSource
3889
+ include Google::Apis::Core::Hashable
3890
+
3891
+ # Regex matching branches to build. The syntax of the regular expressions
3892
+ # accepted is the syntax accepted by RE2 and described at https://github.com/
3893
+ # google/re2/wiki/Syntax
3894
+ # Corresponds to the JSON property `branchName`
3895
+ # @return [String]
3896
+ attr_accessor :branch_name
3897
+
3898
+ # Explicit commit SHA to build.
3899
+ # Corresponds to the JSON property `commitSha`
3900
+ # @return [String]
3901
+ attr_accessor :commit_sha
3902
+
3903
+ # Directory, relative to the source root, in which to run the build. This must
3904
+ # be a relative path. If a step's `dir` is specified and is an absolute path,
3905
+ # this value is ignored for that step's execution.
3906
+ # Corresponds to the JSON property `dir`
3907
+ # @return [String]
3908
+ attr_accessor :dir
3909
+
3910
+ # Only trigger a build if the revision regex does NOT match the revision regex.
3911
+ # Corresponds to the JSON property `invertRegex`
3912
+ # @return [Boolean]
3913
+ attr_accessor :invert_regex
3914
+ alias_method :invert_regex?, :invert_regex
3915
+
3916
+ # ID of the project that owns the Cloud Source Repository. If omitted, the
3917
+ # project ID requesting the build is assumed.
3918
+ # Corresponds to the JSON property `projectId`
3919
+ # @return [String]
3920
+ attr_accessor :project_id
3921
+
3922
+ # Name of the Cloud Source Repository.
3923
+ # Corresponds to the JSON property `repoName`
3924
+ # @return [String]
3925
+ attr_accessor :repo_name
3926
+
3927
+ # Substitutions to use in a triggered build. Should only be used with
3928
+ # RunBuildTrigger
3929
+ # Corresponds to the JSON property `substitutions`
3930
+ # @return [Hash<String,String>]
3931
+ attr_accessor :substitutions
3932
+
3933
+ # Regex matching tags to build. The syntax of the regular expressions accepted
3934
+ # is the syntax accepted by RE2 and described at https://github.com/google/re2/
3935
+ # wiki/Syntax
3936
+ # Corresponds to the JSON property `tagName`
3937
+ # @return [String]
3938
+ attr_accessor :tag_name
3939
+
3940
+ def initialize(**args)
3941
+ update!(**args)
3942
+ end
3943
+
3944
+ # Update properties of this object
3945
+ def update!(**args)
3946
+ @branch_name = args[:branch_name] if args.key?(:branch_name)
3947
+ @commit_sha = args[:commit_sha] if args.key?(:commit_sha)
3948
+ @dir = args[:dir] if args.key?(:dir)
3949
+ @invert_regex = args[:invert_regex] if args.key?(:invert_regex)
3950
+ @project_id = args[:project_id] if args.key?(:project_id)
3951
+ @repo_name = args[:repo_name] if args.key?(:repo_name)
3952
+ @substitutions = args[:substitutions] if args.key?(:substitutions)
3953
+ @tag_name = args[:tag_name] if args.key?(:tag_name)
3954
+ end
3955
+ end
3956
+
3957
+ # Artifacts created by the build pipeline.
3958
+ class GoogleDevtoolsCloudbuildV1Results
3959
+ include Google::Apis::Core::Hashable
3960
+
3961
+ # Path to the artifact manifest for non-container artifacts uploaded to Cloud
3962
+ # Storage. Only populated when artifacts are uploaded to Cloud Storage.
3963
+ # Corresponds to the JSON property `artifactManifest`
3964
+ # @return [String]
3965
+ attr_accessor :artifact_manifest
3966
+
3967
+ # Start and end times for a build execution phase.
3968
+ # Corresponds to the JSON property `artifactTiming`
3969
+ # @return [Google::Apis::RunV2::GoogleDevtoolsCloudbuildV1TimeSpan]
3970
+ attr_accessor :artifact_timing
3971
+
3972
+ # List of build step digests, in the order corresponding to build step indices.
3973
+ # Corresponds to the JSON property `buildStepImages`
3974
+ # @return [Array<String>]
3975
+ attr_accessor :build_step_images
3976
+
3977
+ # List of build step outputs, produced by builder images, in the order
3978
+ # corresponding to build step indices. [Cloud Builders](https://cloud.google.com/
3979
+ # cloud-build/docs/cloud-builders) can produce this output by writing to `$
3980
+ # BUILDER_OUTPUT/output`. Only the first 50KB of data is stored.
3981
+ # Corresponds to the JSON property `buildStepOutputs`
3982
+ # @return [Array<String>]
3983
+ attr_accessor :build_step_outputs
3984
+
3985
+ # Container images that were built as a part of the build.
3986
+ # Corresponds to the JSON property `images`
3987
+ # @return [Array<Google::Apis::RunV2::GoogleDevtoolsCloudbuildV1BuiltImage>]
3988
+ attr_accessor :images
3989
+
3990
+ # Maven artifacts uploaded to Artifact Registry at the end of the build.
3991
+ # Corresponds to the JSON property `mavenArtifacts`
3992
+ # @return [Array<Google::Apis::RunV2::GoogleDevtoolsCloudbuildV1UploadedMavenArtifact>]
3993
+ attr_accessor :maven_artifacts
3994
+
3995
+ # Npm packages uploaded to Artifact Registry at the end of the build.
3996
+ # Corresponds to the JSON property `npmPackages`
3997
+ # @return [Array<Google::Apis::RunV2::GoogleDevtoolsCloudbuildV1UploadedNpmPackage>]
3998
+ attr_accessor :npm_packages
3999
+
4000
+ # Number of non-container artifacts uploaded to Cloud Storage. Only populated
4001
+ # when artifacts are uploaded to Cloud Storage.
4002
+ # Corresponds to the JSON property `numArtifacts`
4003
+ # @return [Fixnum]
4004
+ attr_accessor :num_artifacts
4005
+
4006
+ # Python artifacts uploaded to Artifact Registry at the end of the build.
4007
+ # Corresponds to the JSON property `pythonPackages`
4008
+ # @return [Array<Google::Apis::RunV2::GoogleDevtoolsCloudbuildV1UploadedPythonPackage>]
4009
+ attr_accessor :python_packages
4010
+
4011
+ def initialize(**args)
4012
+ update!(**args)
4013
+ end
4014
+
4015
+ # Update properties of this object
4016
+ def update!(**args)
4017
+ @artifact_manifest = args[:artifact_manifest] if args.key?(:artifact_manifest)
4018
+ @artifact_timing = args[:artifact_timing] if args.key?(:artifact_timing)
4019
+ @build_step_images = args[:build_step_images] if args.key?(:build_step_images)
4020
+ @build_step_outputs = args[:build_step_outputs] if args.key?(:build_step_outputs)
4021
+ @images = args[:images] if args.key?(:images)
4022
+ @maven_artifacts = args[:maven_artifacts] if args.key?(:maven_artifacts)
4023
+ @npm_packages = args[:npm_packages] if args.key?(:npm_packages)
4024
+ @num_artifacts = args[:num_artifacts] if args.key?(:num_artifacts)
4025
+ @python_packages = args[:python_packages] if args.key?(:python_packages)
4026
+ end
4027
+ end
4028
+
4029
+ # Pairs a set of secret environment variables containing encrypted values with
4030
+ # the Cloud KMS key to use to decrypt the value. Note: Use `kmsKeyName` with `
4031
+ # available_secrets` instead of using `kmsKeyName` with `secret`. For
4032
+ # instructions see: https://cloud.google.com/cloud-build/docs/securing-builds/
4033
+ # use-encrypted-credentials.
4034
+ class GoogleDevtoolsCloudbuildV1Secret
4035
+ include Google::Apis::Core::Hashable
4036
+
4037
+ # Cloud KMS key name to use to decrypt these envs.
4038
+ # Corresponds to the JSON property `kmsKeyName`
4039
+ # @return [String]
4040
+ attr_accessor :kms_key_name
4041
+
4042
+ # Map of environment variable name to its encrypted value. Secret environment
4043
+ # variables must be unique across all of a build's secrets, and must be used by
4044
+ # at least one build step. Values can be at most 64 KB in size. There can be at
4045
+ # most 100 secret values across all of a build's secrets.
4046
+ # Corresponds to the JSON property `secretEnv`
4047
+ # @return [Hash<String,String>]
4048
+ attr_accessor :secret_env
4049
+
4050
+ def initialize(**args)
4051
+ update!(**args)
4052
+ end
4053
+
4054
+ # Update properties of this object
4055
+ def update!(**args)
4056
+ @kms_key_name = args[:kms_key_name] if args.key?(:kms_key_name)
4057
+ @secret_env = args[:secret_env] if args.key?(:secret_env)
4058
+ end
4059
+ end
4060
+
4061
+ # Pairs a secret environment variable with a SecretVersion in Secret Manager.
4062
+ class GoogleDevtoolsCloudbuildV1SecretManagerSecret
4063
+ include Google::Apis::Core::Hashable
4064
+
4065
+ # Environment variable name to associate with the secret. Secret environment
4066
+ # variables must be unique across all of a build's secrets, and must be used by
4067
+ # at least one build step.
4068
+ # Corresponds to the JSON property `env`
4069
+ # @return [String]
4070
+ attr_accessor :env
4071
+
4072
+ # Resource name of the SecretVersion. In format: projects/*/secrets/*/versions/*
4073
+ # Corresponds to the JSON property `versionName`
4074
+ # @return [String]
4075
+ attr_accessor :version_name
4076
+
4077
+ def initialize(**args)
4078
+ update!(**args)
4079
+ end
4080
+
4081
+ # Update properties of this object
4082
+ def update!(**args)
4083
+ @env = args[:env] if args.key?(:env)
4084
+ @version_name = args[:version_name] if args.key?(:version_name)
4085
+ end
4086
+ end
4087
+
4088
+ # Secrets and secret environment variables.
4089
+ class GoogleDevtoolsCloudbuildV1Secrets
4090
+ include Google::Apis::Core::Hashable
4091
+
4092
+ # Secrets encrypted with KMS key and the associated secret environment variable.
4093
+ # Corresponds to the JSON property `inline`
4094
+ # @return [Array<Google::Apis::RunV2::GoogleDevtoolsCloudbuildV1InlineSecret>]
4095
+ attr_accessor :inline
4096
+
4097
+ # Secrets in Secret Manager and associated secret environment variable.
4098
+ # Corresponds to the JSON property `secretManager`
4099
+ # @return [Array<Google::Apis::RunV2::GoogleDevtoolsCloudbuildV1SecretManagerSecret>]
4100
+ attr_accessor :secret_manager
4101
+
4102
+ def initialize(**args)
4103
+ update!(**args)
4104
+ end
4105
+
4106
+ # Update properties of this object
4107
+ def update!(**args)
4108
+ @inline = args[:inline] if args.key?(:inline)
4109
+ @secret_manager = args[:secret_manager] if args.key?(:secret_manager)
4110
+ end
4111
+ end
4112
+
4113
+ # Location of the source in a supported storage service.
4114
+ class GoogleDevtoolsCloudbuildV1Source
4115
+ include Google::Apis::Core::Hashable
4116
+
4117
+ # Location of the source in a 2nd-gen Google Cloud Build repository resource.
4118
+ # Corresponds to the JSON property `connectedRepository`
4119
+ # @return [Google::Apis::RunV2::GoogleDevtoolsCloudbuildV1ConnectedRepository]
4120
+ attr_accessor :connected_repository
4121
+
4122
+ # Location of the source in any accessible Git repository.
4123
+ # Corresponds to the JSON property `gitSource`
4124
+ # @return [Google::Apis::RunV2::GoogleDevtoolsCloudbuildV1GitSource]
4125
+ attr_accessor :git_source
4126
+
4127
+ # Location of the source in a Google Cloud Source Repository.
4128
+ # Corresponds to the JSON property `repoSource`
4129
+ # @return [Google::Apis::RunV2::GoogleDevtoolsCloudbuildV1RepoSource]
4130
+ attr_accessor :repo_source
4131
+
4132
+ # Location of the source in an archive file in Cloud Storage.
4133
+ # Corresponds to the JSON property `storageSource`
4134
+ # @return [Google::Apis::RunV2::GoogleDevtoolsCloudbuildV1StorageSource]
4135
+ attr_accessor :storage_source
4136
+
4137
+ # Location of the source manifest in Cloud Storage. This feature is in Preview;
4138
+ # see description [here](https://github.com/GoogleCloudPlatform/cloud-builders/
4139
+ # tree/master/gcs-fetcher).
4140
+ # Corresponds to the JSON property `storageSourceManifest`
4141
+ # @return [Google::Apis::RunV2::GoogleDevtoolsCloudbuildV1StorageSourceManifest]
4142
+ attr_accessor :storage_source_manifest
4143
+
4144
+ def initialize(**args)
4145
+ update!(**args)
4146
+ end
4147
+
4148
+ # Update properties of this object
4149
+ def update!(**args)
4150
+ @connected_repository = args[:connected_repository] if args.key?(:connected_repository)
4151
+ @git_source = args[:git_source] if args.key?(:git_source)
4152
+ @repo_source = args[:repo_source] if args.key?(:repo_source)
4153
+ @storage_source = args[:storage_source] if args.key?(:storage_source)
4154
+ @storage_source_manifest = args[:storage_source_manifest] if args.key?(:storage_source_manifest)
4155
+ end
4156
+ end
4157
+
4158
+ # Provenance of the source. Ways to find the original source, or verify that
4159
+ # some source was used for this build.
4160
+ class GoogleDevtoolsCloudbuildV1SourceProvenance
4161
+ include Google::Apis::Core::Hashable
4162
+
4163
+ # Output only. Hash(es) of the build source, which can be used to verify that
4164
+ # the original source integrity was maintained in the build. Note that `
4165
+ # FileHashes` will only be populated if `BuildOptions` has requested a `
4166
+ # SourceProvenanceHash`. The keys to this map are file paths used as build
4167
+ # source and the values contain the hash values for those files. If the build
4168
+ # source came in a single package such as a gzipped tarfile (`.tar.gz`), the `
4169
+ # FileHash` will be for the single path to that file.
4170
+ # Corresponds to the JSON property `fileHashes`
4171
+ # @return [Hash<String,Google::Apis::RunV2::GoogleDevtoolsCloudbuildV1FileHashes>]
4172
+ attr_accessor :file_hashes
4173
+
4174
+ # Location of the source in a 2nd-gen Google Cloud Build repository resource.
4175
+ # Corresponds to the JSON property `resolvedConnectedRepository`
4176
+ # @return [Google::Apis::RunV2::GoogleDevtoolsCloudbuildV1ConnectedRepository]
4177
+ attr_accessor :resolved_connected_repository
4178
+
4179
+ # Location of the source in any accessible Git repository.
4180
+ # Corresponds to the JSON property `resolvedGitSource`
4181
+ # @return [Google::Apis::RunV2::GoogleDevtoolsCloudbuildV1GitSource]
4182
+ attr_accessor :resolved_git_source
4183
+
4184
+ # Location of the source in a Google Cloud Source Repository.
4185
+ # Corresponds to the JSON property `resolvedRepoSource`
4186
+ # @return [Google::Apis::RunV2::GoogleDevtoolsCloudbuildV1RepoSource]
4187
+ attr_accessor :resolved_repo_source
4188
+
4189
+ # Location of the source in an archive file in Cloud Storage.
4190
+ # Corresponds to the JSON property `resolvedStorageSource`
4191
+ # @return [Google::Apis::RunV2::GoogleDevtoolsCloudbuildV1StorageSource]
4192
+ attr_accessor :resolved_storage_source
4193
+
4194
+ # Location of the source manifest in Cloud Storage. This feature is in Preview;
4195
+ # see description [here](https://github.com/GoogleCloudPlatform/cloud-builders/
4196
+ # tree/master/gcs-fetcher).
4197
+ # Corresponds to the JSON property `resolvedStorageSourceManifest`
4198
+ # @return [Google::Apis::RunV2::GoogleDevtoolsCloudbuildV1StorageSourceManifest]
4199
+ attr_accessor :resolved_storage_source_manifest
4200
+
4201
+ def initialize(**args)
4202
+ update!(**args)
4203
+ end
4204
+
4205
+ # Update properties of this object
4206
+ def update!(**args)
4207
+ @file_hashes = args[:file_hashes] if args.key?(:file_hashes)
4208
+ @resolved_connected_repository = args[:resolved_connected_repository] if args.key?(:resolved_connected_repository)
4209
+ @resolved_git_source = args[:resolved_git_source] if args.key?(:resolved_git_source)
4210
+ @resolved_repo_source = args[:resolved_repo_source] if args.key?(:resolved_repo_source)
4211
+ @resolved_storage_source = args[:resolved_storage_source] if args.key?(:resolved_storage_source)
4212
+ @resolved_storage_source_manifest = args[:resolved_storage_source_manifest] if args.key?(:resolved_storage_source_manifest)
4213
+ end
4214
+ end
4215
+
4216
+ # Location of the source in an archive file in Cloud Storage.
4217
+ class GoogleDevtoolsCloudbuildV1StorageSource
4218
+ include Google::Apis::Core::Hashable
4219
+
4220
+ # Cloud Storage bucket containing the source (see [Bucket Name Requirements](
4221
+ # https://cloud.google.com/storage/docs/bucket-naming#requirements)).
4222
+ # Corresponds to the JSON property `bucket`
4223
+ # @return [String]
4224
+ attr_accessor :bucket
4225
+
4226
+ # Cloud Storage generation for the object. If the generation is omitted, the
4227
+ # latest generation will be used.
4228
+ # Corresponds to the JSON property `generation`
4229
+ # @return [Fixnum]
4230
+ attr_accessor :generation
4231
+
4232
+ # Cloud Storage object containing the source. This object must be a zipped (`.
4233
+ # zip`) or gzipped archive file (`.tar.gz`) containing source to build.
4234
+ # Corresponds to the JSON property `object`
4235
+ # @return [String]
4236
+ attr_accessor :object
4237
+
4238
+ # Optional. Option to specify the tool to fetch the source file for the build.
4239
+ # Corresponds to the JSON property `sourceFetcher`
4240
+ # @return [String]
4241
+ attr_accessor :source_fetcher
4242
+
4243
+ def initialize(**args)
4244
+ update!(**args)
4245
+ end
4246
+
4247
+ # Update properties of this object
4248
+ def update!(**args)
4249
+ @bucket = args[:bucket] if args.key?(:bucket)
4250
+ @generation = args[:generation] if args.key?(:generation)
4251
+ @object = args[:object] if args.key?(:object)
4252
+ @source_fetcher = args[:source_fetcher] if args.key?(:source_fetcher)
4253
+ end
4254
+ end
4255
+
4256
+ # Location of the source manifest in Cloud Storage. This feature is in Preview;
4257
+ # see description [here](https://github.com/GoogleCloudPlatform/cloud-builders/
4258
+ # tree/master/gcs-fetcher).
4259
+ class GoogleDevtoolsCloudbuildV1StorageSourceManifest
4260
+ include Google::Apis::Core::Hashable
4261
+
4262
+ # Cloud Storage bucket containing the source manifest (see [Bucket Name
4263
+ # Requirements](https://cloud.google.com/storage/docs/bucket-naming#requirements)
4264
+ # ).
4265
+ # Corresponds to the JSON property `bucket`
4266
+ # @return [String]
4267
+ attr_accessor :bucket
4268
+
4269
+ # Cloud Storage generation for the object. If the generation is omitted, the
4270
+ # latest generation will be used.
4271
+ # Corresponds to the JSON property `generation`
4272
+ # @return [Fixnum]
4273
+ attr_accessor :generation
4274
+
4275
+ # Cloud Storage object containing the source manifest. This object must be a
4276
+ # JSON file.
4277
+ # Corresponds to the JSON property `object`
4278
+ # @return [String]
4279
+ attr_accessor :object
4280
+
4281
+ def initialize(**args)
4282
+ update!(**args)
4283
+ end
4284
+
4285
+ # Update properties of this object
4286
+ def update!(**args)
4287
+ @bucket = args[:bucket] if args.key?(:bucket)
4288
+ @generation = args[:generation] if args.key?(:generation)
4289
+ @object = args[:object] if args.key?(:object)
4290
+ end
4291
+ end
4292
+
4293
+ # Start and end times for a build execution phase.
4294
+ class GoogleDevtoolsCloudbuildV1TimeSpan
4295
+ include Google::Apis::Core::Hashable
4296
+
4297
+ # End of time span.
4298
+ # Corresponds to the JSON property `endTime`
4299
+ # @return [String]
4300
+ attr_accessor :end_time
4301
+
4302
+ # Start of time span.
4303
+ # Corresponds to the JSON property `startTime`
4304
+ # @return [String]
4305
+ attr_accessor :start_time
4306
+
4307
+ def initialize(**args)
4308
+ update!(**args)
4309
+ end
4310
+
4311
+ # Update properties of this object
4312
+ def update!(**args)
4313
+ @end_time = args[:end_time] if args.key?(:end_time)
4314
+ @start_time = args[:start_time] if args.key?(:start_time)
4315
+ end
4316
+ end
4317
+
4318
+ # A Maven artifact uploaded using the MavenArtifact directive.
4319
+ class GoogleDevtoolsCloudbuildV1UploadedMavenArtifact
4320
+ include Google::Apis::Core::Hashable
4321
+
4322
+ # Container message for hashes of byte content of files, used in
4323
+ # SourceProvenance messages to verify integrity of source input to the build.
4324
+ # Corresponds to the JSON property `fileHashes`
4325
+ # @return [Google::Apis::RunV2::GoogleDevtoolsCloudbuildV1FileHashes]
4326
+ attr_accessor :file_hashes
4327
+
4328
+ # Start and end times for a build execution phase.
4329
+ # Corresponds to the JSON property `pushTiming`
4330
+ # @return [Google::Apis::RunV2::GoogleDevtoolsCloudbuildV1TimeSpan]
4331
+ attr_accessor :push_timing
4332
+
4333
+ # URI of the uploaded artifact.
4334
+ # Corresponds to the JSON property `uri`
4335
+ # @return [String]
4336
+ attr_accessor :uri
4337
+
4338
+ def initialize(**args)
4339
+ update!(**args)
4340
+ end
4341
+
4342
+ # Update properties of this object
4343
+ def update!(**args)
4344
+ @file_hashes = args[:file_hashes] if args.key?(:file_hashes)
4345
+ @push_timing = args[:push_timing] if args.key?(:push_timing)
4346
+ @uri = args[:uri] if args.key?(:uri)
4347
+ end
4348
+ end
4349
+
4350
+ # An npm package uploaded to Artifact Registry using the NpmPackage directive.
4351
+ class GoogleDevtoolsCloudbuildV1UploadedNpmPackage
4352
+ include Google::Apis::Core::Hashable
4353
+
4354
+ # Container message for hashes of byte content of files, used in
4355
+ # SourceProvenance messages to verify integrity of source input to the build.
4356
+ # Corresponds to the JSON property `fileHashes`
4357
+ # @return [Google::Apis::RunV2::GoogleDevtoolsCloudbuildV1FileHashes]
4358
+ attr_accessor :file_hashes
4359
+
4360
+ # Start and end times for a build execution phase.
4361
+ # Corresponds to the JSON property `pushTiming`
4362
+ # @return [Google::Apis::RunV2::GoogleDevtoolsCloudbuildV1TimeSpan]
4363
+ attr_accessor :push_timing
4364
+
4365
+ # URI of the uploaded npm package.
4366
+ # Corresponds to the JSON property `uri`
4367
+ # @return [String]
4368
+ attr_accessor :uri
4369
+
4370
+ def initialize(**args)
4371
+ update!(**args)
4372
+ end
4373
+
4374
+ # Update properties of this object
4375
+ def update!(**args)
4376
+ @file_hashes = args[:file_hashes] if args.key?(:file_hashes)
4377
+ @push_timing = args[:push_timing] if args.key?(:push_timing)
4378
+ @uri = args[:uri] if args.key?(:uri)
4379
+ end
4380
+ end
4381
+
4382
+ # Artifact uploaded using the PythonPackage directive.
4383
+ class GoogleDevtoolsCloudbuildV1UploadedPythonPackage
4384
+ include Google::Apis::Core::Hashable
4385
+
4386
+ # Container message for hashes of byte content of files, used in
4387
+ # SourceProvenance messages to verify integrity of source input to the build.
4388
+ # Corresponds to the JSON property `fileHashes`
4389
+ # @return [Google::Apis::RunV2::GoogleDevtoolsCloudbuildV1FileHashes]
4390
+ attr_accessor :file_hashes
4391
+
4392
+ # Start and end times for a build execution phase.
4393
+ # Corresponds to the JSON property `pushTiming`
4394
+ # @return [Google::Apis::RunV2::GoogleDevtoolsCloudbuildV1TimeSpan]
4395
+ attr_accessor :push_timing
4396
+
4397
+ # URI of the uploaded artifact.
4398
+ # Corresponds to the JSON property `uri`
4399
+ # @return [String]
4400
+ attr_accessor :uri
4401
+
4402
+ def initialize(**args)
4403
+ update!(**args)
4404
+ end
4405
+
4406
+ # Update properties of this object
4407
+ def update!(**args)
4408
+ @file_hashes = args[:file_hashes] if args.key?(:file_hashes)
4409
+ @push_timing = args[:push_timing] if args.key?(:push_timing)
4410
+ @uri = args[:uri] if args.key?(:uri)
4411
+ end
4412
+ end
4413
+
4414
+ # Volume describes a Docker container volume which is mounted into build steps
4415
+ # in order to persist files across build step execution.
4416
+ class GoogleDevtoolsCloudbuildV1Volume
4417
+ include Google::Apis::Core::Hashable
4418
+
4419
+ # Name of the volume to mount. Volume names must be unique per build step and
4420
+ # must be valid names for Docker volumes. Each named volume must be used by at
4421
+ # least two build steps.
4422
+ # Corresponds to the JSON property `name`
4423
+ # @return [String]
4424
+ attr_accessor :name
4425
+
4426
+ # Path at which to mount the volume. Paths must be absolute and cannot conflict
4427
+ # with other volume paths on the same build step or with certain reserved volume
4428
+ # paths.
4429
+ # Corresponds to the JSON property `path`
4430
+ # @return [String]
4431
+ attr_accessor :path
4432
+
4433
+ def initialize(**args)
4434
+ update!(**args)
4435
+ end
4436
+
4437
+ # Update properties of this object
4438
+ def update!(**args)
4439
+ @name = args[:name] if args.key?(:name)
4440
+ @path = args[:path] if args.key?(:path)
4441
+ end
4442
+ end
4443
+
4444
+ # A non-fatal problem encountered during the execution of the build.
4445
+ class GoogleDevtoolsCloudbuildV1Warning
4446
+ include Google::Apis::Core::Hashable
4447
+
4448
+ # The priority for this warning.
4449
+ # Corresponds to the JSON property `priority`
4450
+ # @return [String]
4451
+ attr_accessor :priority
4452
+
4453
+ # Explanation of the warning generated.
4454
+ # Corresponds to the JSON property `text`
4455
+ # @return [String]
4456
+ attr_accessor :text
4457
+
4458
+ def initialize(**args)
4459
+ update!(**args)
4460
+ end
4461
+
4462
+ # Update properties of this object
4463
+ def update!(**args)
4464
+ @priority = args[:priority] if args.key?(:priority)
4465
+ @text = args[:text] if args.key?(:text)
4466
+ end
4467
+ end
4468
+
2804
4469
  # Specifies the audit configuration for a service. The configuration determines
2805
4470
  # which permission types are logged, and what identities, if any, are exempted
2806
4471
  # from logging. An AuditConfig must have one or more AuditLogConfigs. If there