google-apis-containeranalysis_v1beta1 0.9.0 → 0.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -294,7 +294,7 @@ module Google
294
294
  end
295
295
  end
296
296
 
297
- # Associates `members` with a `role`.
297
+ # Associates `members`, or principals, with a `role`.
298
298
  class Binding
299
299
  include Google::Apis::Core::Hashable
300
300
 
@@ -317,7 +317,7 @@ module Google
317
317
  # @return [Google::Apis::ContaineranalysisV1beta1::Expr]
318
318
  attr_accessor :condition
319
319
 
320
- # Specifies the identities requesting access for a Cloud Platform resource. `
320
+ # Specifies the principals requesting access for a Cloud Platform resource. `
321
321
  # members` can have the following values: * `allUsers`: A special identifier
322
322
  # that represents anyone who is on the internet; with or without a Google
323
323
  # account. * `allAuthenticatedUsers`: A special identifier that represents
@@ -347,8 +347,8 @@ module Google
347
347
  # @return [Array<String>]
348
348
  attr_accessor :members
349
349
 
350
- # Role that is assigned to `members`. For example, `roles/viewer`, `roles/editor`
351
- # , or `roles/owner`.
350
+ # Role that is assigned to the list of `members`, or principals. For example, `
351
+ # roles/viewer`, `roles/editor`, or `roles/owner`.
352
352
  # Corresponds to the JSON property `role`
353
353
  # @return [String]
354
354
  attr_accessor :role
@@ -722,6 +722,1241 @@ module Google
722
722
  end
723
723
  end
724
724
 
725
+ # ApprovalConfig describes configuration for manual approval of a build.
726
+ class ContaineranalysisGoogleDevtoolsCloudbuildV1ApprovalConfig
727
+ include Google::Apis::Core::Hashable
728
+
729
+ # Whether or not approval is needed. If this is set on a build, it will become
730
+ # pending when created, and will need to be explicitly approved to start.
731
+ # Corresponds to the JSON property `approvalRequired`
732
+ # @return [Boolean]
733
+ attr_accessor :approval_required
734
+ alias_method :approval_required?, :approval_required
735
+
736
+ def initialize(**args)
737
+ update!(**args)
738
+ end
739
+
740
+ # Update properties of this object
741
+ def update!(**args)
742
+ @approval_required = args[:approval_required] if args.key?(:approval_required)
743
+ end
744
+ end
745
+
746
+ # ApprovalResult describes the decision and associated metadata of a manual
747
+ # approval of a build.
748
+ class ContaineranalysisGoogleDevtoolsCloudbuildV1ApprovalResult
749
+ include Google::Apis::Core::Hashable
750
+
751
+ # Output only. The time when the approval decision was made.
752
+ # Corresponds to the JSON property `approvalTime`
753
+ # @return [String]
754
+ attr_accessor :approval_time
755
+
756
+ # Output only. Email of the user that called the ApproveBuild API to approve or
757
+ # reject a build at the time that the API was called.
758
+ # Corresponds to the JSON property `approverAccount`
759
+ # @return [String]
760
+ attr_accessor :approver_account
761
+
762
+ # Optional. An optional comment for this manual approval result.
763
+ # Corresponds to the JSON property `comment`
764
+ # @return [String]
765
+ attr_accessor :comment
766
+
767
+ # Required. The decision of this manual approval.
768
+ # Corresponds to the JSON property `decision`
769
+ # @return [String]
770
+ attr_accessor :decision
771
+
772
+ # Optional. An optional URL tied to this manual approval result. This field is
773
+ # essentially the same as comment, except that it will be rendered by the UI
774
+ # differently. An example use case is a link to an external job that approved
775
+ # this Build.
776
+ # Corresponds to the JSON property `url`
777
+ # @return [String]
778
+ attr_accessor :url
779
+
780
+ def initialize(**args)
781
+ update!(**args)
782
+ end
783
+
784
+ # Update properties of this object
785
+ def update!(**args)
786
+ @approval_time = args[:approval_time] if args.key?(:approval_time)
787
+ @approver_account = args[:approver_account] if args.key?(:approver_account)
788
+ @comment = args[:comment] if args.key?(:comment)
789
+ @decision = args[:decision] if args.key?(:decision)
790
+ @url = args[:url] if args.key?(:url)
791
+ end
792
+ end
793
+
794
+ # Artifacts produced by a build that should be uploaded upon successful
795
+ # completion of all build steps.
796
+ class ContaineranalysisGoogleDevtoolsCloudbuildV1Artifacts
797
+ include Google::Apis::Core::Hashable
798
+
799
+ # A list of images to be pushed upon the successful completion of all build
800
+ # steps. The images will be pushed using the builder service account's
801
+ # credentials. The digests of the pushed images will be stored in the Build
802
+ # resource's results field. If any of the images fail to be pushed, the build is
803
+ # marked FAILURE.
804
+ # Corresponds to the JSON property `images`
805
+ # @return [Array<String>]
806
+ attr_accessor :images
807
+
808
+ # Files in the workspace to upload to Cloud Storage upon successful completion
809
+ # of all build steps.
810
+ # Corresponds to the JSON property `objects`
811
+ # @return [Google::Apis::ContaineranalysisV1beta1::ContaineranalysisGoogleDevtoolsCloudbuildV1ArtifactsArtifactObjects]
812
+ attr_accessor :objects
813
+
814
+ def initialize(**args)
815
+ update!(**args)
816
+ end
817
+
818
+ # Update properties of this object
819
+ def update!(**args)
820
+ @images = args[:images] if args.key?(:images)
821
+ @objects = args[:objects] if args.key?(:objects)
822
+ end
823
+ end
824
+
825
+ # Files in the workspace to upload to Cloud Storage upon successful completion
826
+ # of all build steps.
827
+ class ContaineranalysisGoogleDevtoolsCloudbuildV1ArtifactsArtifactObjects
828
+ include Google::Apis::Core::Hashable
829
+
830
+ # Cloud Storage bucket and optional object path, in the form "gs://bucket/path/
831
+ # to/somewhere/". (see [Bucket Name Requirements](https://cloud.google.com/
832
+ # storage/docs/bucket-naming#requirements)). Files in the workspace matching any
833
+ # path pattern will be uploaded to Cloud Storage with this location as a prefix.
834
+ # Corresponds to the JSON property `location`
835
+ # @return [String]
836
+ attr_accessor :location
837
+
838
+ # Path globs used to match files in the build's workspace.
839
+ # Corresponds to the JSON property `paths`
840
+ # @return [Array<String>]
841
+ attr_accessor :paths
842
+
843
+ # Start and end times for a build execution phase.
844
+ # Corresponds to the JSON property `timing`
845
+ # @return [Google::Apis::ContaineranalysisV1beta1::ContaineranalysisGoogleDevtoolsCloudbuildV1TimeSpan]
846
+ attr_accessor :timing
847
+
848
+ def initialize(**args)
849
+ update!(**args)
850
+ end
851
+
852
+ # Update properties of this object
853
+ def update!(**args)
854
+ @location = args[:location] if args.key?(:location)
855
+ @paths = args[:paths] if args.key?(:paths)
856
+ @timing = args[:timing] if args.key?(:timing)
857
+ end
858
+ end
859
+
860
+ # A build resource in the Cloud Build API. At a high level, a `Build` describes
861
+ # where to find source code, how to build it (for example, the builder image to
862
+ # run on the source), and where to store the built artifacts. Fields can include
863
+ # the following variables, which will be expanded when the build is created: - $
864
+ # PROJECT_ID: the project ID of the build. - $PROJECT_NUMBER: the project number
865
+ # of the build. - $LOCATION: the location/region of the build. - $BUILD_ID: the
866
+ # autogenerated ID of the build. - $REPO_NAME: the source repository name
867
+ # specified by RepoSource. - $BRANCH_NAME: the branch name specified by
868
+ # RepoSource. - $TAG_NAME: the tag name specified by RepoSource. - $REVISION_ID
869
+ # or $COMMIT_SHA: the commit SHA specified by RepoSource or resolved from the
870
+ # specified branch or tag. - $SHORT_SHA: first 7 characters of $REVISION_ID or $
871
+ # COMMIT_SHA.
872
+ class ContaineranalysisGoogleDevtoolsCloudbuildV1Build
873
+ include Google::Apis::Core::Hashable
874
+
875
+ # BuildApproval describes a build's approval configuration, state, and result.
876
+ # Corresponds to the JSON property `approval`
877
+ # @return [Google::Apis::ContaineranalysisV1beta1::ContaineranalysisGoogleDevtoolsCloudbuildV1BuildApproval]
878
+ attr_accessor :approval
879
+
880
+ # Artifacts produced by a build that should be uploaded upon successful
881
+ # completion of all build steps.
882
+ # Corresponds to the JSON property `artifacts`
883
+ # @return [Google::Apis::ContaineranalysisV1beta1::ContaineranalysisGoogleDevtoolsCloudbuildV1Artifacts]
884
+ attr_accessor :artifacts
885
+
886
+ # Secrets and secret environment variables.
887
+ # Corresponds to the JSON property `availableSecrets`
888
+ # @return [Google::Apis::ContaineranalysisV1beta1::ContaineranalysisGoogleDevtoolsCloudbuildV1Secrets]
889
+ attr_accessor :available_secrets
890
+
891
+ # Output only. The ID of the `BuildTrigger` that triggered this build, if it was
892
+ # triggered automatically.
893
+ # Corresponds to the JSON property `buildTriggerId`
894
+ # @return [String]
895
+ attr_accessor :build_trigger_id
896
+
897
+ # Output only. Time at which the request to create the build was received.
898
+ # Corresponds to the JSON property `createTime`
899
+ # @return [String]
900
+ attr_accessor :create_time
901
+
902
+ # A fatal problem encountered during the execution of the build.
903
+ # Corresponds to the JSON property `failureInfo`
904
+ # @return [Google::Apis::ContaineranalysisV1beta1::ContaineranalysisGoogleDevtoolsCloudbuildV1BuildFailureInfo]
905
+ attr_accessor :failure_info
906
+
907
+ # Output only. Time at which execution of the build was finished. The difference
908
+ # between finish_time and start_time is the duration of the build's execution.
909
+ # Corresponds to the JSON property `finishTime`
910
+ # @return [String]
911
+ attr_accessor :finish_time
912
+
913
+ # Output only. Unique identifier of the build.
914
+ # Corresponds to the JSON property `id`
915
+ # @return [String]
916
+ attr_accessor :id
917
+
918
+ # A list of images to be pushed upon the successful completion of all build
919
+ # steps. The images are pushed using the builder service account's credentials.
920
+ # The digests of the pushed images will be stored in the `Build` resource's
921
+ # results field. If any of the images fail to be pushed, the build status is
922
+ # marked `FAILURE`.
923
+ # Corresponds to the JSON property `images`
924
+ # @return [Array<String>]
925
+ attr_accessor :images
926
+
927
+ # Output only. URL to logs for this build in Google Cloud Console.
928
+ # Corresponds to the JSON property `logUrl`
929
+ # @return [String]
930
+ attr_accessor :log_url
931
+
932
+ # Google Cloud Storage bucket where logs should be written (see [Bucket Name
933
+ # Requirements](https://cloud.google.com/storage/docs/bucket-naming#requirements)
934
+ # ). Logs file names will be of the format `$`logs_bucket`/log-$`build_id`.txt`.
935
+ # Corresponds to the JSON property `logsBucket`
936
+ # @return [String]
937
+ attr_accessor :logs_bucket
938
+
939
+ # Output only. The 'Build' name with format: `projects/`project`/locations/`
940
+ # location`/builds/`build``, where `build` is a unique identifier generated by
941
+ # the service.
942
+ # Corresponds to the JSON property `name`
943
+ # @return [String]
944
+ attr_accessor :name
945
+
946
+ # Optional arguments to enable specific features of builds.
947
+ # Corresponds to the JSON property `options`
948
+ # @return [Google::Apis::ContaineranalysisV1beta1::ContaineranalysisGoogleDevtoolsCloudbuildV1BuildOptions]
949
+ attr_accessor :options
950
+
951
+ # Output only. ID of the project.
952
+ # Corresponds to the JSON property `projectId`
953
+ # @return [String]
954
+ attr_accessor :project_id
955
+
956
+ # TTL in queue for this build. If provided and the build is enqueued longer than
957
+ # this value, the build will expire and the build status will be `EXPIRED`. The
958
+ # TTL starts ticking from create_time.
959
+ # Corresponds to the JSON property `queueTtl`
960
+ # @return [String]
961
+ attr_accessor :queue_ttl
962
+
963
+ # Artifacts created by the build pipeline.
964
+ # Corresponds to the JSON property `results`
965
+ # @return [Google::Apis::ContaineranalysisV1beta1::ContaineranalysisGoogleDevtoolsCloudbuildV1Results]
966
+ attr_accessor :results
967
+
968
+ # Secrets to decrypt using Cloud Key Management Service. Note: Secret Manager is
969
+ # the recommended technique for managing sensitive data with Cloud Build. Use `
970
+ # available_secrets` to configure builds to access secrets from Secret Manager.
971
+ # For instructions, see: https://cloud.google.com/cloud-build/docs/securing-
972
+ # builds/use-secrets
973
+ # Corresponds to the JSON property `secrets`
974
+ # @return [Array<Google::Apis::ContaineranalysisV1beta1::ContaineranalysisGoogleDevtoolsCloudbuildV1Secret>]
975
+ attr_accessor :secrets
976
+
977
+ # IAM service account whose credentials will be used at build runtime. Must be
978
+ # of the format `projects/`PROJECT_ID`/serviceAccounts/`ACCOUNT``. ACCOUNT can
979
+ # be email address or uniqueId of the service account.
980
+ # Corresponds to the JSON property `serviceAccount`
981
+ # @return [String]
982
+ attr_accessor :service_account
983
+
984
+ # Location of the source in a supported storage service.
985
+ # Corresponds to the JSON property `source`
986
+ # @return [Google::Apis::ContaineranalysisV1beta1::ContaineranalysisGoogleDevtoolsCloudbuildV1Source]
987
+ attr_accessor :source
988
+
989
+ # Provenance of the source. Ways to find the original source, or verify that
990
+ # some source was used for this build.
991
+ # Corresponds to the JSON property `sourceProvenance`
992
+ # @return [Google::Apis::ContaineranalysisV1beta1::ContaineranalysisGoogleDevtoolsCloudbuildV1SourceProvenance]
993
+ attr_accessor :source_provenance
994
+
995
+ # Output only. Time at which execution of the build was started.
996
+ # Corresponds to the JSON property `startTime`
997
+ # @return [String]
998
+ attr_accessor :start_time
999
+
1000
+ # Output only. Status of the build.
1001
+ # Corresponds to the JSON property `status`
1002
+ # @return [String]
1003
+ attr_accessor :status
1004
+
1005
+ # Output only. Customer-readable message about the current status.
1006
+ # Corresponds to the JSON property `statusDetail`
1007
+ # @return [String]
1008
+ attr_accessor :status_detail
1009
+
1010
+ # Required. The operations to be performed on the workspace.
1011
+ # Corresponds to the JSON property `steps`
1012
+ # @return [Array<Google::Apis::ContaineranalysisV1beta1::ContaineranalysisGoogleDevtoolsCloudbuildV1BuildStep>]
1013
+ attr_accessor :steps
1014
+
1015
+ # Substitutions data for `Build` resource.
1016
+ # Corresponds to the JSON property `substitutions`
1017
+ # @return [Hash<String,String>]
1018
+ attr_accessor :substitutions
1019
+
1020
+ # Tags for annotation of a `Build`. These are not docker tags.
1021
+ # Corresponds to the JSON property `tags`
1022
+ # @return [Array<String>]
1023
+ attr_accessor :tags
1024
+
1025
+ # Amount of time that this build should be allowed to run, to second granularity.
1026
+ # If this amount of time elapses, work on the build will cease and the build
1027
+ # status will be `TIMEOUT`. `timeout` starts ticking from `startTime`. Default
1028
+ # time is ten minutes.
1029
+ # Corresponds to the JSON property `timeout`
1030
+ # @return [String]
1031
+ attr_accessor :timeout
1032
+
1033
+ # Output only. Stores timing information for phases of the build. Valid keys are:
1034
+ # * BUILD: time to execute all build steps. * PUSH: time to push all specified
1035
+ # images. * FETCHSOURCE: time to fetch source. * SETUPBUILD: time to set up
1036
+ # build. If the build does not specify source or images, these keys will not be
1037
+ # included.
1038
+ # Corresponds to the JSON property `timing`
1039
+ # @return [Hash<String,Google::Apis::ContaineranalysisV1beta1::ContaineranalysisGoogleDevtoolsCloudbuildV1TimeSpan>]
1040
+ attr_accessor :timing
1041
+
1042
+ # Output only. Non-fatal problems encountered during the execution of the build.
1043
+ # Corresponds to the JSON property `warnings`
1044
+ # @return [Array<Google::Apis::ContaineranalysisV1beta1::ContaineranalysisGoogleDevtoolsCloudbuildV1BuildWarning>]
1045
+ attr_accessor :warnings
1046
+
1047
+ def initialize(**args)
1048
+ update!(**args)
1049
+ end
1050
+
1051
+ # Update properties of this object
1052
+ def update!(**args)
1053
+ @approval = args[:approval] if args.key?(:approval)
1054
+ @artifacts = args[:artifacts] if args.key?(:artifacts)
1055
+ @available_secrets = args[:available_secrets] if args.key?(:available_secrets)
1056
+ @build_trigger_id = args[:build_trigger_id] if args.key?(:build_trigger_id)
1057
+ @create_time = args[:create_time] if args.key?(:create_time)
1058
+ @failure_info = args[:failure_info] if args.key?(:failure_info)
1059
+ @finish_time = args[:finish_time] if args.key?(:finish_time)
1060
+ @id = args[:id] if args.key?(:id)
1061
+ @images = args[:images] if args.key?(:images)
1062
+ @log_url = args[:log_url] if args.key?(:log_url)
1063
+ @logs_bucket = args[:logs_bucket] if args.key?(:logs_bucket)
1064
+ @name = args[:name] if args.key?(:name)
1065
+ @options = args[:options] if args.key?(:options)
1066
+ @project_id = args[:project_id] if args.key?(:project_id)
1067
+ @queue_ttl = args[:queue_ttl] if args.key?(:queue_ttl)
1068
+ @results = args[:results] if args.key?(:results)
1069
+ @secrets = args[:secrets] if args.key?(:secrets)
1070
+ @service_account = args[:service_account] if args.key?(:service_account)
1071
+ @source = args[:source] if args.key?(:source)
1072
+ @source_provenance = args[:source_provenance] if args.key?(:source_provenance)
1073
+ @start_time = args[:start_time] if args.key?(:start_time)
1074
+ @status = args[:status] if args.key?(:status)
1075
+ @status_detail = args[:status_detail] if args.key?(:status_detail)
1076
+ @steps = args[:steps] if args.key?(:steps)
1077
+ @substitutions = args[:substitutions] if args.key?(:substitutions)
1078
+ @tags = args[:tags] if args.key?(:tags)
1079
+ @timeout = args[:timeout] if args.key?(:timeout)
1080
+ @timing = args[:timing] if args.key?(:timing)
1081
+ @warnings = args[:warnings] if args.key?(:warnings)
1082
+ end
1083
+ end
1084
+
1085
+ # BuildApproval describes a build's approval configuration, state, and result.
1086
+ class ContaineranalysisGoogleDevtoolsCloudbuildV1BuildApproval
1087
+ include Google::Apis::Core::Hashable
1088
+
1089
+ # ApprovalConfig describes configuration for manual approval of a build.
1090
+ # Corresponds to the JSON property `config`
1091
+ # @return [Google::Apis::ContaineranalysisV1beta1::ContaineranalysisGoogleDevtoolsCloudbuildV1ApprovalConfig]
1092
+ attr_accessor :config
1093
+
1094
+ # ApprovalResult describes the decision and associated metadata of a manual
1095
+ # approval of a build.
1096
+ # Corresponds to the JSON property `result`
1097
+ # @return [Google::Apis::ContaineranalysisV1beta1::ContaineranalysisGoogleDevtoolsCloudbuildV1ApprovalResult]
1098
+ attr_accessor :result
1099
+
1100
+ # Output only. The state of this build's approval.
1101
+ # Corresponds to the JSON property `state`
1102
+ # @return [String]
1103
+ attr_accessor :state
1104
+
1105
+ def initialize(**args)
1106
+ update!(**args)
1107
+ end
1108
+
1109
+ # Update properties of this object
1110
+ def update!(**args)
1111
+ @config = args[:config] if args.key?(:config)
1112
+ @result = args[:result] if args.key?(:result)
1113
+ @state = args[:state] if args.key?(:state)
1114
+ end
1115
+ end
1116
+
1117
+ # A fatal problem encountered during the execution of the build.
1118
+ class ContaineranalysisGoogleDevtoolsCloudbuildV1BuildFailureInfo
1119
+ include Google::Apis::Core::Hashable
1120
+
1121
+ # Explains the failure issue in more detail using hard-coded text.
1122
+ # Corresponds to the JSON property `detail`
1123
+ # @return [String]
1124
+ attr_accessor :detail
1125
+
1126
+ # The name of the failure.
1127
+ # Corresponds to the JSON property `type`
1128
+ # @return [String]
1129
+ attr_accessor :type
1130
+
1131
+ def initialize(**args)
1132
+ update!(**args)
1133
+ end
1134
+
1135
+ # Update properties of this object
1136
+ def update!(**args)
1137
+ @detail = args[:detail] if args.key?(:detail)
1138
+ @type = args[:type] if args.key?(:type)
1139
+ end
1140
+ end
1141
+
1142
+ # Optional arguments to enable specific features of builds.
1143
+ class ContaineranalysisGoogleDevtoolsCloudbuildV1BuildOptions
1144
+ include Google::Apis::Core::Hashable
1145
+
1146
+ # Requested disk size for the VM that runs the build. Note that this is *NOT* "
1147
+ # disk free"; some of the space will be used by the operating system and build
1148
+ # utilities. Also note that this is the minimum disk size that will be allocated
1149
+ # for the build -- the build may run with a larger disk than requested. At
1150
+ # present, the maximum disk size is 1000GB; builds that request more than the
1151
+ # maximum are rejected with an error.
1152
+ # Corresponds to the JSON property `diskSizeGb`
1153
+ # @return [Fixnum]
1154
+ attr_accessor :disk_size_gb
1155
+
1156
+ # Option to specify whether or not to apply bash style string operations to the
1157
+ # substitutions. NOTE: this is always enabled for triggered builds and cannot be
1158
+ # overridden in the build configuration file.
1159
+ # Corresponds to the JSON property `dynamicSubstitutions`
1160
+ # @return [Boolean]
1161
+ attr_accessor :dynamic_substitutions
1162
+ alias_method :dynamic_substitutions?, :dynamic_substitutions
1163
+
1164
+ # A list of global environment variable definitions that will exist for all
1165
+ # build steps in this build. If a variable is defined in both globally and in a
1166
+ # build step, the variable will use the build step value. The elements are of
1167
+ # the form "KEY=VALUE" for the environment variable "KEY" being given the value "
1168
+ # VALUE".
1169
+ # Corresponds to the JSON property `env`
1170
+ # @return [Array<String>]
1171
+ attr_accessor :env
1172
+
1173
+ # Option to define build log streaming behavior to Google Cloud Storage.
1174
+ # Corresponds to the JSON property `logStreamingOption`
1175
+ # @return [String]
1176
+ attr_accessor :log_streaming_option
1177
+
1178
+ # Option to specify the logging mode, which determines if and where build logs
1179
+ # are stored.
1180
+ # Corresponds to the JSON property `logging`
1181
+ # @return [String]
1182
+ attr_accessor :logging
1183
+
1184
+ # Compute Engine machine type on which to run the build.
1185
+ # Corresponds to the JSON property `machineType`
1186
+ # @return [String]
1187
+ attr_accessor :machine_type
1188
+
1189
+ # Details about how a build should be executed on a `WorkerPool`. See [running
1190
+ # builds in a private pool](https://cloud.google.com/build/docs/private-pools/
1191
+ # run-builds-in-private-pool) for more information.
1192
+ # Corresponds to the JSON property `pool`
1193
+ # @return [Google::Apis::ContaineranalysisV1beta1::ContaineranalysisGoogleDevtoolsCloudbuildV1BuildOptionsPoolOption]
1194
+ attr_accessor :pool
1195
+
1196
+ # Requested verifiability options.
1197
+ # Corresponds to the JSON property `requestedVerifyOption`
1198
+ # @return [String]
1199
+ attr_accessor :requested_verify_option
1200
+
1201
+ # A list of global environment variables, which are encrypted using a Cloud Key
1202
+ # Management Service crypto key. These values must be specified in the build's `
1203
+ # Secret`. These variables will be available to all build steps in this build.
1204
+ # Corresponds to the JSON property `secretEnv`
1205
+ # @return [Array<String>]
1206
+ attr_accessor :secret_env
1207
+
1208
+ # Requested hash for SourceProvenance.
1209
+ # Corresponds to the JSON property `sourceProvenanceHash`
1210
+ # @return [Array<String>]
1211
+ attr_accessor :source_provenance_hash
1212
+
1213
+ # Option to specify behavior when there is an error in the substitution checks.
1214
+ # NOTE: this is always set to ALLOW_LOOSE for triggered builds and cannot be
1215
+ # overridden in the build configuration file.
1216
+ # Corresponds to the JSON property `substitutionOption`
1217
+ # @return [String]
1218
+ attr_accessor :substitution_option
1219
+
1220
+ # Global list of volumes to mount for ALL build steps Each volume is created as
1221
+ # an empty volume prior to starting the build process. Upon completion of the
1222
+ # build, volumes and their contents are discarded. Global volume names and paths
1223
+ # cannot conflict with the volumes defined a build step. Using a global volume
1224
+ # in a build with only one step is not valid as it is indicative of a build
1225
+ # request with an incorrect configuration.
1226
+ # Corresponds to the JSON property `volumes`
1227
+ # @return [Array<Google::Apis::ContaineranalysisV1beta1::ContaineranalysisGoogleDevtoolsCloudbuildV1Volume>]
1228
+ attr_accessor :volumes
1229
+
1230
+ # This field deprecated; please use `pool.name` instead.
1231
+ # Corresponds to the JSON property `workerPool`
1232
+ # @return [String]
1233
+ attr_accessor :worker_pool
1234
+
1235
+ def initialize(**args)
1236
+ update!(**args)
1237
+ end
1238
+
1239
+ # Update properties of this object
1240
+ def update!(**args)
1241
+ @disk_size_gb = args[:disk_size_gb] if args.key?(:disk_size_gb)
1242
+ @dynamic_substitutions = args[:dynamic_substitutions] if args.key?(:dynamic_substitutions)
1243
+ @env = args[:env] if args.key?(:env)
1244
+ @log_streaming_option = args[:log_streaming_option] if args.key?(:log_streaming_option)
1245
+ @logging = args[:logging] if args.key?(:logging)
1246
+ @machine_type = args[:machine_type] if args.key?(:machine_type)
1247
+ @pool = args[:pool] if args.key?(:pool)
1248
+ @requested_verify_option = args[:requested_verify_option] if args.key?(:requested_verify_option)
1249
+ @secret_env = args[:secret_env] if args.key?(:secret_env)
1250
+ @source_provenance_hash = args[:source_provenance_hash] if args.key?(:source_provenance_hash)
1251
+ @substitution_option = args[:substitution_option] if args.key?(:substitution_option)
1252
+ @volumes = args[:volumes] if args.key?(:volumes)
1253
+ @worker_pool = args[:worker_pool] if args.key?(:worker_pool)
1254
+ end
1255
+ end
1256
+
1257
+ # Details about how a build should be executed on a `WorkerPool`. See [running
1258
+ # builds in a private pool](https://cloud.google.com/build/docs/private-pools/
1259
+ # run-builds-in-private-pool) for more information.
1260
+ class ContaineranalysisGoogleDevtoolsCloudbuildV1BuildOptionsPoolOption
1261
+ include Google::Apis::Core::Hashable
1262
+
1263
+ # The `WorkerPool` resource to execute the build on. You must have `cloudbuild.
1264
+ # workerpools.use` on the project hosting the WorkerPool. Format projects/`
1265
+ # project`/locations/`location`/workerPools/`workerPoolId`
1266
+ # Corresponds to the JSON property `name`
1267
+ # @return [String]
1268
+ attr_accessor :name
1269
+
1270
+ def initialize(**args)
1271
+ update!(**args)
1272
+ end
1273
+
1274
+ # Update properties of this object
1275
+ def update!(**args)
1276
+ @name = args[:name] if args.key?(:name)
1277
+ end
1278
+ end
1279
+
1280
+ # A step in the build pipeline.
1281
+ class ContaineranalysisGoogleDevtoolsCloudbuildV1BuildStep
1282
+ include Google::Apis::Core::Hashable
1283
+
1284
+ # A list of arguments that will be presented to the step when it is started. If
1285
+ # the image used to run the step's container has an entrypoint, the `args` are
1286
+ # used as arguments to that entrypoint. If the image does not define an
1287
+ # entrypoint, the first element in args is used as the entrypoint, and the
1288
+ # remainder will be used as arguments.
1289
+ # Corresponds to the JSON property `args`
1290
+ # @return [Array<String>]
1291
+ attr_accessor :args
1292
+
1293
+ # Working directory to use when running this step's container. If this value is
1294
+ # a relative path, it is relative to the build's working directory. If this
1295
+ # value is absolute, it may be outside the build's working directory, in which
1296
+ # case the contents of the path may not be persisted across build step
1297
+ # executions, unless a `volume` for that path is specified. If the build
1298
+ # specifies a `RepoSource` with `dir` and a step with a `dir`, which specifies
1299
+ # an absolute path, the `RepoSource` `dir` is ignored for the step's execution.
1300
+ # Corresponds to the JSON property `dir`
1301
+ # @return [String]
1302
+ attr_accessor :dir
1303
+
1304
+ # Entrypoint to be used instead of the build step image's default entrypoint. If
1305
+ # unset, the image's default entrypoint is used.
1306
+ # Corresponds to the JSON property `entrypoint`
1307
+ # @return [String]
1308
+ attr_accessor :entrypoint
1309
+
1310
+ # A list of environment variable definitions to be used when running a step. The
1311
+ # elements are of the form "KEY=VALUE" for the environment variable "KEY" being
1312
+ # given the value "VALUE".
1313
+ # Corresponds to the JSON property `env`
1314
+ # @return [Array<String>]
1315
+ attr_accessor :env
1316
+
1317
+ # Unique identifier for this build step, used in `wait_for` to reference this
1318
+ # build step as a dependency.
1319
+ # Corresponds to the JSON property `id`
1320
+ # @return [String]
1321
+ attr_accessor :id
1322
+
1323
+ # Required. The name of the container image that will run this particular build
1324
+ # step. If the image is available in the host's Docker daemon's cache, it will
1325
+ # be run directly. If not, the host will attempt to pull the image first, using
1326
+ # the builder service account's credentials if necessary. The Docker daemon's
1327
+ # cache will already have the latest versions of all of the officially supported
1328
+ # build steps ([https://github.com/GoogleCloudPlatform/cloud-builders](https://
1329
+ # github.com/GoogleCloudPlatform/cloud-builders)). The Docker daemon will also
1330
+ # have cached many of the layers for some popular images, like "ubuntu", "debian"
1331
+ # , but they will be refreshed at the time you attempt to use them. If you built
1332
+ # an image in a previous build step, it will be stored in the host's Docker
1333
+ # daemon's cache and is available to use as the name for a later build step.
1334
+ # Corresponds to the JSON property `name`
1335
+ # @return [String]
1336
+ attr_accessor :name
1337
+
1338
+ # Start and end times for a build execution phase.
1339
+ # Corresponds to the JSON property `pullTiming`
1340
+ # @return [Google::Apis::ContaineranalysisV1beta1::ContaineranalysisGoogleDevtoolsCloudbuildV1TimeSpan]
1341
+ attr_accessor :pull_timing
1342
+
1343
+ # A shell script to be executed in the step. When script is provided, the user
1344
+ # cannot specify the entrypoint or args.
1345
+ # Corresponds to the JSON property `script`
1346
+ # @return [String]
1347
+ attr_accessor :script
1348
+
1349
+ # A list of environment variables which are encrypted using a Cloud Key
1350
+ # Management Service crypto key. These values must be specified in the build's `
1351
+ # Secret`.
1352
+ # Corresponds to the JSON property `secretEnv`
1353
+ # @return [Array<String>]
1354
+ attr_accessor :secret_env
1355
+
1356
+ # Output only. Status of the build step. At this time, build step status is only
1357
+ # updated on build completion; step status is not updated in real-time as the
1358
+ # build progresses.
1359
+ # Corresponds to the JSON property `status`
1360
+ # @return [String]
1361
+ attr_accessor :status
1362
+
1363
+ # Time limit for executing this build step. If not defined, the step has no time
1364
+ # limit and will be allowed to continue to run until either it completes or the
1365
+ # build itself times out.
1366
+ # Corresponds to the JSON property `timeout`
1367
+ # @return [String]
1368
+ attr_accessor :timeout
1369
+
1370
+ # Start and end times for a build execution phase.
1371
+ # Corresponds to the JSON property `timing`
1372
+ # @return [Google::Apis::ContaineranalysisV1beta1::ContaineranalysisGoogleDevtoolsCloudbuildV1TimeSpan]
1373
+ attr_accessor :timing
1374
+
1375
+ # List of volumes to mount into the build step. Each volume is created as an
1376
+ # empty volume prior to execution of the build step. Upon completion of the
1377
+ # build, volumes and their contents are discarded. Using a named volume in only
1378
+ # one step is not valid as it is indicative of a build request with an incorrect
1379
+ # configuration.
1380
+ # Corresponds to the JSON property `volumes`
1381
+ # @return [Array<Google::Apis::ContaineranalysisV1beta1::ContaineranalysisGoogleDevtoolsCloudbuildV1Volume>]
1382
+ attr_accessor :volumes
1383
+
1384
+ # The ID(s) of the step(s) that this build step depends on. This build step will
1385
+ # not start until all the build steps in `wait_for` have completed successfully.
1386
+ # If `wait_for` is empty, this build step will start when all previous build
1387
+ # steps in the `Build.Steps` list have completed successfully.
1388
+ # Corresponds to the JSON property `waitFor`
1389
+ # @return [Array<String>]
1390
+ attr_accessor :wait_for
1391
+
1392
+ def initialize(**args)
1393
+ update!(**args)
1394
+ end
1395
+
1396
+ # Update properties of this object
1397
+ def update!(**args)
1398
+ @args = args[:args] if args.key?(:args)
1399
+ @dir = args[:dir] if args.key?(:dir)
1400
+ @entrypoint = args[:entrypoint] if args.key?(:entrypoint)
1401
+ @env = args[:env] if args.key?(:env)
1402
+ @id = args[:id] if args.key?(:id)
1403
+ @name = args[:name] if args.key?(:name)
1404
+ @pull_timing = args[:pull_timing] if args.key?(:pull_timing)
1405
+ @script = args[:script] if args.key?(:script)
1406
+ @secret_env = args[:secret_env] if args.key?(:secret_env)
1407
+ @status = args[:status] if args.key?(:status)
1408
+ @timeout = args[:timeout] if args.key?(:timeout)
1409
+ @timing = args[:timing] if args.key?(:timing)
1410
+ @volumes = args[:volumes] if args.key?(:volumes)
1411
+ @wait_for = args[:wait_for] if args.key?(:wait_for)
1412
+ end
1413
+ end
1414
+
1415
+ # A non-fatal problem encountered during the execution of the build.
1416
+ class ContaineranalysisGoogleDevtoolsCloudbuildV1BuildWarning
1417
+ include Google::Apis::Core::Hashable
1418
+
1419
+ # The priority for this warning.
1420
+ # Corresponds to the JSON property `priority`
1421
+ # @return [String]
1422
+ attr_accessor :priority
1423
+
1424
+ # Explanation of the warning generated.
1425
+ # Corresponds to the JSON property `text`
1426
+ # @return [String]
1427
+ attr_accessor :text
1428
+
1429
+ def initialize(**args)
1430
+ update!(**args)
1431
+ end
1432
+
1433
+ # Update properties of this object
1434
+ def update!(**args)
1435
+ @priority = args[:priority] if args.key?(:priority)
1436
+ @text = args[:text] if args.key?(:text)
1437
+ end
1438
+ end
1439
+
1440
+ # An image built by the pipeline.
1441
+ class ContaineranalysisGoogleDevtoolsCloudbuildV1BuiltImage
1442
+ include Google::Apis::Core::Hashable
1443
+
1444
+ # Docker Registry 2.0 digest.
1445
+ # Corresponds to the JSON property `digest`
1446
+ # @return [String]
1447
+ attr_accessor :digest
1448
+
1449
+ # Name used to push the container image to Google Container Registry, as
1450
+ # presented to `docker push`.
1451
+ # Corresponds to the JSON property `name`
1452
+ # @return [String]
1453
+ attr_accessor :name
1454
+
1455
+ # Start and end times for a build execution phase.
1456
+ # Corresponds to the JSON property `pushTiming`
1457
+ # @return [Google::Apis::ContaineranalysisV1beta1::ContaineranalysisGoogleDevtoolsCloudbuildV1TimeSpan]
1458
+ attr_accessor :push_timing
1459
+
1460
+ def initialize(**args)
1461
+ update!(**args)
1462
+ end
1463
+
1464
+ # Update properties of this object
1465
+ def update!(**args)
1466
+ @digest = args[:digest] if args.key?(:digest)
1467
+ @name = args[:name] if args.key?(:name)
1468
+ @push_timing = args[:push_timing] if args.key?(:push_timing)
1469
+ end
1470
+ end
1471
+
1472
+ # Container message for hashes of byte content of files, used in
1473
+ # SourceProvenance messages to verify integrity of source input to the build.
1474
+ class ContaineranalysisGoogleDevtoolsCloudbuildV1FileHashes
1475
+ include Google::Apis::Core::Hashable
1476
+
1477
+ # Collection of file hashes.
1478
+ # Corresponds to the JSON property `fileHash`
1479
+ # @return [Array<Google::Apis::ContaineranalysisV1beta1::ContaineranalysisGoogleDevtoolsCloudbuildV1Hash>]
1480
+ attr_accessor :file_hash
1481
+
1482
+ def initialize(**args)
1483
+ update!(**args)
1484
+ end
1485
+
1486
+ # Update properties of this object
1487
+ def update!(**args)
1488
+ @file_hash = args[:file_hash] if args.key?(:file_hash)
1489
+ end
1490
+ end
1491
+
1492
+ # Container message for hash values.
1493
+ class ContaineranalysisGoogleDevtoolsCloudbuildV1Hash
1494
+ include Google::Apis::Core::Hashable
1495
+
1496
+ # The type of hash that was performed.
1497
+ # Corresponds to the JSON property `type`
1498
+ # @return [String]
1499
+ attr_accessor :type
1500
+
1501
+ # The hash value.
1502
+ # Corresponds to the JSON property `value`
1503
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
1504
+ # @return [String]
1505
+ attr_accessor :value
1506
+
1507
+ def initialize(**args)
1508
+ update!(**args)
1509
+ end
1510
+
1511
+ # Update properties of this object
1512
+ def update!(**args)
1513
+ @type = args[:type] if args.key?(:type)
1514
+ @value = args[:value] if args.key?(:value)
1515
+ end
1516
+ end
1517
+
1518
+ # Pairs a set of secret environment variables mapped to encrypted values with
1519
+ # the Cloud KMS key to use to decrypt the value.
1520
+ class ContaineranalysisGoogleDevtoolsCloudbuildV1InlineSecret
1521
+ include Google::Apis::Core::Hashable
1522
+
1523
+ # Map of environment variable name to its encrypted value. Secret environment
1524
+ # variables must be unique across all of a build's secrets, and must be used by
1525
+ # at least one build step. Values can be at most 64 KB in size. There can be at
1526
+ # most 100 secret values across all of a build's secrets.
1527
+ # Corresponds to the JSON property `envMap`
1528
+ # @return [Hash<String,String>]
1529
+ attr_accessor :env_map
1530
+
1531
+ # Resource name of Cloud KMS crypto key to decrypt the encrypted value. In
1532
+ # format: projects/*/locations/*/keyRings/*/cryptoKeys/*
1533
+ # Corresponds to the JSON property `kmsKeyName`
1534
+ # @return [String]
1535
+ attr_accessor :kms_key_name
1536
+
1537
+ def initialize(**args)
1538
+ update!(**args)
1539
+ end
1540
+
1541
+ # Update properties of this object
1542
+ def update!(**args)
1543
+ @env_map = args[:env_map] if args.key?(:env_map)
1544
+ @kms_key_name = args[:kms_key_name] if args.key?(:kms_key_name)
1545
+ end
1546
+ end
1547
+
1548
+ # Location of the source in a Google Cloud Source Repository.
1549
+ class ContaineranalysisGoogleDevtoolsCloudbuildV1RepoSource
1550
+ include Google::Apis::Core::Hashable
1551
+
1552
+ # Regex matching branches to build. The syntax of the regular expressions
1553
+ # accepted is the syntax accepted by RE2 and described at https://github.com/
1554
+ # google/re2/wiki/Syntax
1555
+ # Corresponds to the JSON property `branchName`
1556
+ # @return [String]
1557
+ attr_accessor :branch_name
1558
+
1559
+ # Explicit commit SHA to build.
1560
+ # Corresponds to the JSON property `commitSha`
1561
+ # @return [String]
1562
+ attr_accessor :commit_sha
1563
+
1564
+ # Directory, relative to the source root, in which to run the build. This must
1565
+ # be a relative path. If a step's `dir` is specified and is an absolute path,
1566
+ # this value is ignored for that step's execution.
1567
+ # Corresponds to the JSON property `dir`
1568
+ # @return [String]
1569
+ attr_accessor :dir
1570
+
1571
+ # Only trigger a build if the revision regex does NOT match the revision regex.
1572
+ # Corresponds to the JSON property `invertRegex`
1573
+ # @return [Boolean]
1574
+ attr_accessor :invert_regex
1575
+ alias_method :invert_regex?, :invert_regex
1576
+
1577
+ # ID of the project that owns the Cloud Source Repository. If omitted, the
1578
+ # project ID requesting the build is assumed.
1579
+ # Corresponds to the JSON property `projectId`
1580
+ # @return [String]
1581
+ attr_accessor :project_id
1582
+
1583
+ # Name of the Cloud Source Repository.
1584
+ # Corresponds to the JSON property `repoName`
1585
+ # @return [String]
1586
+ attr_accessor :repo_name
1587
+
1588
+ # Substitutions to use in a triggered build. Should only be used with
1589
+ # RunBuildTrigger
1590
+ # Corresponds to the JSON property `substitutions`
1591
+ # @return [Hash<String,String>]
1592
+ attr_accessor :substitutions
1593
+
1594
+ # Regex matching tags to build. The syntax of the regular expressions accepted
1595
+ # is the syntax accepted by RE2 and described at https://github.com/google/re2/
1596
+ # wiki/Syntax
1597
+ # Corresponds to the JSON property `tagName`
1598
+ # @return [String]
1599
+ attr_accessor :tag_name
1600
+
1601
+ def initialize(**args)
1602
+ update!(**args)
1603
+ end
1604
+
1605
+ # Update properties of this object
1606
+ def update!(**args)
1607
+ @branch_name = args[:branch_name] if args.key?(:branch_name)
1608
+ @commit_sha = args[:commit_sha] if args.key?(:commit_sha)
1609
+ @dir = args[:dir] if args.key?(:dir)
1610
+ @invert_regex = args[:invert_regex] if args.key?(:invert_regex)
1611
+ @project_id = args[:project_id] if args.key?(:project_id)
1612
+ @repo_name = args[:repo_name] if args.key?(:repo_name)
1613
+ @substitutions = args[:substitutions] if args.key?(:substitutions)
1614
+ @tag_name = args[:tag_name] if args.key?(:tag_name)
1615
+ end
1616
+ end
1617
+
1618
+ # Artifacts created by the build pipeline.
1619
+ class ContaineranalysisGoogleDevtoolsCloudbuildV1Results
1620
+ include Google::Apis::Core::Hashable
1621
+
1622
+ # Path to the artifact manifest. Only populated when artifacts are uploaded.
1623
+ # Corresponds to the JSON property `artifactManifest`
1624
+ # @return [String]
1625
+ attr_accessor :artifact_manifest
1626
+
1627
+ # Start and end times for a build execution phase.
1628
+ # Corresponds to the JSON property `artifactTiming`
1629
+ # @return [Google::Apis::ContaineranalysisV1beta1::ContaineranalysisGoogleDevtoolsCloudbuildV1TimeSpan]
1630
+ attr_accessor :artifact_timing
1631
+
1632
+ # List of build step digests, in the order corresponding to build step indices.
1633
+ # Corresponds to the JSON property `buildStepImages`
1634
+ # @return [Array<String>]
1635
+ attr_accessor :build_step_images
1636
+
1637
+ # List of build step outputs, produced by builder images, in the order
1638
+ # corresponding to build step indices. [Cloud Builders](https://cloud.google.com/
1639
+ # cloud-build/docs/cloud-builders) can produce this output by writing to `$
1640
+ # BUILDER_OUTPUT/output`. Only the first 4KB of data is stored.
1641
+ # Corresponds to the JSON property `buildStepOutputs`
1642
+ # @return [Array<String>]
1643
+ attr_accessor :build_step_outputs
1644
+
1645
+ # Container images that were built as a part of the build.
1646
+ # Corresponds to the JSON property `images`
1647
+ # @return [Array<Google::Apis::ContaineranalysisV1beta1::ContaineranalysisGoogleDevtoolsCloudbuildV1BuiltImage>]
1648
+ attr_accessor :images
1649
+
1650
+ # Number of artifacts uploaded. Only populated when artifacts are uploaded.
1651
+ # Corresponds to the JSON property `numArtifacts`
1652
+ # @return [Fixnum]
1653
+ attr_accessor :num_artifacts
1654
+
1655
+ def initialize(**args)
1656
+ update!(**args)
1657
+ end
1658
+
1659
+ # Update properties of this object
1660
+ def update!(**args)
1661
+ @artifact_manifest = args[:artifact_manifest] if args.key?(:artifact_manifest)
1662
+ @artifact_timing = args[:artifact_timing] if args.key?(:artifact_timing)
1663
+ @build_step_images = args[:build_step_images] if args.key?(:build_step_images)
1664
+ @build_step_outputs = args[:build_step_outputs] if args.key?(:build_step_outputs)
1665
+ @images = args[:images] if args.key?(:images)
1666
+ @num_artifacts = args[:num_artifacts] if args.key?(:num_artifacts)
1667
+ end
1668
+ end
1669
+
1670
+ # Pairs a set of secret environment variables containing encrypted values with
1671
+ # the Cloud KMS key to use to decrypt the value. Note: Use `kmsKeyName` with `
1672
+ # available_secrets` instead of using `kmsKeyName` with `secret`. For
1673
+ # instructions see: https://cloud.google.com/cloud-build/docs/securing-builds/
1674
+ # use-encrypted-credentials.
1675
+ class ContaineranalysisGoogleDevtoolsCloudbuildV1Secret
1676
+ include Google::Apis::Core::Hashable
1677
+
1678
+ # Cloud KMS key name to use to decrypt these envs.
1679
+ # Corresponds to the JSON property `kmsKeyName`
1680
+ # @return [String]
1681
+ attr_accessor :kms_key_name
1682
+
1683
+ # Map of environment variable name to its encrypted value. Secret environment
1684
+ # variables must be unique across all of a build's secrets, and must be used by
1685
+ # at least one build step. Values can be at most 64 KB in size. There can be at
1686
+ # most 100 secret values across all of a build's secrets.
1687
+ # Corresponds to the JSON property `secretEnv`
1688
+ # @return [Hash<String,String>]
1689
+ attr_accessor :secret_env
1690
+
1691
+ def initialize(**args)
1692
+ update!(**args)
1693
+ end
1694
+
1695
+ # Update properties of this object
1696
+ def update!(**args)
1697
+ @kms_key_name = args[:kms_key_name] if args.key?(:kms_key_name)
1698
+ @secret_env = args[:secret_env] if args.key?(:secret_env)
1699
+ end
1700
+ end
1701
+
1702
+ # Pairs a secret environment variable with a SecretVersion in Secret Manager.
1703
+ class ContaineranalysisGoogleDevtoolsCloudbuildV1SecretManagerSecret
1704
+ include Google::Apis::Core::Hashable
1705
+
1706
+ # Environment variable name to associate with the secret. Secret environment
1707
+ # variables must be unique across all of a build's secrets, and must be used by
1708
+ # at least one build step.
1709
+ # Corresponds to the JSON property `env`
1710
+ # @return [String]
1711
+ attr_accessor :env
1712
+
1713
+ # Resource name of the SecretVersion. In format: projects/*/secrets/*/versions/*
1714
+ # Corresponds to the JSON property `versionName`
1715
+ # @return [String]
1716
+ attr_accessor :version_name
1717
+
1718
+ def initialize(**args)
1719
+ update!(**args)
1720
+ end
1721
+
1722
+ # Update properties of this object
1723
+ def update!(**args)
1724
+ @env = args[:env] if args.key?(:env)
1725
+ @version_name = args[:version_name] if args.key?(:version_name)
1726
+ end
1727
+ end
1728
+
1729
+ # Secrets and secret environment variables.
1730
+ class ContaineranalysisGoogleDevtoolsCloudbuildV1Secrets
1731
+ include Google::Apis::Core::Hashable
1732
+
1733
+ # Secrets encrypted with KMS key and the associated secret environment variable.
1734
+ # Corresponds to the JSON property `inline`
1735
+ # @return [Array<Google::Apis::ContaineranalysisV1beta1::ContaineranalysisGoogleDevtoolsCloudbuildV1InlineSecret>]
1736
+ attr_accessor :inline
1737
+
1738
+ # Secrets in Secret Manager and associated secret environment variable.
1739
+ # Corresponds to the JSON property `secretManager`
1740
+ # @return [Array<Google::Apis::ContaineranalysisV1beta1::ContaineranalysisGoogleDevtoolsCloudbuildV1SecretManagerSecret>]
1741
+ attr_accessor :secret_manager
1742
+
1743
+ def initialize(**args)
1744
+ update!(**args)
1745
+ end
1746
+
1747
+ # Update properties of this object
1748
+ def update!(**args)
1749
+ @inline = args[:inline] if args.key?(:inline)
1750
+ @secret_manager = args[:secret_manager] if args.key?(:secret_manager)
1751
+ end
1752
+ end
1753
+
1754
+ # Location of the source in a supported storage service.
1755
+ class ContaineranalysisGoogleDevtoolsCloudbuildV1Source
1756
+ include Google::Apis::Core::Hashable
1757
+
1758
+ # Location of the source in a Google Cloud Source Repository.
1759
+ # Corresponds to the JSON property `repoSource`
1760
+ # @return [Google::Apis::ContaineranalysisV1beta1::ContaineranalysisGoogleDevtoolsCloudbuildV1RepoSource]
1761
+ attr_accessor :repo_source
1762
+
1763
+ # Location of the source in an archive file in Google Cloud Storage.
1764
+ # Corresponds to the JSON property `storageSource`
1765
+ # @return [Google::Apis::ContaineranalysisV1beta1::ContaineranalysisGoogleDevtoolsCloudbuildV1StorageSource]
1766
+ attr_accessor :storage_source
1767
+
1768
+ # Location of the source manifest in Google Cloud Storage. This feature is in
1769
+ # Preview; see description [here](https://github.com/GoogleCloudPlatform/cloud-
1770
+ # builders/tree/master/gcs-fetcher).
1771
+ # Corresponds to the JSON property `storageSourceManifest`
1772
+ # @return [Google::Apis::ContaineranalysisV1beta1::ContaineranalysisGoogleDevtoolsCloudbuildV1StorageSourceManifest]
1773
+ attr_accessor :storage_source_manifest
1774
+
1775
+ def initialize(**args)
1776
+ update!(**args)
1777
+ end
1778
+
1779
+ # Update properties of this object
1780
+ def update!(**args)
1781
+ @repo_source = args[:repo_source] if args.key?(:repo_source)
1782
+ @storage_source = args[:storage_source] if args.key?(:storage_source)
1783
+ @storage_source_manifest = args[:storage_source_manifest] if args.key?(:storage_source_manifest)
1784
+ end
1785
+ end
1786
+
1787
+ # Provenance of the source. Ways to find the original source, or verify that
1788
+ # some source was used for this build.
1789
+ class ContaineranalysisGoogleDevtoolsCloudbuildV1SourceProvenance
1790
+ include Google::Apis::Core::Hashable
1791
+
1792
+ # Output only. Hash(es) of the build source, which can be used to verify that
1793
+ # the original source integrity was maintained in the build. Note that `
1794
+ # FileHashes` will only be populated if `BuildOptions` has requested a `
1795
+ # SourceProvenanceHash`. The keys to this map are file paths used as build
1796
+ # source and the values contain the hash values for those files. If the build
1797
+ # source came in a single package such as a gzipped tarfile (`.tar.gz`), the `
1798
+ # FileHash` will be for the single path to that file.
1799
+ # Corresponds to the JSON property `fileHashes`
1800
+ # @return [Hash<String,Google::Apis::ContaineranalysisV1beta1::ContaineranalysisGoogleDevtoolsCloudbuildV1FileHashes>]
1801
+ attr_accessor :file_hashes
1802
+
1803
+ # Location of the source in a Google Cloud Source Repository.
1804
+ # Corresponds to the JSON property `resolvedRepoSource`
1805
+ # @return [Google::Apis::ContaineranalysisV1beta1::ContaineranalysisGoogleDevtoolsCloudbuildV1RepoSource]
1806
+ attr_accessor :resolved_repo_source
1807
+
1808
+ # Location of the source in an archive file in Google Cloud Storage.
1809
+ # Corresponds to the JSON property `resolvedStorageSource`
1810
+ # @return [Google::Apis::ContaineranalysisV1beta1::ContaineranalysisGoogleDevtoolsCloudbuildV1StorageSource]
1811
+ attr_accessor :resolved_storage_source
1812
+
1813
+ # Location of the source manifest in Google Cloud Storage. This feature is in
1814
+ # Preview; see description [here](https://github.com/GoogleCloudPlatform/cloud-
1815
+ # builders/tree/master/gcs-fetcher).
1816
+ # Corresponds to the JSON property `resolvedStorageSourceManifest`
1817
+ # @return [Google::Apis::ContaineranalysisV1beta1::ContaineranalysisGoogleDevtoolsCloudbuildV1StorageSourceManifest]
1818
+ attr_accessor :resolved_storage_source_manifest
1819
+
1820
+ def initialize(**args)
1821
+ update!(**args)
1822
+ end
1823
+
1824
+ # Update properties of this object
1825
+ def update!(**args)
1826
+ @file_hashes = args[:file_hashes] if args.key?(:file_hashes)
1827
+ @resolved_repo_source = args[:resolved_repo_source] if args.key?(:resolved_repo_source)
1828
+ @resolved_storage_source = args[:resolved_storage_source] if args.key?(:resolved_storage_source)
1829
+ @resolved_storage_source_manifest = args[:resolved_storage_source_manifest] if args.key?(:resolved_storage_source_manifest)
1830
+ end
1831
+ end
1832
+
1833
+ # Location of the source in an archive file in Google Cloud Storage.
1834
+ class ContaineranalysisGoogleDevtoolsCloudbuildV1StorageSource
1835
+ include Google::Apis::Core::Hashable
1836
+
1837
+ # Google Cloud Storage bucket containing the source (see [Bucket Name
1838
+ # Requirements](https://cloud.google.com/storage/docs/bucket-naming#requirements)
1839
+ # ).
1840
+ # Corresponds to the JSON property `bucket`
1841
+ # @return [String]
1842
+ attr_accessor :bucket
1843
+
1844
+ # Google Cloud Storage generation for the object. If the generation is omitted,
1845
+ # the latest generation will be used.
1846
+ # Corresponds to the JSON property `generation`
1847
+ # @return [Fixnum]
1848
+ attr_accessor :generation
1849
+
1850
+ # Google Cloud Storage object containing the source. This object must be a
1851
+ # zipped (`.zip`) or gzipped archive file (`.tar.gz`) containing source to build.
1852
+ # Corresponds to the JSON property `object`
1853
+ # @return [String]
1854
+ attr_accessor :object
1855
+
1856
+ def initialize(**args)
1857
+ update!(**args)
1858
+ end
1859
+
1860
+ # Update properties of this object
1861
+ def update!(**args)
1862
+ @bucket = args[:bucket] if args.key?(:bucket)
1863
+ @generation = args[:generation] if args.key?(:generation)
1864
+ @object = args[:object] if args.key?(:object)
1865
+ end
1866
+ end
1867
+
1868
+ # Location of the source manifest in Google Cloud Storage. This feature is in
1869
+ # Preview; see description [here](https://github.com/GoogleCloudPlatform/cloud-
1870
+ # builders/tree/master/gcs-fetcher).
1871
+ class ContaineranalysisGoogleDevtoolsCloudbuildV1StorageSourceManifest
1872
+ include Google::Apis::Core::Hashable
1873
+
1874
+ # Google Cloud Storage bucket containing the source manifest (see [Bucket Name
1875
+ # Requirements](https://cloud.google.com/storage/docs/bucket-naming#requirements)
1876
+ # ).
1877
+ # Corresponds to the JSON property `bucket`
1878
+ # @return [String]
1879
+ attr_accessor :bucket
1880
+
1881
+ # Google Cloud Storage generation for the object. If the generation is omitted,
1882
+ # the latest generation will be used.
1883
+ # Corresponds to the JSON property `generation`
1884
+ # @return [Fixnum]
1885
+ attr_accessor :generation
1886
+
1887
+ # Google Cloud Storage object containing the source manifest. This object must
1888
+ # be a JSON file.
1889
+ # Corresponds to the JSON property `object`
1890
+ # @return [String]
1891
+ attr_accessor :object
1892
+
1893
+ def initialize(**args)
1894
+ update!(**args)
1895
+ end
1896
+
1897
+ # Update properties of this object
1898
+ def update!(**args)
1899
+ @bucket = args[:bucket] if args.key?(:bucket)
1900
+ @generation = args[:generation] if args.key?(:generation)
1901
+ @object = args[:object] if args.key?(:object)
1902
+ end
1903
+ end
1904
+
1905
+ # Start and end times for a build execution phase.
1906
+ class ContaineranalysisGoogleDevtoolsCloudbuildV1TimeSpan
1907
+ include Google::Apis::Core::Hashable
1908
+
1909
+ # End of time span.
1910
+ # Corresponds to the JSON property `endTime`
1911
+ # @return [String]
1912
+ attr_accessor :end_time
1913
+
1914
+ # Start of time span.
1915
+ # Corresponds to the JSON property `startTime`
1916
+ # @return [String]
1917
+ attr_accessor :start_time
1918
+
1919
+ def initialize(**args)
1920
+ update!(**args)
1921
+ end
1922
+
1923
+ # Update properties of this object
1924
+ def update!(**args)
1925
+ @end_time = args[:end_time] if args.key?(:end_time)
1926
+ @start_time = args[:start_time] if args.key?(:start_time)
1927
+ end
1928
+ end
1929
+
1930
+ # Volume describes a Docker container volume which is mounted into build steps
1931
+ # in order to persist files across build step execution.
1932
+ class ContaineranalysisGoogleDevtoolsCloudbuildV1Volume
1933
+ include Google::Apis::Core::Hashable
1934
+
1935
+ # Name of the volume to mount. Volume names must be unique per build step and
1936
+ # must be valid names for Docker volumes. Each named volume must be used by at
1937
+ # least two build steps.
1938
+ # Corresponds to the JSON property `name`
1939
+ # @return [String]
1940
+ attr_accessor :name
1941
+
1942
+ # Path at which to mount the volume. Paths must be absolute and cannot conflict
1943
+ # with other volume paths on the same build step or with certain reserved volume
1944
+ # paths.
1945
+ # Corresponds to the JSON property `path`
1946
+ # @return [String]
1947
+ attr_accessor :path
1948
+
1949
+ def initialize(**args)
1950
+ update!(**args)
1951
+ end
1952
+
1953
+ # Update properties of this object
1954
+ def update!(**args)
1955
+ @name = args[:name] if args.key?(:name)
1956
+ @path = args[:path] if args.key?(:path)
1957
+ end
1958
+ end
1959
+
725
1960
  # An artifact that can be deployed in some runtime.
726
1961
  class Deployable
727
1962
  include Google::Apis::Core::Hashable
@@ -1405,18 +2640,10 @@ module Google
1405
2640
  # @return [String]
1406
2641
  attr_accessor :id
1407
2642
 
1408
- # This field provides a place for the SPDX file creator to record any relevant
1409
- # background references or analysis that went in to arriving at the Concluded
1410
- # License for a file
1411
- # Corresponds to the JSON property `licenseComments`
1412
- # @return [String]
1413
- attr_accessor :license_comments
1414
-
1415
- # This field contains the license the SPDX file creator has concluded as
1416
- # governing the file or alternative values if the governing license cannot be
1417
- # determined
2643
+ # License information: https://spdx.github.io/spdx-spec/3-package-information/#
2644
+ # 315-declared-license
1418
2645
  # Corresponds to the JSON property `licenseConcluded`
1419
- # @return [String]
2646
+ # @return [Google::Apis::ContaineranalysisV1beta1::License]
1420
2647
  attr_accessor :license_concluded
1421
2648
 
1422
2649
  # This field provides a place for the SPDX file creator to record license
@@ -1437,7 +2664,6 @@ module Google
1437
2664
  @copyright = args[:copyright] if args.key?(:copyright)
1438
2665
  @files_license_info = args[:files_license_info] if args.key?(:files_license_info)
1439
2666
  @id = args[:id] if args.key?(:id)
1440
- @license_comments = args[:license_comments] if args.key?(:license_comments)
1441
2667
  @license_concluded = args[:license_concluded] if args.key?(:license_concluded)
1442
2668
  @notice = args[:notice] if args.key?(:notice)
1443
2669
  end
@@ -1619,13 +2845,16 @@ module Google
1619
2845
  class GetPolicyOptions
1620
2846
  include Google::Apis::Core::Hashable
1621
2847
 
1622
- # Optional. The policy format version to be returned. Valid values are 0, 1, and
1623
- # 3. Requests specifying an invalid value will be rejected. Requests for
1624
- # policies with any conditional bindings must specify version 3. Policies
1625
- # without any conditional bindings may specify any valid value or leave the
1626
- # field unset. To learn which resources support conditions in their IAM policies,
1627
- # see the [IAM documentation](https://cloud.google.com/iam/help/conditions/
1628
- # resource-policies).
2848
+ # Optional. The maximum policy version that will be used to format the policy.
2849
+ # Valid values are 0, 1, and 3. Requests specifying an invalid value will be
2850
+ # rejected. Requests for policies with any conditional role bindings must
2851
+ # specify version 3. Policies with no conditional role bindings may specify any
2852
+ # valid value or leave the field unset. The policy in the response might use the
2853
+ # policy version that you specified, or it might use a lower policy version. For
2854
+ # example, if you specify version 3, but the policy has no conditional role
2855
+ # bindings, the response uses version 1. To learn which resources support
2856
+ # conditions in their IAM policies, see the [IAM documentation](https://cloud.
2857
+ # google.com/iam/help/conditions/resource-policies).
1629
2858
  # Corresponds to the JSON property `requestedPolicyVersion`
1630
2859
  # @return [Fixnum]
1631
2860
  attr_accessor :requested_policy_version
@@ -2133,6 +3362,33 @@ module Google
2133
3362
  end
2134
3363
  end
2135
3364
 
3365
+ # License information: https://spdx.github.io/spdx-spec/3-package-information/#
3366
+ # 315-declared-license
3367
+ class License
3368
+ include Google::Apis::Core::Hashable
3369
+
3370
+ # Comments
3371
+ # Corresponds to the JSON property `comments`
3372
+ # @return [String]
3373
+ attr_accessor :comments
3374
+
3375
+ # Expression: https://spdx.github.io/spdx-spec/appendix-IV-SPDX-license-
3376
+ # expressions/
3377
+ # Corresponds to the JSON property `expression`
3378
+ # @return [String]
3379
+ attr_accessor :expression
3380
+
3381
+ def initialize(**args)
3382
+ update!(**args)
3383
+ end
3384
+
3385
+ # Update properties of this object
3386
+ def update!(**args)
3387
+ @comments = args[:comments] if args.key?(:comments)
3388
+ @expression = args[:expression] if args.key?(:expression)
3389
+ end
3390
+ end
3391
+
2136
3392
  # This corresponds to an in-toto link.
2137
3393
  class Link
2138
3394
  include Google::Apis::Core::Hashable
@@ -2431,10 +3687,10 @@ module Google
2431
3687
  # @return [Google::Apis::ContaineranalysisV1beta1::FileNote]
2432
3688
  attr_accessor :spdx_file
2433
3689
 
2434
- # PackageNote represents an SPDX Package Information section: https://spdx.
3690
+ # PackageInfoNote represents an SPDX Package Information section: https://spdx.
2435
3691
  # github.io/spdx-spec/3-package-information/
2436
3692
  # Corresponds to the JSON property `spdxPackage`
2437
- # @return [Google::Apis::ContaineranalysisV1beta1::PackageNote]
3693
+ # @return [Google::Apis::ContaineranalysisV1beta1::PackageInfoNote]
2438
3694
  attr_accessor :spdx_package
2439
3695
 
2440
3696
  # RelationshipNote represents an SPDX Relationship section: https://spdx.github.
@@ -2571,10 +3827,10 @@ module Google
2571
3827
  # @return [Google::Apis::ContaineranalysisV1beta1::FileOccurrence]
2572
3828
  attr_accessor :spdx_file
2573
3829
 
2574
- # PackageOccurrence represents an SPDX Package Information section: https://spdx.
2575
- # github.io/spdx-spec/3-package-information/
3830
+ # PackageInfoOccurrence represents an SPDX Package Information section: https://
3831
+ # spdx.github.io/spdx-spec/3-package-information/
2576
3832
  # Corresponds to the JSON property `spdxPackage`
2577
- # @return [Google::Apis::ContaineranalysisV1beta1::PackageOccurrence]
3833
+ # @return [Google::Apis::ContaineranalysisV1beta1::PackageInfoOccurrence]
2578
3834
  attr_accessor :spdx_package
2579
3835
 
2580
3836
  # RelationshipOccurrence represents an SPDX Relationship section: https://spdx.
@@ -2647,56 +3903,9 @@ module Google
2647
3903
  end
2648
3904
  end
2649
3905
 
2650
- # This message wraps a location affected by a vulnerability and its associated
2651
- # fix (if one is available).
2652
- class PackageIssue
2653
- include Google::Apis::Core::Hashable
2654
-
2655
- # The location of the vulnerability.
2656
- # Corresponds to the JSON property `affectedLocation`
2657
- # @return [Google::Apis::ContaineranalysisV1beta1::VulnerabilityLocation]
2658
- attr_accessor :affected_location
2659
-
2660
- # Output only. The distro or language system assigned severity for this
2661
- # vulnerability when that is available and note provider assigned severity when
2662
- # it is not available.
2663
- # Corresponds to the JSON property `effectiveSeverity`
2664
- # @return [String]
2665
- attr_accessor :effective_severity
2666
-
2667
- # The location of the vulnerability.
2668
- # Corresponds to the JSON property `fixedLocation`
2669
- # @return [Google::Apis::ContaineranalysisV1beta1::VulnerabilityLocation]
2670
- attr_accessor :fixed_location
2671
-
2672
- # The type of package (e.g. OS, MAVEN, GO).
2673
- # Corresponds to the JSON property `packageType`
2674
- # @return [String]
2675
- attr_accessor :package_type
2676
-
2677
- # Deprecated, use Details.effective_severity instead The severity (e.g., distro
2678
- # assigned severity) for this vulnerability.
2679
- # Corresponds to the JSON property `severityName`
2680
- # @return [String]
2681
- attr_accessor :severity_name
2682
-
2683
- def initialize(**args)
2684
- update!(**args)
2685
- end
2686
-
2687
- # Update properties of this object
2688
- def update!(**args)
2689
- @affected_location = args[:affected_location] if args.key?(:affected_location)
2690
- @effective_severity = args[:effective_severity] if args.key?(:effective_severity)
2691
- @fixed_location = args[:fixed_location] if args.key?(:fixed_location)
2692
- @package_type = args[:package_type] if args.key?(:package_type)
2693
- @severity_name = args[:severity_name] if args.key?(:severity_name)
2694
- end
2695
- end
2696
-
2697
- # PackageNote represents an SPDX Package Information section: https://spdx.
3906
+ # PackageInfoNote represents an SPDX Package Information section: https://spdx.
2698
3907
  # github.io/spdx-spec/3-package-information/
2699
- class PackageNote
3908
+ class PackageInfoNote
2700
3909
  include Google::Apis::Core::Hashable
2701
3910
 
2702
3911
  # Indicates whether the file content of this package has been available for or
@@ -2755,9 +3964,10 @@ module Google
2755
3964
  # @return [String]
2756
3965
  attr_accessor :home_page
2757
3966
 
2758
- # List the licenses that have been declared by the authors of the package
3967
+ # License information: https://spdx.github.io/spdx-spec/3-package-information/#
3968
+ # 315-declared-license
2759
3969
  # Corresponds to the JSON property `licenseDeclared`
2760
- # @return [String]
3970
+ # @return [Google::Apis::ContaineranalysisV1beta1::License]
2761
3971
  attr_accessor :license_declared
2762
3972
 
2763
3973
  # If the package identified in the SPDX file originated from a different person
@@ -2767,6 +3977,11 @@ module Google
2767
3977
  # @return [String]
2768
3978
  attr_accessor :originator
2769
3979
 
3980
+ # The type of package: OS, MAVEN, GO, GO_STDLIB, etc.
3981
+ # Corresponds to the JSON property `packageType`
3982
+ # @return [String]
3983
+ attr_accessor :package_type
3984
+
2770
3985
  # A short description of the package
2771
3986
  # Corresponds to the JSON property `summaryDescription`
2772
3987
  # @return [String]
@@ -2813,6 +4028,7 @@ module Google
2813
4028
  @home_page = args[:home_page] if args.key?(:home_page)
2814
4029
  @license_declared = args[:license_declared] if args.key?(:license_declared)
2815
4030
  @originator = args[:originator] if args.key?(:originator)
4031
+ @package_type = args[:package_type] if args.key?(:package_type)
2816
4032
  @summary_description = args[:summary_description] if args.key?(:summary_description)
2817
4033
  @supplier = args[:supplier] if args.key?(:supplier)
2818
4034
  @title = args[:title] if args.key?(:title)
@@ -2821,9 +4037,9 @@ module Google
2821
4037
  end
2822
4038
  end
2823
4039
 
2824
- # PackageOccurrence represents an SPDX Package Information section: https://spdx.
2825
- # github.io/spdx-spec/3-package-information/
2826
- class PackageOccurrence
4040
+ # PackageInfoOccurrence represents an SPDX Package Information section: https://
4041
+ # spdx.github.io/spdx-spec/3-package-information/
4042
+ class PackageInfoOccurrence
2827
4043
  include Google::Apis::Core::Hashable
2828
4044
 
2829
4045
  # A place for the SPDX file creator to record any general comments about the
@@ -2838,30 +4054,51 @@ module Google
2838
4054
  # @return [String]
2839
4055
  attr_accessor :filename
2840
4056
 
4057
+ # Output only. Provide a place for the SPDX file creator to record a web site
4058
+ # that serves as the package's home page
4059
+ # Corresponds to the JSON property `homePage`
4060
+ # @return [String]
4061
+ attr_accessor :home_page
4062
+
2841
4063
  # Uniquely identify any element in an SPDX document which may be referenced by
2842
4064
  # other elements
2843
4065
  # Corresponds to the JSON property `id`
2844
4066
  # @return [String]
2845
4067
  attr_accessor :id
2846
4068
 
2847
- # This field provides a place for the SPDX file creator to record any relevant
2848
- # background information or analysis that went in to arriving at the Concluded
2849
- # License for a package
2850
- # Corresponds to the JSON property `licenseComments`
2851
- # @return [String]
2852
- attr_accessor :license_comments
2853
-
2854
- # package or alternative values, if the governing license cannot be determined
4069
+ # License information: https://spdx.github.io/spdx-spec/3-package-information/#
4070
+ # 315-declared-license
2855
4071
  # Corresponds to the JSON property `licenseConcluded`
2856
- # @return [String]
4072
+ # @return [Google::Apis::ContaineranalysisV1beta1::License]
2857
4073
  attr_accessor :license_concluded
2858
4074
 
4075
+ # Output only. The type of package: OS, MAVEN, GO, GO_STDLIB, etc.
4076
+ # Corresponds to the JSON property `packageType`
4077
+ # @return [String]
4078
+ attr_accessor :package_type
4079
+
2859
4080
  # Provide a place for the SPDX file creator to record any relevant background
2860
4081
  # information or additional comments about the origin of the package
2861
4082
  # Corresponds to the JSON property `sourceInfo`
2862
4083
  # @return [String]
2863
4084
  attr_accessor :source_info
2864
4085
 
4086
+ # Output only. A short description of the package
4087
+ # Corresponds to the JSON property `summaryDescription`
4088
+ # @return [String]
4089
+ attr_accessor :summary_description
4090
+
4091
+ # Output only. Identify the full name of the package as given by the Package
4092
+ # Originator
4093
+ # Corresponds to the JSON property `title`
4094
+ # @return [String]
4095
+ attr_accessor :title
4096
+
4097
+ # Output only. Identify the version of the package
4098
+ # Corresponds to the JSON property `version`
4099
+ # @return [String]
4100
+ attr_accessor :version
4101
+
2865
4102
  def initialize(**args)
2866
4103
  update!(**args)
2867
4104
  end
@@ -2870,10 +4107,61 @@ module Google
2870
4107
  def update!(**args)
2871
4108
  @comment = args[:comment] if args.key?(:comment)
2872
4109
  @filename = args[:filename] if args.key?(:filename)
4110
+ @home_page = args[:home_page] if args.key?(:home_page)
2873
4111
  @id = args[:id] if args.key?(:id)
2874
- @license_comments = args[:license_comments] if args.key?(:license_comments)
2875
4112
  @license_concluded = args[:license_concluded] if args.key?(:license_concluded)
4113
+ @package_type = args[:package_type] if args.key?(:package_type)
2876
4114
  @source_info = args[:source_info] if args.key?(:source_info)
4115
+ @summary_description = args[:summary_description] if args.key?(:summary_description)
4116
+ @title = args[:title] if args.key?(:title)
4117
+ @version = args[:version] if args.key?(:version)
4118
+ end
4119
+ end
4120
+
4121
+ # This message wraps a location affected by a vulnerability and its associated
4122
+ # fix (if one is available).
4123
+ class PackageIssue
4124
+ include Google::Apis::Core::Hashable
4125
+
4126
+ # The location of the vulnerability.
4127
+ # Corresponds to the JSON property `affectedLocation`
4128
+ # @return [Google::Apis::ContaineranalysisV1beta1::VulnerabilityLocation]
4129
+ attr_accessor :affected_location
4130
+
4131
+ # Output only. The distro or language system assigned severity for this
4132
+ # vulnerability when that is available and note provider assigned severity when
4133
+ # it is not available.
4134
+ # Corresponds to the JSON property `effectiveSeverity`
4135
+ # @return [String]
4136
+ attr_accessor :effective_severity
4137
+
4138
+ # The location of the vulnerability.
4139
+ # Corresponds to the JSON property `fixedLocation`
4140
+ # @return [Google::Apis::ContaineranalysisV1beta1::VulnerabilityLocation]
4141
+ attr_accessor :fixed_location
4142
+
4143
+ # The type of package (e.g. OS, MAVEN, GO).
4144
+ # Corresponds to the JSON property `packageType`
4145
+ # @return [String]
4146
+ attr_accessor :package_type
4147
+
4148
+ # Deprecated, use Details.effective_severity instead The severity (e.g., distro
4149
+ # assigned severity) for this vulnerability.
4150
+ # Corresponds to the JSON property `severityName`
4151
+ # @return [String]
4152
+ attr_accessor :severity_name
4153
+
4154
+ def initialize(**args)
4155
+ update!(**args)
4156
+ end
4157
+
4158
+ # Update properties of this object
4159
+ def update!(**args)
4160
+ @affected_location = args[:affected_location] if args.key?(:affected_location)
4161
+ @effective_severity = args[:effective_severity] if args.key?(:effective_severity)
4162
+ @fixed_location = args[:fixed_location] if args.key?(:fixed_location)
4163
+ @package_type = args[:package_type] if args.key?(:package_type)
4164
+ @severity_name = args[:severity_name] if args.key?(:severity_name)
2877
4165
  end
2878
4166
  end
2879
4167
 
@@ -2932,37 +4220,42 @@ module Google
2932
4220
 
2933
4221
  # An Identity and Access Management (IAM) policy, which specifies access
2934
4222
  # controls for Google Cloud resources. A `Policy` is a collection of `bindings`.
2935
- # A `binding` binds one or more `members` to a single `role`. Members can be
2936
- # user accounts, service accounts, Google groups, and domains (such as G Suite).
2937
- # A `role` is a named list of permissions; each `role` can be an IAM predefined
2938
- # role or a user-created custom role. For some types of Google Cloud resources,
2939
- # a `binding` can also specify a `condition`, which is a logical expression that
2940
- # allows access to a resource only if the expression evaluates to `true`. A
2941
- # condition can add constraints based on attributes of the request, the resource,
2942
- # or both. To learn which resources support conditions in their IAM policies,
2943
- # see the [IAM documentation](https://cloud.google.com/iam/help/conditions/
2944
- # resource-policies). **JSON example:** ` "bindings": [ ` "role": "roles/
2945
- # resourcemanager.organizationAdmin", "members": [ "user:mike@example.com", "
2946
- # group:admins@example.com", "domain:google.com", "serviceAccount:my-project-id@
2947
- # appspot.gserviceaccount.com" ] `, ` "role": "roles/resourcemanager.
2948
- # organizationViewer", "members": [ "user:eve@example.com" ], "condition": ` "
2949
- # title": "expirable access", "description": "Does not grant access after Sep
2950
- # 2020", "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')", `
2951
- # ` ], "etag": "BwWWja0YfJA=", "version": 3 ` **YAML example:** bindings: -
2952
- # members: - user:mike@example.com - group:admins@example.com - domain:google.
2953
- # com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/
2954
- # resourcemanager.organizationAdmin - members: - user:eve@example.com role:
2955
- # roles/resourcemanager.organizationViewer condition: title: expirable access
2956
- # description: Does not grant access after Sep 2020 expression: request.time <
2957
- # timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For a
2958
- # description of IAM and its features, see the [IAM documentation](https://cloud.
2959
- # google.com/iam/docs/).
4223
+ # A `binding` binds one or more `members`, or principals, to a single `role`.
4224
+ # Principals can be user accounts, service accounts, Google groups, and domains (
4225
+ # such as G Suite). A `role` is a named list of permissions; each `role` can be
4226
+ # an IAM predefined role or a user-created custom role. For some types of Google
4227
+ # Cloud resources, a `binding` can also specify a `condition`, which is a
4228
+ # logical expression that allows access to a resource only if the expression
4229
+ # evaluates to `true`. A condition can add constraints based on attributes of
4230
+ # the request, the resource, or both. To learn which resources support
4231
+ # conditions in their IAM policies, see the [IAM documentation](https://cloud.
4232
+ # google.com/iam/help/conditions/resource-policies). **JSON example:** ` "
4233
+ # bindings": [ ` "role": "roles/resourcemanager.organizationAdmin", "members": [
4234
+ # "user:mike@example.com", "group:admins@example.com", "domain:google.com", "
4235
+ # serviceAccount:my-project-id@appspot.gserviceaccount.com" ] `, ` "role": "
4236
+ # roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com"
4237
+ # ], "condition": ` "title": "expirable access", "description": "Does not grant
4238
+ # access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:
4239
+ # 00:00.000Z')", ` ` ], "etag": "BwWWja0YfJA=", "version": 3 ` **YAML example:**
4240
+ # bindings: - members: - user:mike@example.com - group:admins@example.com -
4241
+ # domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com
4242
+ # role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.
4243
+ # com role: roles/resourcemanager.organizationViewer condition: title: expirable
4244
+ # access description: Does not grant access after Sep 2020 expression: request.
4245
+ # time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For
4246
+ # a description of IAM and its features, see the [IAM documentation](https://
4247
+ # cloud.google.com/iam/docs/).
2960
4248
  class Policy
2961
4249
  include Google::Apis::Core::Hashable
2962
4250
 
2963
- # Associates a list of `members` to a `role`. Optionally, may specify a `
2964
- # condition` that determines how and when the `bindings` are applied. Each of
2965
- # the `bindings` must contain at least one member.
4251
+ # Associates a list of `members`, or principals, with a `role`. Optionally, may
4252
+ # specify a `condition` that determines how and when the `bindings` are applied.
4253
+ # Each of the `bindings` must contain at least one principal. The `bindings` in
4254
+ # a `Policy` can refer to up to 1,500 principals; up to 250 of these principals
4255
+ # can be Google groups. Each occurrence of a principal counts towards these
4256
+ # limits. For example, if the `bindings` grant 50 different roles to `user:alice@
4257
+ # example.com`, and not to any other principal, then you can add another 1,450
4258
+ # principals to the `bindings` in the `Policy`.
2966
4259
  # Corresponds to the JSON property `bindings`
2967
4260
  # @return [Array<Google::Apis::ContaineranalysisV1beta1::Binding>]
2968
4261
  attr_accessor :bindings
@@ -3070,12 +4363,18 @@ module Google
3070
4363
  class RelationshipNote
3071
4364
  include Google::Apis::Core::Hashable
3072
4365
 
4366
+ # The type of relationship between the source and target SPDX elements
4367
+ # Corresponds to the JSON property `type`
4368
+ # @return [String]
4369
+ attr_accessor :type
4370
+
3073
4371
  def initialize(**args)
3074
4372
  update!(**args)
3075
4373
  end
3076
4374
 
3077
4375
  # Update properties of this object
3078
4376
  def update!(**args)
4377
+ @type = args[:type] if args.key?(:type)
3079
4378
  end
3080
4379
  end
3081
4380
 
@@ -3104,7 +4403,8 @@ module Google
3104
4403
  # @return [String]
3105
4404
  attr_accessor :target
3106
4405
 
3107
- # The type of relationship between the source and target SPDX elements
4406
+ # Output only. The type of relationship between the source and target SPDX
4407
+ # elements
3108
4408
  # Corresponds to the JSON property `type`
3109
4409
  # @return [String]
3110
4410
  attr_accessor :type
@@ -3234,31 +4534,31 @@ module Google
3234
4534
 
3235
4535
  # An Identity and Access Management (IAM) policy, which specifies access
3236
4536
  # controls for Google Cloud resources. A `Policy` is a collection of `bindings`.
3237
- # A `binding` binds one or more `members` to a single `role`. Members can be
3238
- # user accounts, service accounts, Google groups, and domains (such as G Suite).
3239
- # A `role` is a named list of permissions; each `role` can be an IAM predefined
3240
- # role or a user-created custom role. For some types of Google Cloud resources,
3241
- # a `binding` can also specify a `condition`, which is a logical expression that
3242
- # allows access to a resource only if the expression evaluates to `true`. A
3243
- # condition can add constraints based on attributes of the request, the resource,
3244
- # or both. To learn which resources support conditions in their IAM policies,
3245
- # see the [IAM documentation](https://cloud.google.com/iam/help/conditions/
3246
- # resource-policies). **JSON example:** ` "bindings": [ ` "role": "roles/
3247
- # resourcemanager.organizationAdmin", "members": [ "user:mike@example.com", "
3248
- # group:admins@example.com", "domain:google.com", "serviceAccount:my-project-id@
3249
- # appspot.gserviceaccount.com" ] `, ` "role": "roles/resourcemanager.
3250
- # organizationViewer", "members": [ "user:eve@example.com" ], "condition": ` "
3251
- # title": "expirable access", "description": "Does not grant access after Sep
3252
- # 2020", "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')", `
3253
- # ` ], "etag": "BwWWja0YfJA=", "version": 3 ` **YAML example:** bindings: -
3254
- # members: - user:mike@example.com - group:admins@example.com - domain:google.
3255
- # com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/
3256
- # resourcemanager.organizationAdmin - members: - user:eve@example.com role:
3257
- # roles/resourcemanager.organizationViewer condition: title: expirable access
3258
- # description: Does not grant access after Sep 2020 expression: request.time <
3259
- # timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For a
3260
- # description of IAM and its features, see the [IAM documentation](https://cloud.
3261
- # google.com/iam/docs/).
4537
+ # A `binding` binds one or more `members`, or principals, to a single `role`.
4538
+ # Principals can be user accounts, service accounts, Google groups, and domains (
4539
+ # such as G Suite). A `role` is a named list of permissions; each `role` can be
4540
+ # an IAM predefined role or a user-created custom role. For some types of Google
4541
+ # Cloud resources, a `binding` can also specify a `condition`, which is a
4542
+ # logical expression that allows access to a resource only if the expression
4543
+ # evaluates to `true`. A condition can add constraints based on attributes of
4544
+ # the request, the resource, or both. To learn which resources support
4545
+ # conditions in their IAM policies, see the [IAM documentation](https://cloud.
4546
+ # google.com/iam/help/conditions/resource-policies). **JSON example:** ` "
4547
+ # bindings": [ ` "role": "roles/resourcemanager.organizationAdmin", "members": [
4548
+ # "user:mike@example.com", "group:admins@example.com", "domain:google.com", "
4549
+ # serviceAccount:my-project-id@appspot.gserviceaccount.com" ] `, ` "role": "
4550
+ # roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com"
4551
+ # ], "condition": ` "title": "expirable access", "description": "Does not grant
4552
+ # access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:
4553
+ # 00:00.000Z')", ` ` ], "etag": "BwWWja0YfJA=", "version": 3 ` **YAML example:**
4554
+ # bindings: - members: - user:mike@example.com - group:admins@example.com -
4555
+ # domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com
4556
+ # role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.
4557
+ # com role: roles/resourcemanager.organizationViewer condition: title: expirable
4558
+ # access description: Does not grant access after Sep 2020 expression: request.
4559
+ # time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For
4560
+ # a description of IAM and its features, see the [IAM documentation](https://
4561
+ # cloud.google.com/iam/docs/).
3262
4562
  # Corresponds to the JSON property `policy`
3263
4563
  # @return [Google::Apis::ContaineranalysisV1beta1::Policy]
3264
4564
  attr_accessor :policy