google-apis-containeranalysis_v1beta1 0.8.0 → 0.12.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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
@@ -1891,7 +3120,13 @@ module Google
1891
3120
 
1892
3121
  # The distro assigned severity for this vulnerability when it is available, and
1893
3122
  # note provider assigned severity when distro has not yet assigned a severity
1894
- # for this vulnerability.
3123
+ # for this vulnerability. When there are multiple PackageIssues for this
3124
+ # vulnerability, they can have different effective severities because some might
3125
+ # be provided by the distro while others are provided by the language ecosystem
3126
+ # for a language pack. For this reason, it is advised to use the effective
3127
+ # severity on the PackageIssue level. In the case where multiple PackageIssues
3128
+ # have differing effective severities, this field should be the highest severity
3129
+ # for any of the PackageIssues.
1895
3130
  # Corresponds to the JSON property `effectiveSeverity`
1896
3131
  # @return [String]
1897
3132
  attr_accessor :effective_severity
@@ -2127,6 +3362,33 @@ module Google
2127
3362
  end
2128
3363
  end
2129
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
+
2130
3392
  # This corresponds to an in-toto link.
2131
3393
  class Link
2132
3394
  include Google::Apis::Core::Hashable
@@ -2425,10 +3687,10 @@ module Google
2425
3687
  # @return [Google::Apis::ContaineranalysisV1beta1::FileNote]
2426
3688
  attr_accessor :spdx_file
2427
3689
 
2428
- # PackageNote represents an SPDX Package Information section: https://spdx.
3690
+ # PackageInfoNote represents an SPDX Package Information section: https://spdx.
2429
3691
  # github.io/spdx-spec/3-package-information/
2430
3692
  # Corresponds to the JSON property `spdxPackage`
2431
- # @return [Google::Apis::ContaineranalysisV1beta1::PackageNote]
3693
+ # @return [Google::Apis::ContaineranalysisV1beta1::PackageInfoNote]
2432
3694
  attr_accessor :spdx_package
2433
3695
 
2434
3696
  # RelationshipNote represents an SPDX Relationship section: https://spdx.github.
@@ -2565,10 +3827,10 @@ module Google
2565
3827
  # @return [Google::Apis::ContaineranalysisV1beta1::FileOccurrence]
2566
3828
  attr_accessor :spdx_file
2567
3829
 
2568
- # PackageOccurrence represents an SPDX Package Information section: https://spdx.
2569
- # 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/
2570
3832
  # Corresponds to the JSON property `spdxPackage`
2571
- # @return [Google::Apis::ContaineranalysisV1beta1::PackageOccurrence]
3833
+ # @return [Google::Apis::ContaineranalysisV1beta1::PackageInfoOccurrence]
2572
3834
  attr_accessor :spdx_package
2573
3835
 
2574
3836
  # RelationshipOccurrence represents an SPDX Relationship section: https://spdx.
@@ -2641,42 +3903,9 @@ module Google
2641
3903
  end
2642
3904
  end
2643
3905
 
2644
- # This message wraps a location affected by a vulnerability and its associated
2645
- # fix (if one is available).
2646
- class PackageIssue
2647
- include Google::Apis::Core::Hashable
2648
-
2649
- # The location of the vulnerability.
2650
- # Corresponds to the JSON property `affectedLocation`
2651
- # @return [Google::Apis::ContaineranalysisV1beta1::VulnerabilityLocation]
2652
- attr_accessor :affected_location
2653
-
2654
- # The location of the vulnerability.
2655
- # Corresponds to the JSON property `fixedLocation`
2656
- # @return [Google::Apis::ContaineranalysisV1beta1::VulnerabilityLocation]
2657
- attr_accessor :fixed_location
2658
-
2659
- # Deprecated, use Details.effective_severity instead The severity (e.g., distro
2660
- # assigned severity) for this vulnerability.
2661
- # Corresponds to the JSON property `severityName`
2662
- # @return [String]
2663
- attr_accessor :severity_name
2664
-
2665
- def initialize(**args)
2666
- update!(**args)
2667
- end
2668
-
2669
- # Update properties of this object
2670
- def update!(**args)
2671
- @affected_location = args[:affected_location] if args.key?(:affected_location)
2672
- @fixed_location = args[:fixed_location] if args.key?(:fixed_location)
2673
- @severity_name = args[:severity_name] if args.key?(:severity_name)
2674
- end
2675
- end
2676
-
2677
- # PackageNote represents an SPDX Package Information section: https://spdx.
3906
+ # PackageInfoNote represents an SPDX Package Information section: https://spdx.
2678
3907
  # github.io/spdx-spec/3-package-information/
2679
- class PackageNote
3908
+ class PackageInfoNote
2680
3909
  include Google::Apis::Core::Hashable
2681
3910
 
2682
3911
  # Indicates whether the file content of this package has been available for or
@@ -2735,9 +3964,10 @@ module Google
2735
3964
  # @return [String]
2736
3965
  attr_accessor :home_page
2737
3966
 
2738
- # 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
2739
3969
  # Corresponds to the JSON property `licenseDeclared`
2740
- # @return [String]
3970
+ # @return [Google::Apis::ContaineranalysisV1beta1::License]
2741
3971
  attr_accessor :license_declared
2742
3972
 
2743
3973
  # If the package identified in the SPDX file originated from a different person
@@ -2747,6 +3977,11 @@ module Google
2747
3977
  # @return [String]
2748
3978
  attr_accessor :originator
2749
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
+
2750
3985
  # A short description of the package
2751
3986
  # Corresponds to the JSON property `summaryDescription`
2752
3987
  # @return [String]
@@ -2793,6 +4028,7 @@ module Google
2793
4028
  @home_page = args[:home_page] if args.key?(:home_page)
2794
4029
  @license_declared = args[:license_declared] if args.key?(:license_declared)
2795
4030
  @originator = args[:originator] if args.key?(:originator)
4031
+ @package_type = args[:package_type] if args.key?(:package_type)
2796
4032
  @summary_description = args[:summary_description] if args.key?(:summary_description)
2797
4033
  @supplier = args[:supplier] if args.key?(:supplier)
2798
4034
  @title = args[:title] if args.key?(:title)
@@ -2801,9 +4037,9 @@ module Google
2801
4037
  end
2802
4038
  end
2803
4039
 
2804
- # PackageOccurrence represents an SPDX Package Information section: https://spdx.
2805
- # github.io/spdx-spec/3-package-information/
2806
- class PackageOccurrence
4040
+ # PackageInfoOccurrence represents an SPDX Package Information section: https://
4041
+ # spdx.github.io/spdx-spec/3-package-information/
4042
+ class PackageInfoOccurrence
2807
4043
  include Google::Apis::Core::Hashable
2808
4044
 
2809
4045
  # A place for the SPDX file creator to record any general comments about the
@@ -2818,30 +4054,51 @@ module Google
2818
4054
  # @return [String]
2819
4055
  attr_accessor :filename
2820
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
+
2821
4063
  # Uniquely identify any element in an SPDX document which may be referenced by
2822
4064
  # other elements
2823
4065
  # Corresponds to the JSON property `id`
2824
4066
  # @return [String]
2825
4067
  attr_accessor :id
2826
4068
 
2827
- # This field provides a place for the SPDX file creator to record any relevant
2828
- # background information or analysis that went in to arriving at the Concluded
2829
- # License for a package
2830
- # Corresponds to the JSON property `licenseComments`
2831
- # @return [String]
2832
- attr_accessor :license_comments
2833
-
2834
- # 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
2835
4071
  # Corresponds to the JSON property `licenseConcluded`
2836
- # @return [String]
4072
+ # @return [Google::Apis::ContaineranalysisV1beta1::License]
2837
4073
  attr_accessor :license_concluded
2838
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
+
2839
4080
  # Provide a place for the SPDX file creator to record any relevant background
2840
4081
  # information or additional comments about the origin of the package
2841
4082
  # Corresponds to the JSON property `sourceInfo`
2842
4083
  # @return [String]
2843
4084
  attr_accessor :source_info
2844
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
+
2845
4102
  def initialize(**args)
2846
4103
  update!(**args)
2847
4104
  end
@@ -2850,10 +4107,61 @@ module Google
2850
4107
  def update!(**args)
2851
4108
  @comment = args[:comment] if args.key?(:comment)
2852
4109
  @filename = args[:filename] if args.key?(:filename)
4110
+ @home_page = args[:home_page] if args.key?(:home_page)
2853
4111
  @id = args[:id] if args.key?(:id)
2854
- @license_comments = args[:license_comments] if args.key?(:license_comments)
2855
4112
  @license_concluded = args[:license_concluded] if args.key?(:license_concluded)
4113
+ @package_type = args[:package_type] if args.key?(:package_type)
2856
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)
2857
4165
  end
2858
4166
  end
2859
4167
 
@@ -2912,37 +4220,42 @@ module Google
2912
4220
 
2913
4221
  # An Identity and Access Management (IAM) policy, which specifies access
2914
4222
  # controls for Google Cloud resources. A `Policy` is a collection of `bindings`.
2915
- # A `binding` binds one or more `members` to a single `role`. Members can be
2916
- # user accounts, service accounts, Google groups, and domains (such as G Suite).
2917
- # A `role` is a named list of permissions; each `role` can be an IAM predefined
2918
- # role or a user-created custom role. For some types of Google Cloud resources,
2919
- # a `binding` can also specify a `condition`, which is a logical expression that
2920
- # allows access to a resource only if the expression evaluates to `true`. A
2921
- # condition can add constraints based on attributes of the request, the resource,
2922
- # or both. To learn which resources support conditions in their IAM policies,
2923
- # see the [IAM documentation](https://cloud.google.com/iam/help/conditions/
2924
- # resource-policies). **JSON example:** ` "bindings": [ ` "role": "roles/
2925
- # resourcemanager.organizationAdmin", "members": [ "user:mike@example.com", "
2926
- # group:admins@example.com", "domain:google.com", "serviceAccount:my-project-id@
2927
- # appspot.gserviceaccount.com" ] `, ` "role": "roles/resourcemanager.
2928
- # organizationViewer", "members": [ "user:eve@example.com" ], "condition": ` "
2929
- # title": "expirable access", "description": "Does not grant access after Sep
2930
- # 2020", "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')", `
2931
- # ` ], "etag": "BwWWja0YfJA=", "version": 3 ` **YAML example:** bindings: -
2932
- # members: - user:mike@example.com - group:admins@example.com - domain:google.
2933
- # com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/
2934
- # resourcemanager.organizationAdmin - members: - user:eve@example.com role:
2935
- # roles/resourcemanager.organizationViewer condition: title: expirable access
2936
- # description: Does not grant access after Sep 2020 expression: request.time <
2937
- # timestamp('2020-10-01T00:00:00.000Z') - etag: BwWWja0YfJA= - version: 3 For a
2938
- # description of IAM and its features, see the [IAM documentation](https://cloud.
2939
- # 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/).
2940
4248
  class Policy
2941
4249
  include Google::Apis::Core::Hashable
2942
4250
 
2943
- # Associates a list of `members` to a `role`. Optionally, may specify a `
2944
- # condition` that determines how and when the `bindings` are applied. Each of
2945
- # 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`.
2946
4259
  # Corresponds to the JSON property `bindings`
2947
4260
  # @return [Array<Google::Apis::ContaineranalysisV1beta1::Binding>]
2948
4261
  attr_accessor :bindings
@@ -3050,12 +4363,18 @@ module Google
3050
4363
  class RelationshipNote
3051
4364
  include Google::Apis::Core::Hashable
3052
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
+
3053
4371
  def initialize(**args)
3054
4372
  update!(**args)
3055
4373
  end
3056
4374
 
3057
4375
  # Update properties of this object
3058
4376
  def update!(**args)
4377
+ @type = args[:type] if args.key?(:type)
3059
4378
  end
3060
4379
  end
3061
4380
 
@@ -3084,7 +4403,8 @@ module Google
3084
4403
  # @return [String]
3085
4404
  attr_accessor :target
3086
4405
 
3087
- # 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
3088
4408
  # Corresponds to the JSON property `type`
3089
4409
  # @return [String]
3090
4410
  attr_accessor :type
@@ -3214,31 +4534,31 @@ module Google
3214
4534
 
3215
4535
  # An Identity and Access Management (IAM) policy, which specifies access
3216
4536
  # controls for Google Cloud resources. A `Policy` is a collection of `bindings`.
3217
- # A `binding` binds one or more `members` to a single `role`. Members can be
3218
- # user accounts, service accounts, Google groups, and domains (such as G Suite).
3219
- # A `role` is a named list of permissions; each `role` can be an IAM predefined
3220
- # role or a user-created custom role. For some types of Google Cloud resources,
3221
- # a `binding` can also specify a `condition`, which is a logical expression that
3222
- # allows access to a resource only if the expression evaluates to `true`. A
3223
- # condition can add constraints based on attributes of the request, the resource,
3224
- # or both. To learn which resources support conditions in their IAM policies,
3225
- # see the [IAM documentation](https://cloud.google.com/iam/help/conditions/
3226
- # resource-policies). **JSON example:** ` "bindings": [ ` "role": "roles/
3227
- # resourcemanager.organizationAdmin", "members": [ "user:mike@example.com", "
3228
- # group:admins@example.com", "domain:google.com", "serviceAccount:my-project-id@
3229
- # appspot.gserviceaccount.com" ] `, ` "role": "roles/resourcemanager.
3230
- # organizationViewer", "members": [ "user:eve@example.com" ], "condition": ` "
3231
- # title": "expirable access", "description": "Does not grant access after Sep
3232
- # 2020", "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')", `
3233
- # ` ], "etag": "BwWWja0YfJA=", "version": 3 ` **YAML example:** bindings: -
3234
- # members: - user:mike@example.com - group:admins@example.com - domain:google.
3235
- # com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/
3236
- # resourcemanager.organizationAdmin - members: - user:eve@example.com role:
3237
- # roles/resourcemanager.organizationViewer condition: title: expirable access
3238
- # description: Does not grant access after Sep 2020 expression: request.time <
3239
- # timestamp('2020-10-01T00:00:00.000Z') - etag: BwWWja0YfJA= - version: 3 For a
3240
- # description of IAM and its features, see the [IAM documentation](https://cloud.
3241
- # 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/).
3242
4562
  # Corresponds to the JSON property `policy`
3243
4563
  # @return [Google::Apis::ContaineranalysisV1beta1::Policy]
3244
4564
  attr_accessor :policy