google-api-client 0.36.4 → 0.37.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.
- checksums.yaml +4 -4
- data/.yardopts +1 -0
- data/CHANGELOG.md +184 -0
- data/generated/google/apis/abusiveexperiencereport_v1.rb +1 -4
- data/generated/google/apis/acceleratedmobilepageurl_v1.rb +1 -1
- data/generated/google/apis/{servicebroker_v1.rb → accessapproval_v1.rb} +8 -10
- data/generated/google/apis/accessapproval_v1/classes.rb +417 -0
- data/generated/google/apis/accessapproval_v1/representations.rb +203 -0
- data/generated/google/apis/accessapproval_v1/service.rb +869 -0
- data/generated/google/apis/accesscontextmanager_v1.rb +1 -1
- data/generated/google/apis/accesscontextmanager_v1/classes.rb +113 -0
- data/generated/google/apis/accesscontextmanager_v1/representations.rb +32 -0
- data/generated/google/apis/accesscontextmanager_v1beta.rb +1 -1
- data/generated/google/apis/accesscontextmanager_v1beta/classes.rb +151 -0
- data/generated/google/apis/accesscontextmanager_v1beta/representations.rb +48 -0
- data/generated/google/apis/adexchangebuyer2_v2beta1.rb +1 -1
- data/generated/google/apis/adexperiencereport_v1.rb +1 -4
- data/generated/google/apis/{analytics_v2_4/classes.rb → admob_v1.rb} +11 -6
- data/generated/google/apis/admob_v1/classes.rb +951 -0
- data/generated/google/apis/admob_v1/representations.rb +378 -0
- data/generated/google/apis/admob_v1/service.rb +196 -0
- data/generated/google/apis/alertcenter_v1beta1.rb +1 -1
- data/generated/google/apis/alertcenter_v1beta1/classes.rb +252 -0
- data/generated/google/apis/alertcenter_v1beta1/representations.rb +126 -0
- data/generated/google/apis/analyticsreporting_v4.rb +1 -1
- data/generated/google/apis/androiddeviceprovisioning_v1.rb +1 -1
- data/generated/google/apis/androidenterprise_v1.rb +1 -1
- data/generated/google/apis/androidenterprise_v1/classes.rb +7 -1
- data/generated/google/apis/androidenterprise_v1/representations.rb +1 -0
- data/generated/google/apis/androidenterprise_v1/service.rb +0 -403
- data/generated/google/apis/androidmanagement_v1.rb +1 -1
- data/generated/google/apis/androidmanagement_v1/classes.rb +8 -2
- data/generated/google/apis/androidmanagement_v1/representations.rb +1 -0
- data/generated/google/apis/androidpublisher_v2.rb +1 -1
- data/generated/google/apis/androidpublisher_v2/classes.rb +1 -94
- data/generated/google/apis/androidpublisher_v2/representations.rb +0 -50
- data/generated/google/apis/androidpublisher_v3.rb +1 -1
- data/generated/google/apis/androidpublisher_v3/classes.rb +134 -94
- data/generated/google/apis/androidpublisher_v3/representations.rb +63 -50
- data/generated/google/apis/androidpublisher_v3/service.rb +158 -0
- data/generated/google/apis/appengine_v1beta.rb +1 -1
- data/generated/google/apis/appengine_v1beta/classes.rb +0 -38
- data/generated/google/apis/appengine_v1beta/representations.rb +0 -17
- data/generated/google/apis/appsactivity_v1.rb +1 -1
- data/generated/google/apis/bigqueryconnection_v1beta1.rb +1 -1
- data/generated/google/apis/bigqueryconnection_v1beta1/classes.rb +49 -15
- data/generated/google/apis/bigquerydatatransfer_v1.rb +1 -1
- data/generated/google/apis/bigquerydatatransfer_v1/classes.rb +49 -0
- data/generated/google/apis/bigquerydatatransfer_v1/representations.rb +19 -0
- data/generated/google/apis/bigqueryreservation_v1.rb +1 -1
- data/generated/google/apis/bigqueryreservation_v1/classes.rb +0 -22
- data/generated/google/apis/bigqueryreservation_v1/representations.rb +0 -13
- data/generated/google/apis/bigqueryreservation_v1alpha2.rb +1 -1
- data/generated/google/apis/bigqueryreservation_v1alpha2/classes.rb +0 -22
- data/generated/google/apis/bigqueryreservation_v1alpha2/representations.rb +0 -13
- data/generated/google/apis/bigqueryreservation_v1beta1.rb +1 -1
- data/generated/google/apis/bigqueryreservation_v1beta1/classes.rb +5 -99
- data/generated/google/apis/bigqueryreservation_v1beta1/representations.rb +0 -45
- data/generated/google/apis/bigqueryreservation_v1beta1/service.rb +1 -70
- data/generated/google/apis/bigtableadmin_v2.rb +1 -1
- data/generated/google/apis/bigtableadmin_v2/classes.rb +49 -15
- data/generated/google/apis/bigtableadmin_v2/service.rb +76 -4
- data/generated/google/apis/binaryauthorization_v1.rb +1 -1
- data/generated/google/apis/binaryauthorization_v1/classes.rb +49 -15
- data/generated/google/apis/binaryauthorization_v1beta1.rb +1 -1
- data/generated/google/apis/binaryauthorization_v1beta1/classes.rb +49 -15
- data/generated/google/apis/chat_v1.rb +1 -1
- data/generated/google/apis/classroom_v1.rb +1 -1
- data/generated/google/apis/cloudasset_v1.rb +2 -2
- data/generated/google/apis/cloudasset_v1/classes.rb +103 -20
- data/generated/google/apis/cloudasset_v1/representations.rb +16 -0
- data/generated/google/apis/cloudasset_v1/service.rb +1 -1
- data/generated/google/apis/cloudasset_v1beta1.rb +2 -2
- data/generated/google/apis/cloudasset_v1beta1/classes.rb +49 -15
- data/generated/google/apis/cloudasset_v1beta1/service.rb +1 -1
- data/generated/google/apis/cloudbilling_v1.rb +1 -1
- data/generated/google/apis/cloudbilling_v1/classes.rb +51 -16
- data/generated/google/apis/cloudbilling_v1/service.rb +8 -6
- data/generated/google/apis/cloudbuild_v1.rb +1 -1
- data/generated/google/apis/cloudbuild_v1/classes.rb +1 -1
- data/generated/google/apis/{servicebroker_v1beta1.rb → cloudbuild_v1alpha2.rb} +9 -11
- data/generated/google/apis/cloudbuild_v1alpha2/classes.rb +1124 -0
- data/generated/google/apis/cloudbuild_v1alpha2/representations.rb +429 -0
- data/generated/google/apis/cloudbuild_v1alpha2/service.rb +232 -0
- data/generated/google/apis/clouddebugger_v2.rb +1 -1
- data/generated/google/apis/clouderrorreporting_v1beta1.rb +1 -1
- data/generated/google/apis/clouderrorreporting_v1beta1/classes.rb +1 -1
- data/generated/google/apis/clouderrorreporting_v1beta1/service.rb +12 -12
- data/generated/google/apis/cloudfunctions_v1.rb +1 -1
- data/generated/google/apis/cloudfunctions_v1/classes.rb +63 -15
- data/generated/google/apis/cloudfunctions_v1/representations.rb +2 -0
- data/generated/google/apis/cloudidentity_v1.rb +1 -1
- data/generated/google/apis/cloudidentity_v1/classes.rb +560 -0
- data/generated/google/apis/cloudidentity_v1/representations.rb +226 -0
- data/generated/google/apis/cloudidentity_v1/service.rb +20 -13
- data/generated/google/apis/cloudidentity_v1beta1.rb +1 -1
- data/generated/google/apis/cloudidentity_v1beta1/classes.rb +765 -72
- data/generated/google/apis/cloudidentity_v1beta1/representations.rb +289 -0
- data/generated/google/apis/cloudidentity_v1beta1/service.rb +189 -79
- data/generated/google/apis/cloudiot_v1.rb +1 -1
- data/generated/google/apis/cloudiot_v1/classes.rb +49 -15
- data/generated/google/apis/cloudkms_v1.rb +1 -1
- data/generated/google/apis/cloudkms_v1/classes.rb +64 -21
- data/generated/google/apis/cloudkms_v1/representations.rb +1 -0
- data/generated/google/apis/cloudprivatecatalog_v1beta1.rb +1 -1
- data/generated/google/apis/cloudprivatecatalogproducer_v1beta1.rb +1 -1
- data/generated/google/apis/cloudprivatecatalogproducer_v1beta1/classes.rb +49 -15
- data/generated/google/apis/cloudprofiler_v2.rb +1 -1
- data/generated/google/apis/cloudresourcemanager_v1.rb +1 -1
- data/generated/google/apis/cloudresourcemanager_v1/classes.rb +49 -15
- data/generated/google/apis/cloudresourcemanager_v1/service.rb +3 -3
- data/generated/google/apis/cloudresourcemanager_v1beta1.rb +1 -1
- data/generated/google/apis/cloudresourcemanager_v1beta1/classes.rb +49 -15
- data/generated/google/apis/cloudresourcemanager_v2.rb +1 -1
- data/generated/google/apis/cloudresourcemanager_v2/classes.rb +49 -15
- data/generated/google/apis/cloudresourcemanager_v2beta1.rb +1 -1
- data/generated/google/apis/cloudresourcemanager_v2beta1/classes.rb +49 -15
- data/generated/google/apis/cloudscheduler_v1.rb +1 -1
- data/generated/google/apis/cloudscheduler_v1beta1.rb +1 -1
- data/generated/google/apis/cloudsearch_v1.rb +1 -1
- data/generated/google/apis/cloudsearch_v1/classes.rb +8 -0
- data/generated/google/apis/cloudsearch_v1/representations.rb +1 -0
- data/generated/google/apis/cloudshell_v1.rb +1 -1
- data/generated/google/apis/cloudshell_v1alpha1.rb +1 -1
- data/generated/google/apis/cloudtasks_v2.rb +1 -1
- data/generated/google/apis/cloudtasks_v2/classes.rb +49 -15
- data/generated/google/apis/cloudtasks_v2beta2.rb +1 -1
- data/generated/google/apis/cloudtasks_v2beta2/classes.rb +49 -15
- data/generated/google/apis/cloudtasks_v2beta3.rb +1 -1
- data/generated/google/apis/cloudtasks_v2beta3/classes.rb +49 -15
- data/generated/google/apis/cloudtrace_v1.rb +1 -1
- data/generated/google/apis/cloudtrace_v1/service.rb +6 -0
- data/generated/google/apis/cloudtrace_v2.rb +1 -1
- data/generated/google/apis/cloudtrace_v2/service.rb +4 -0
- data/generated/google/apis/commentanalyzer_v1alpha1.rb +1 -1
- data/generated/google/apis/composer_v1.rb +1 -1
- data/generated/google/apis/composer_v1/classes.rb +2 -0
- data/generated/google/apis/composer_v1beta1.rb +1 -1
- data/generated/google/apis/composer_v1beta1/classes.rb +59 -0
- data/generated/google/apis/composer_v1beta1/representations.rb +30 -0
- data/generated/google/apis/compute_alpha.rb +1 -1
- data/generated/google/apis/compute_alpha/classes.rb +429 -237
- data/generated/google/apis/compute_alpha/representations.rb +42 -3
- data/generated/google/apis/compute_alpha/service.rb +99 -32
- data/generated/google/apis/compute_beta.rb +1 -1
- data/generated/google/apis/compute_beta/classes.rb +1054 -235
- data/generated/google/apis/compute_beta/representations.rb +266 -0
- data/generated/google/apis/compute_beta/service.rb +5821 -4671
- data/generated/google/apis/compute_v1.rb +1 -1
- data/generated/google/apis/compute_v1/classes.rb +1118 -314
- data/generated/google/apis/compute_v1/representations.rb +313 -0
- data/generated/google/apis/compute_v1/service.rb +612 -24
- data/generated/google/apis/container_v1.rb +1 -1
- data/generated/google/apis/container_v1/classes.rb +247 -3
- data/generated/google/apis/container_v1/representations.rb +74 -0
- data/generated/google/apis/container_v1/service.rb +8 -0
- data/generated/google/apis/container_v1beta1.rb +1 -1
- data/generated/google/apis/container_v1beta1/classes.rb +284 -80
- data/generated/google/apis/container_v1beta1/representations.rb +85 -0
- data/generated/google/apis/container_v1beta1/service.rb +129 -121
- data/generated/google/apis/containeranalysis_v1alpha1.rb +1 -1
- data/generated/google/apis/containeranalysis_v1alpha1/classes.rb +49 -15
- data/generated/google/apis/containeranalysis_v1beta1.rb +1 -1
- data/generated/google/apis/containeranalysis_v1beta1/classes.rb +49 -15
- data/generated/google/apis/content_v2.rb +1 -1
- data/generated/google/apis/content_v2/classes.rb +97 -0
- data/generated/google/apis/content_v2/representations.rb +47 -0
- data/generated/google/apis/content_v2/service.rb +33 -0
- data/generated/google/apis/content_v2_1.rb +1 -1
- data/generated/google/apis/content_v2_1/classes.rb +191 -0
- data/generated/google/apis/content_v2_1/representations.rb +94 -0
- data/generated/google/apis/content_v2_1/service.rb +77 -0
- data/generated/google/apis/datacatalog_v1beta1.rb +1 -1
- data/generated/google/apis/datacatalog_v1beta1/classes.rb +157 -24
- data/generated/google/apis/datacatalog_v1beta1/representations.rb +33 -0
- data/generated/google/apis/datacatalog_v1beta1/service.rb +151 -66
- data/generated/google/apis/dataflow_v1b3.rb +1 -1
- data/generated/google/apis/dataflow_v1b3/classes.rb +120 -2
- data/generated/google/apis/dataflow_v1b3/representations.rb +63 -0
- data/generated/google/apis/dataflow_v1b3/service.rb +38 -0
- data/generated/google/apis/datafusion_v1beta1.rb +1 -1
- data/generated/google/apis/datafusion_v1beta1/classes.rb +134 -387
- data/generated/google/apis/datafusion_v1beta1/representations.rb +1 -132
- data/generated/google/apis/datafusion_v1beta1/service.rb +5 -1
- data/generated/google/apis/dataproc_v1.rb +1 -1
- data/generated/google/apis/dataproc_v1/classes.rb +156 -122
- data/generated/google/apis/dataproc_v1/service.rb +16 -14
- data/generated/google/apis/dataproc_v1beta2.rb +1 -1
- data/generated/google/apis/dataproc_v1beta2/classes.rb +155 -121
- data/generated/google/apis/dataproc_v1beta2/service.rb +28 -26
- data/generated/google/apis/dialogflow_v2.rb +1 -1
- data/generated/google/apis/dialogflow_v2/classes.rb +506 -9
- data/generated/google/apis/dialogflow_v2/representations.rb +191 -0
- data/generated/google/apis/dialogflow_v2/service.rb +477 -0
- data/generated/google/apis/dialogflow_v2beta1.rb +1 -1
- data/generated/google/apis/dialogflow_v2beta1/classes.rb +404 -9
- data/generated/google/apis/dialogflow_v2beta1/representations.rb +160 -0
- data/generated/google/apis/dialogflow_v2beta1/service.rb +919 -45
- data/generated/google/apis/dlp_v2.rb +1 -1
- data/generated/google/apis/dlp_v2/classes.rb +101 -92
- data/generated/google/apis/dlp_v2/service.rb +56 -56
- data/generated/google/apis/docs_v1.rb +1 -1
- data/generated/google/apis/docs_v1/classes.rb +275 -18
- data/generated/google/apis/docs_v1/representations.rb +75 -0
- data/generated/google/apis/doubleclickbidmanager_v1_1.rb +1 -1
- data/generated/google/apis/doubleclickbidmanager_v1_1/classes.rb +34 -0
- data/generated/google/apis/doubleclickbidmanager_v1_1/representations.rb +16 -0
- data/generated/google/apis/drive_v2.rb +1 -1
- data/generated/google/apis/drive_v2/classes.rb +1 -2
- data/generated/google/apis/drive_v2/service.rb +0 -92
- data/generated/google/apis/driveactivity_v2.rb +1 -1
- data/generated/google/apis/factchecktools_v1alpha1.rb +1 -1
- data/generated/google/apis/fcm_v1.rb +1 -1
- data/generated/google/apis/file_v1.rb +1 -1
- data/generated/google/apis/file_v1beta1.rb +1 -1
- data/generated/google/apis/file_v1beta1/classes.rb +1 -1
- data/generated/google/apis/firebase_v1beta1.rb +1 -1
- data/generated/google/apis/firebasedynamiclinks_v1.rb +1 -1
- data/generated/google/apis/firebasehosting_v1beta1.rb +1 -1
- data/generated/google/apis/firebasehosting_v1beta1/classes.rb +161 -0
- data/generated/google/apis/firebasehosting_v1beta1/representations.rb +64 -0
- data/generated/google/apis/firebasehosting_v1beta1/service.rb +67 -0
- data/generated/google/apis/firebaserules_v1.rb +1 -1
- data/generated/google/apis/firebaserules_v1/classes.rb +12 -0
- data/generated/google/apis/firebaserules_v1/representations.rb +2 -0
- data/generated/google/apis/firestore_v1.rb +1 -1
- data/generated/google/apis/firestore_v1/classes.rb +4 -2
- data/generated/google/apis/firestore_v1beta1.rb +1 -1
- data/generated/google/apis/firestore_v1beta1/classes.rb +4 -2
- data/generated/google/apis/fitness_v1.rb +1 -1
- data/generated/google/apis/fitness_v1/classes.rb +8 -4
- data/generated/google/apis/fitness_v1/service.rb +26 -8
- data/generated/google/apis/genomics_v1.rb +1 -1
- data/generated/google/apis/genomics_v1alpha2.rb +1 -1
- data/generated/google/apis/genomics_v2alpha1.rb +1 -1
- data/generated/google/apis/gmail_v1.rb +13 -1
- data/generated/google/apis/gmail_v1/service.rb +1 -1
- data/generated/google/apis/healthcare_v1beta1.rb +1 -1
- data/generated/google/apis/healthcare_v1beta1/classes.rb +113 -35
- data/generated/google/apis/healthcare_v1beta1/representations.rb +3 -0
- data/generated/google/apis/healthcare_v1beta1/service.rb +68 -36
- data/generated/google/apis/homegraph_v1.rb +1 -1
- data/generated/google/apis/iam_v1.rb +1 -1
- data/generated/google/apis/iam_v1/classes.rb +93 -23
- data/generated/google/apis/iap_v1.rb +1 -1
- data/generated/google/apis/iap_v1/classes.rb +66 -17
- data/generated/google/apis/iap_v1/representations.rb +1 -0
- data/generated/google/apis/iap_v1/service.rb +31 -33
- data/generated/google/apis/iap_v1beta1.rb +1 -1
- data/generated/google/apis/iap_v1beta1/classes.rb +49 -15
- data/generated/google/apis/jobs_v3.rb +1 -1
- data/generated/google/apis/jobs_v3/classes.rb +1 -0
- data/generated/google/apis/jobs_v3p1beta1.rb +1 -1
- data/generated/google/apis/jobs_v3p1beta1/classes.rb +8 -2
- data/generated/google/apis/kgsearch_v1.rb +1 -1
- data/generated/google/apis/language_v1.rb +1 -1
- data/generated/google/apis/language_v1beta1.rb +1 -1
- data/generated/google/apis/language_v1beta2.rb +1 -1
- data/generated/google/apis/libraryagent_v1.rb +1 -1
- data/generated/google/apis/logging_v2.rb +1 -1
- data/generated/google/apis/logging_v2/classes.rb +106 -4
- data/generated/google/apis/logging_v2/representations.rb +16 -0
- data/generated/google/apis/logging_v2/service.rb +184 -0
- data/generated/google/apis/manufacturers_v1.rb +1 -1
- data/generated/google/apis/ml_v1.rb +4 -1
- data/generated/google/apis/ml_v1/classes.rb +131 -26
- data/generated/google/apis/ml_v1/representations.rb +15 -0
- data/generated/google/apis/ml_v1/service.rb +2 -7
- data/generated/google/apis/monitoring_v1.rb +1 -1
- data/generated/google/apis/monitoring_v1/classes.rb +144 -109
- data/generated/google/apis/monitoring_v1/representations.rb +0 -18
- data/generated/google/apis/monitoring_v1/service.rb +11 -10
- data/generated/google/apis/monitoring_v3.rb +1 -1
- data/generated/google/apis/monitoring_v3/classes.rb +211 -99
- data/generated/google/apis/monitoring_v3/representations.rb +18 -0
- data/generated/google/apis/monitoring_v3/service.rb +178 -153
- data/generated/google/apis/{servicebroker_v1alpha1.rb → osconfig_v1beta.rb} +10 -11
- data/generated/google/apis/osconfig_v1beta/classes.rb +2357 -0
- data/generated/google/apis/osconfig_v1beta/representations.rb +966 -0
- data/generated/google/apis/osconfig_v1beta/service.rb +605 -0
- data/generated/google/apis/oslogin_v1.rb +1 -2
- data/generated/google/apis/oslogin_v1/service.rb +0 -1
- data/generated/google/apis/oslogin_v1alpha.rb +1 -2
- data/generated/google/apis/oslogin_v1alpha/service.rb +0 -1
- data/generated/google/apis/oslogin_v1beta.rb +1 -2
- data/generated/google/apis/oslogin_v1beta/service.rb +0 -1
- data/generated/google/apis/pagespeedonline_v5.rb +9 -4
- data/generated/google/apis/pagespeedonline_v5/classes.rb +529 -498
- data/generated/google/apis/pagespeedonline_v5/representations.rb +225 -221
- data/generated/google/apis/pagespeedonline_v5/service.rb +22 -24
- data/generated/google/apis/people_v1.rb +1 -1
- data/generated/google/apis/people_v1/classes.rb +14 -13
- data/generated/google/apis/people_v1/service.rb +12 -16
- data/generated/google/apis/policytroubleshooter_v1.rb +1 -1
- data/generated/google/apis/policytroubleshooter_v1/classes.rb +71 -19
- data/generated/google/apis/policytroubleshooter_v1beta.rb +1 -1
- data/generated/google/apis/policytroubleshooter_v1beta/classes.rb +71 -19
- data/generated/google/apis/poly_v1.rb +1 -1
- data/generated/google/apis/prod_tt_sasportal_v1alpha1.rb +1 -1
- data/generated/google/apis/prod_tt_sasportal_v1alpha1/classes.rb +39 -0
- data/generated/google/apis/prod_tt_sasportal_v1alpha1/representations.rb +27 -0
- data/generated/google/apis/prod_tt_sasportal_v1alpha1/service.rb +66 -0
- data/generated/google/apis/pubsub_v1.rb +1 -1
- data/generated/google/apis/pubsub_v1/classes.rb +119 -15
- data/generated/google/apis/pubsub_v1/representations.rb +17 -0
- data/generated/google/apis/pubsub_v1beta2.rb +1 -1
- data/generated/google/apis/pubsub_v1beta2/classes.rb +49 -15
- data/generated/google/apis/recommender_v1beta1.rb +1 -1
- data/generated/google/apis/recommender_v1beta1/classes.rb +2 -5
- data/generated/google/apis/recommender_v1beta1/service.rb +13 -11
- data/generated/google/apis/redis_v1.rb +1 -1
- data/generated/google/apis/redis_v1/classes.rb +10 -3
- data/generated/google/apis/redis_v1/representations.rb +1 -0
- data/generated/google/apis/redis_v1beta1.rb +1 -1
- data/generated/google/apis/redis_v1beta1/classes.rb +29 -3
- data/generated/google/apis/redis_v1beta1/representations.rb +14 -0
- data/generated/google/apis/redis_v1beta1/service.rb +36 -0
- data/generated/google/apis/remotebuildexecution_v1.rb +1 -1
- data/generated/google/apis/remotebuildexecution_v1/classes.rb +6 -0
- data/generated/google/apis/remotebuildexecution_v1/representations.rb +1 -0
- data/generated/google/apis/remotebuildexecution_v1alpha.rb +1 -1
- data/generated/google/apis/remotebuildexecution_v1alpha/classes.rb +6 -0
- data/generated/google/apis/remotebuildexecution_v1alpha/representations.rb +1 -0
- data/generated/google/apis/remotebuildexecution_v2.rb +1 -1
- data/generated/google/apis/remotebuildexecution_v2/classes.rb +6 -0
- data/generated/google/apis/remotebuildexecution_v2/representations.rb +1 -0
- data/generated/google/apis/run_v1.rb +1 -1
- data/generated/google/apis/run_v1/classes.rb +49 -15
- data/generated/google/apis/run_v1/service.rb +0 -30
- data/generated/google/apis/run_v1alpha1.rb +1 -1
- data/generated/google/apis/run_v1alpha1/classes.rb +278 -572
- data/generated/google/apis/run_v1alpha1/representations.rb +82 -223
- data/generated/google/apis/run_v1alpha1/service.rb +272 -682
- data/generated/google/apis/run_v1beta1.rb +4 -1
- data/generated/google/apis/runtimeconfig_v1.rb +1 -1
- data/generated/google/apis/runtimeconfig_v1beta1.rb +1 -1
- data/generated/google/apis/runtimeconfig_v1beta1/classes.rb +49 -15
- data/generated/google/apis/safebrowsing_v4.rb +1 -1
- data/generated/google/apis/safebrowsing_v4/classes.rb +2 -2
- data/generated/google/apis/sasportal_v1alpha1.rb +1 -1
- data/generated/google/apis/sasportal_v1alpha1/classes.rb +39 -0
- data/generated/google/apis/sasportal_v1alpha1/representations.rb +27 -0
- data/generated/google/apis/sasportal_v1alpha1/service.rb +66 -0
- data/generated/google/apis/script_v1.rb +1 -1
- data/generated/google/apis/searchconsole_v1.rb +1 -1
- data/generated/google/apis/secretmanager_v1beta1.rb +3 -2
- data/generated/google/apis/secretmanager_v1beta1/classes.rb +49 -15
- data/generated/google/apis/secretmanager_v1beta1/service.rb +2 -1
- data/generated/google/apis/securitycenter_v1.rb +1 -1
- data/generated/google/apis/securitycenter_v1/classes.rb +449 -15
- data/generated/google/apis/securitycenter_v1/representations.rb +138 -0
- data/generated/google/apis/securitycenter_v1beta1.rb +1 -1
- data/generated/google/apis/securitycenter_v1beta1/classes.rb +442 -15
- data/generated/google/apis/securitycenter_v1beta1/representations.rb +138 -0
- data/generated/google/apis/securitycenter_v1p1alpha1.rb +1 -1
- data/generated/google/apis/securitycenter_v1p1alpha1/classes.rb +393 -0
- data/generated/google/apis/securitycenter_v1p1alpha1/representations.rb +138 -0
- data/generated/google/apis/securitycenter_v1p1beta1.rb +35 -0
- data/generated/google/apis/securitycenter_v1p1beta1/classes.rb +1999 -0
- data/generated/google/apis/securitycenter_v1p1beta1/representations.rb +699 -0
- data/generated/google/apis/securitycenter_v1p1beta1/service.rb +1315 -0
- data/generated/google/apis/serviceconsumermanagement_v1.rb +1 -1
- data/generated/google/apis/serviceconsumermanagement_v1/classes.rb +101 -5
- data/generated/google/apis/serviceconsumermanagement_v1/representations.rb +19 -0
- data/generated/google/apis/servicecontrol_v1.rb +1 -1
- data/generated/google/apis/servicecontrol_v1/classes.rb +238 -0
- data/generated/google/apis/servicecontrol_v1/representations.rb +86 -0
- data/generated/google/apis/servicemanagement_v1.rb +1 -1
- data/generated/google/apis/servicemanagement_v1/classes.rb +156 -20
- data/generated/google/apis/servicemanagement_v1/representations.rb +18 -0
- data/generated/google/apis/servicenetworking_v1.rb +1 -1
- data/generated/google/apis/servicenetworking_v1/classes.rb +101 -5
- data/generated/google/apis/servicenetworking_v1/representations.rb +19 -0
- data/generated/google/apis/servicenetworking_v1beta.rb +1 -1
- data/generated/google/apis/servicenetworking_v1beta/classes.rb +101 -5
- data/generated/google/apis/servicenetworking_v1beta/representations.rb +19 -0
- data/generated/google/apis/serviceusage_v1.rb +1 -1
- data/generated/google/apis/serviceusage_v1/classes.rb +101 -5
- data/generated/google/apis/serviceusage_v1/representations.rb +19 -0
- data/generated/google/apis/serviceusage_v1beta1.rb +1 -1
- data/generated/google/apis/serviceusage_v1beta1/classes.rb +101 -5
- data/generated/google/apis/serviceusage_v1beta1/representations.rb +19 -0
- data/generated/google/apis/sheets_v4.rb +1 -1
- data/generated/google/apis/sheets_v4/classes.rb +195 -31
- data/generated/google/apis/sheets_v4/representations.rb +56 -0
- data/generated/google/apis/sheets_v4/service.rb +9 -11
- data/generated/google/apis/sourcerepo_v1.rb +1 -1
- data/generated/google/apis/sourcerepo_v1/classes.rb +172 -65
- data/generated/google/apis/sourcerepo_v1/service.rb +9 -1
- data/generated/google/apis/spanner_v1.rb +1 -1
- data/generated/google/apis/spanner_v1/classes.rb +49 -15
- data/generated/google/apis/spanner_v1/service.rb +1 -1
- data/generated/google/apis/speech_v1.rb +1 -1
- data/generated/google/apis/speech_v1/classes.rb +1 -8
- data/generated/google/apis/speech_v1/representations.rb +0 -1
- data/generated/google/apis/speech_v1p1beta1.rb +1 -1
- data/generated/google/apis/speech_v1p1beta1/classes.rb +3 -8
- data/generated/google/apis/speech_v1p1beta1/representations.rb +0 -1
- data/generated/google/apis/sql_v1beta4.rb +1 -1
- data/generated/google/apis/sql_v1beta4/classes.rb +130 -2
- data/generated/google/apis/sql_v1beta4/representations.rb +52 -0
- data/generated/google/apis/sql_v1beta4/service.rb +190 -9
- data/generated/google/apis/storage_v1.rb +1 -1
- data/generated/google/apis/storage_v1/classes.rb +16 -7
- data/generated/google/apis/storage_v1/service.rb +1 -1
- data/generated/google/apis/storage_v1beta2.rb +1 -1
- data/generated/google/apis/storage_v1beta2/service.rb +1 -1
- data/generated/google/apis/storagetransfer_v1.rb +1 -1
- data/generated/google/apis/storagetransfer_v1/classes.rb +13 -4
- data/generated/google/apis/storagetransfer_v1/service.rb +0 -30
- data/generated/google/apis/streetviewpublish_v1.rb +1 -1
- data/generated/google/apis/tagmanager_v1.rb +1 -1
- data/generated/google/apis/tagmanager_v1/classes.rb +2 -0
- data/generated/google/apis/tagmanager_v2.rb +1 -1
- data/generated/google/apis/tagmanager_v2/classes.rb +170 -0
- data/generated/google/apis/tagmanager_v2/representations.rb +49 -0
- data/generated/google/apis/tasks_v1.rb +1 -1
- data/generated/google/apis/tasks_v1/service.rb +4 -1
- data/generated/google/apis/toolresults_v1.rb +1 -1
- data/generated/google/apis/tpu_v1.rb +1 -1
- data/generated/google/apis/tpu_v1/classes.rb +0 -1
- data/generated/google/apis/tpu_v1alpha1.rb +1 -1
- data/generated/google/apis/tpu_v1alpha1/classes.rb +0 -1
- data/generated/google/apis/translate_v3.rb +37 -0
- data/generated/google/apis/translate_v3/classes.rb +943 -0
- data/generated/google/apis/translate_v3/representations.rb +439 -0
- data/generated/google/apis/translate_v3/service.rb +781 -0
- data/generated/google/apis/videointelligence_v1.rb +1 -1
- data/generated/google/apis/videointelligence_v1/classes.rb +97 -0
- data/generated/google/apis/videointelligence_v1/representations.rb +51 -0
- data/generated/google/apis/videointelligence_v1beta2.rb +1 -1
- data/generated/google/apis/videointelligence_v1beta2/classes.rb +97 -0
- data/generated/google/apis/videointelligence_v1beta2/representations.rb +51 -0
- data/generated/google/apis/videointelligence_v1p1beta1.rb +1 -1
- data/generated/google/apis/videointelligence_v1p1beta1/classes.rb +97 -0
- data/generated/google/apis/videointelligence_v1p1beta1/representations.rb +51 -0
- data/generated/google/apis/videointelligence_v1p2beta1.rb +1 -1
- data/generated/google/apis/videointelligence_v1p2beta1/classes.rb +97 -0
- data/generated/google/apis/videointelligence_v1p2beta1/representations.rb +51 -0
- data/generated/google/apis/videointelligence_v1p3beta1.rb +1 -1
- data/generated/google/apis/videointelligence_v1p3beta1/classes.rb +184 -0
- data/generated/google/apis/videointelligence_v1p3beta1/representations.rb +85 -0
- data/generated/google/apis/websecurityscanner_v1.rb +1 -1
- data/generated/google/apis/websecurityscanner_v1/classes.rb +63 -0
- data/generated/google/apis/websecurityscanner_v1/representations.rb +31 -0
- data/generated/google/apis/websecurityscanner_v1alpha.rb +1 -1
- data/generated/google/apis/websecurityscanner_v1beta.rb +1 -1
- data/generated/google/apis/websecurityscanner_v1beta/classes.rb +63 -0
- data/generated/google/apis/websecurityscanner_v1beta/representations.rb +31 -0
- data/generated/google/apis/youtube_analytics_v1.rb +1 -1
- data/generated/google/apis/youtube_analytics_v2.rb +1 -1
- data/generated/google/apis/youtube_partner_v1.rb +1 -1
- data/generated/google/apis/youtube_v3.rb +1 -1
- data/generated/google/apis/youtube_v3/classes.rb +61 -9
- data/generated/google/apis/youtube_v3/representations.rb +8 -1
- data/generated/google/apis/youtube_v3/service.rb +8 -2
- data/generated/google/apis/youtubereporting_v1.rb +1 -1
- data/lib/google/apis/core/base_service.rb +1 -1
- data/lib/google/apis/core/http_command.rb +1 -2
- data/lib/google/apis/version.rb +1 -1
- metadata +27 -27
- data/generated/google/apis/analytics_v2_4.rb +0 -37
- data/generated/google/apis/analytics_v2_4/representations.rb +0 -26
- data/generated/google/apis/analytics_v2_4/service.rb +0 -331
- data/generated/google/apis/plus_domains_v1.rb +0 -55
- data/generated/google/apis/plus_domains_v1/classes.rb +0 -2609
- data/generated/google/apis/plus_domains_v1/representations.rb +0 -1111
- data/generated/google/apis/plus_domains_v1/service.rb +0 -489
- data/generated/google/apis/replicapool_v1beta1.rb +0 -50
- data/generated/google/apis/replicapool_v1beta1/classes.rb +0 -918
- data/generated/google/apis/replicapool_v1beta1/representations.rb +0 -409
- data/generated/google/apis/replicapool_v1beta1/service.rb +0 -489
- data/generated/google/apis/servicebroker_v1/classes.rb +0 -368
- data/generated/google/apis/servicebroker_v1/representations.rb +0 -114
- data/generated/google/apis/servicebroker_v1/service.rb +0 -177
- data/generated/google/apis/servicebroker_v1alpha1/classes.rb +0 -1072
- data/generated/google/apis/servicebroker_v1alpha1/representations.rb +0 -367
- data/generated/google/apis/servicebroker_v1alpha1/service.rb +0 -737
- data/generated/google/apis/servicebroker_v1beta1/classes.rb +0 -1208
- data/generated/google/apis/servicebroker_v1beta1/representations.rb +0 -416
- data/generated/google/apis/servicebroker_v1beta1/service.rb +0 -926
|
@@ -40,6 +40,54 @@ module Google
|
|
|
40
40
|
include Google::Apis::Core::JsonObjectSupport
|
|
41
41
|
end
|
|
42
42
|
|
|
43
|
+
class GoogleCloudSecuritycenterV1p1beta1Asset
|
|
44
|
+
class Representation < Google::Apis::Core::JsonRepresentation; end
|
|
45
|
+
|
|
46
|
+
include Google::Apis::Core::JsonObjectSupport
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
class GoogleCloudSecuritycenterV1p1beta1Finding
|
|
50
|
+
class Representation < Google::Apis::Core::JsonRepresentation; end
|
|
51
|
+
|
|
52
|
+
include Google::Apis::Core::JsonObjectSupport
|
|
53
|
+
end
|
|
54
|
+
|
|
55
|
+
class GoogleCloudSecuritycenterV1p1beta1IamPolicy
|
|
56
|
+
class Representation < Google::Apis::Core::JsonRepresentation; end
|
|
57
|
+
|
|
58
|
+
include Google::Apis::Core::JsonObjectSupport
|
|
59
|
+
end
|
|
60
|
+
|
|
61
|
+
class GoogleCloudSecuritycenterV1p1beta1NotificationMessage
|
|
62
|
+
class Representation < Google::Apis::Core::JsonRepresentation; end
|
|
63
|
+
|
|
64
|
+
include Google::Apis::Core::JsonObjectSupport
|
|
65
|
+
end
|
|
66
|
+
|
|
67
|
+
class GoogleCloudSecuritycenterV1p1beta1RunAssetDiscoveryResponse
|
|
68
|
+
class Representation < Google::Apis::Core::JsonRepresentation; end
|
|
69
|
+
|
|
70
|
+
include Google::Apis::Core::JsonObjectSupport
|
|
71
|
+
end
|
|
72
|
+
|
|
73
|
+
class GoogleCloudSecuritycenterV1p1beta1SecurityCenterProperties
|
|
74
|
+
class Representation < Google::Apis::Core::JsonRepresentation; end
|
|
75
|
+
|
|
76
|
+
include Google::Apis::Core::JsonObjectSupport
|
|
77
|
+
end
|
|
78
|
+
|
|
79
|
+
class GoogleCloudSecuritycenterV1p1beta1SecurityMarks
|
|
80
|
+
class Representation < Google::Apis::Core::JsonRepresentation; end
|
|
81
|
+
|
|
82
|
+
include Google::Apis::Core::JsonObjectSupport
|
|
83
|
+
end
|
|
84
|
+
|
|
85
|
+
class GoogleCloudSecuritycenterV1p1beta1TemporalAsset
|
|
86
|
+
class Representation < Google::Apis::Core::JsonRepresentation; end
|
|
87
|
+
|
|
88
|
+
include Google::Apis::Core::JsonObjectSupport
|
|
89
|
+
end
|
|
90
|
+
|
|
43
91
|
class ListOperationsResponse
|
|
44
92
|
class Representation < Google::Apis::Core::JsonRepresentation; end
|
|
45
93
|
|
|
@@ -80,6 +128,96 @@ module Google
|
|
|
80
128
|
end
|
|
81
129
|
end
|
|
82
130
|
|
|
131
|
+
class GoogleCloudSecuritycenterV1p1beta1Asset
|
|
132
|
+
# @private
|
|
133
|
+
class Representation < Google::Apis::Core::JsonRepresentation
|
|
134
|
+
property :create_time, as: 'createTime'
|
|
135
|
+
property :iam_policy, as: 'iamPolicy', class: Google::Apis::SecuritycenterV1p1alpha1::GoogleCloudSecuritycenterV1p1beta1IamPolicy, decorator: Google::Apis::SecuritycenterV1p1alpha1::GoogleCloudSecuritycenterV1p1beta1IamPolicy::Representation
|
|
136
|
+
|
|
137
|
+
property :name, as: 'name'
|
|
138
|
+
hash :resource_properties, as: 'resourceProperties'
|
|
139
|
+
property :security_center_properties, as: 'securityCenterProperties', class: Google::Apis::SecuritycenterV1p1alpha1::GoogleCloudSecuritycenterV1p1beta1SecurityCenterProperties, decorator: Google::Apis::SecuritycenterV1p1alpha1::GoogleCloudSecuritycenterV1p1beta1SecurityCenterProperties::Representation
|
|
140
|
+
|
|
141
|
+
property :security_marks, as: 'securityMarks', class: Google::Apis::SecuritycenterV1p1alpha1::GoogleCloudSecuritycenterV1p1beta1SecurityMarks, decorator: Google::Apis::SecuritycenterV1p1alpha1::GoogleCloudSecuritycenterV1p1beta1SecurityMarks::Representation
|
|
142
|
+
|
|
143
|
+
property :update_time, as: 'updateTime'
|
|
144
|
+
end
|
|
145
|
+
end
|
|
146
|
+
|
|
147
|
+
class GoogleCloudSecuritycenterV1p1beta1Finding
|
|
148
|
+
# @private
|
|
149
|
+
class Representation < Google::Apis::Core::JsonRepresentation
|
|
150
|
+
property :category, as: 'category'
|
|
151
|
+
property :create_time, as: 'createTime'
|
|
152
|
+
property :event_time, as: 'eventTime'
|
|
153
|
+
property :external_uri, as: 'externalUri'
|
|
154
|
+
property :name, as: 'name'
|
|
155
|
+
property :parent, as: 'parent'
|
|
156
|
+
property :resource_name, as: 'resourceName'
|
|
157
|
+
property :security_marks, as: 'securityMarks', class: Google::Apis::SecuritycenterV1p1alpha1::GoogleCloudSecuritycenterV1p1beta1SecurityMarks, decorator: Google::Apis::SecuritycenterV1p1alpha1::GoogleCloudSecuritycenterV1p1beta1SecurityMarks::Representation
|
|
158
|
+
|
|
159
|
+
hash :source_properties, as: 'sourceProperties'
|
|
160
|
+
property :state, as: 'state'
|
|
161
|
+
end
|
|
162
|
+
end
|
|
163
|
+
|
|
164
|
+
class GoogleCloudSecuritycenterV1p1beta1IamPolicy
|
|
165
|
+
# @private
|
|
166
|
+
class Representation < Google::Apis::Core::JsonRepresentation
|
|
167
|
+
property :policy_blob, as: 'policyBlob'
|
|
168
|
+
end
|
|
169
|
+
end
|
|
170
|
+
|
|
171
|
+
class GoogleCloudSecuritycenterV1p1beta1NotificationMessage
|
|
172
|
+
# @private
|
|
173
|
+
class Representation < Google::Apis::Core::JsonRepresentation
|
|
174
|
+
property :finding, as: 'finding', class: Google::Apis::SecuritycenterV1p1alpha1::GoogleCloudSecuritycenterV1p1beta1Finding, decorator: Google::Apis::SecuritycenterV1p1alpha1::GoogleCloudSecuritycenterV1p1beta1Finding::Representation
|
|
175
|
+
|
|
176
|
+
property :notification_config_name, as: 'notificationConfigName'
|
|
177
|
+
property :temporal_asset, as: 'temporalAsset', class: Google::Apis::SecuritycenterV1p1alpha1::GoogleCloudSecuritycenterV1p1beta1TemporalAsset, decorator: Google::Apis::SecuritycenterV1p1alpha1::GoogleCloudSecuritycenterV1p1beta1TemporalAsset::Representation
|
|
178
|
+
|
|
179
|
+
end
|
|
180
|
+
end
|
|
181
|
+
|
|
182
|
+
class GoogleCloudSecuritycenterV1p1beta1RunAssetDiscoveryResponse
|
|
183
|
+
# @private
|
|
184
|
+
class Representation < Google::Apis::Core::JsonRepresentation
|
|
185
|
+
property :duration, as: 'duration'
|
|
186
|
+
property :state, as: 'state'
|
|
187
|
+
end
|
|
188
|
+
end
|
|
189
|
+
|
|
190
|
+
class GoogleCloudSecuritycenterV1p1beta1SecurityCenterProperties
|
|
191
|
+
# @private
|
|
192
|
+
class Representation < Google::Apis::Core::JsonRepresentation
|
|
193
|
+
property :resource_display_name, as: 'resourceDisplayName'
|
|
194
|
+
property :resource_name, as: 'resourceName'
|
|
195
|
+
collection :resource_owners, as: 'resourceOwners'
|
|
196
|
+
property :resource_parent, as: 'resourceParent'
|
|
197
|
+
property :resource_parent_display_name, as: 'resourceParentDisplayName'
|
|
198
|
+
property :resource_project, as: 'resourceProject'
|
|
199
|
+
property :resource_project_display_name, as: 'resourceProjectDisplayName'
|
|
200
|
+
property :resource_type, as: 'resourceType'
|
|
201
|
+
end
|
|
202
|
+
end
|
|
203
|
+
|
|
204
|
+
class GoogleCloudSecuritycenterV1p1beta1SecurityMarks
|
|
205
|
+
# @private
|
|
206
|
+
class Representation < Google::Apis::Core::JsonRepresentation
|
|
207
|
+
hash :marks, as: 'marks'
|
|
208
|
+
property :name, as: 'name'
|
|
209
|
+
end
|
|
210
|
+
end
|
|
211
|
+
|
|
212
|
+
class GoogleCloudSecuritycenterV1p1beta1TemporalAsset
|
|
213
|
+
# @private
|
|
214
|
+
class Representation < Google::Apis::Core::JsonRepresentation
|
|
215
|
+
property :asset, as: 'asset', class: Google::Apis::SecuritycenterV1p1alpha1::GoogleCloudSecuritycenterV1p1beta1Asset, decorator: Google::Apis::SecuritycenterV1p1alpha1::GoogleCloudSecuritycenterV1p1beta1Asset::Representation
|
|
216
|
+
|
|
217
|
+
property :change_type, as: 'changeType'
|
|
218
|
+
end
|
|
219
|
+
end
|
|
220
|
+
|
|
83
221
|
class ListOperationsResponse
|
|
84
222
|
# @private
|
|
85
223
|
class Representation < Google::Apis::Core::JsonRepresentation
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
# Copyright 2015 Google Inc.
|
|
2
|
+
#
|
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
# you may not use this file except in compliance with the License.
|
|
5
|
+
# You may obtain a copy of the License at
|
|
6
|
+
#
|
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
#
|
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
# See the License for the specific language governing permissions and
|
|
13
|
+
# limitations under the License.
|
|
14
|
+
|
|
15
|
+
require 'google/apis/securitycenter_v1p1beta1/service.rb'
|
|
16
|
+
require 'google/apis/securitycenter_v1p1beta1/classes.rb'
|
|
17
|
+
require 'google/apis/securitycenter_v1p1beta1/representations.rb'
|
|
18
|
+
|
|
19
|
+
module Google
|
|
20
|
+
module Apis
|
|
21
|
+
# Cloud Security Command Center API
|
|
22
|
+
#
|
|
23
|
+
# Cloud Security Command Center API provides access to temporal views of assets
|
|
24
|
+
# and findings within an organization.
|
|
25
|
+
#
|
|
26
|
+
# @see https://console.cloud.google.com/apis/api/securitycenter.googleapis.com/overview
|
|
27
|
+
module SecuritycenterV1p1beta1
|
|
28
|
+
VERSION = 'V1p1beta1'
|
|
29
|
+
REVISION = '20200131'
|
|
30
|
+
|
|
31
|
+
# View and manage your data across Google Cloud Platform services
|
|
32
|
+
AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform'
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
end
|
|
@@ -0,0 +1,1999 @@
|
|
|
1
|
+
# Copyright 2015 Google Inc.
|
|
2
|
+
#
|
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
# you may not use this file except in compliance with the License.
|
|
5
|
+
# You may obtain a copy of the License at
|
|
6
|
+
#
|
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
#
|
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
# See the License for the specific language governing permissions and
|
|
13
|
+
# limitations under the License.
|
|
14
|
+
|
|
15
|
+
require 'date'
|
|
16
|
+
require 'google/apis/core/base_service'
|
|
17
|
+
require 'google/apis/core/json_representation'
|
|
18
|
+
require 'google/apis/core/hashable'
|
|
19
|
+
require 'google/apis/errors'
|
|
20
|
+
|
|
21
|
+
module Google
|
|
22
|
+
module Apis
|
|
23
|
+
module SecuritycenterV1p1beta1
|
|
24
|
+
|
|
25
|
+
# The configuration used for Asset Discovery runs.
|
|
26
|
+
class AssetDiscoveryConfig
|
|
27
|
+
include Google::Apis::Core::Hashable
|
|
28
|
+
|
|
29
|
+
# The mode to use for filtering asset discovery.
|
|
30
|
+
# Corresponds to the JSON property `inclusionMode`
|
|
31
|
+
# @return [String]
|
|
32
|
+
attr_accessor :inclusion_mode
|
|
33
|
+
|
|
34
|
+
# The project ids to use for filtering asset discovery.
|
|
35
|
+
# Corresponds to the JSON property `projectIds`
|
|
36
|
+
# @return [Array<String>]
|
|
37
|
+
attr_accessor :project_ids
|
|
38
|
+
|
|
39
|
+
def initialize(**args)
|
|
40
|
+
update!(**args)
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
# Update properties of this object
|
|
44
|
+
def update!(**args)
|
|
45
|
+
@inclusion_mode = args[:inclusion_mode] if args.key?(:inclusion_mode)
|
|
46
|
+
@project_ids = args[:project_ids] if args.key?(:project_ids)
|
|
47
|
+
end
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
# Specifies the audit configuration for a service.
|
|
51
|
+
# The configuration determines which permission types are logged, and what
|
|
52
|
+
# identities, if any, are exempted from logging.
|
|
53
|
+
# An AuditConfig must have one or more AuditLogConfigs.
|
|
54
|
+
# If there are AuditConfigs for both `allServices` and a specific service,
|
|
55
|
+
# the union of the two AuditConfigs is used for that service: the log_types
|
|
56
|
+
# specified in each AuditConfig are enabled, and the exempted_members in each
|
|
57
|
+
# AuditLogConfig are exempted.
|
|
58
|
+
# Example Policy with multiple AuditConfigs:
|
|
59
|
+
# `
|
|
60
|
+
# "audit_configs": [
|
|
61
|
+
# `
|
|
62
|
+
# "service": "allServices"
|
|
63
|
+
# "audit_log_configs": [
|
|
64
|
+
# `
|
|
65
|
+
# "log_type": "DATA_READ",
|
|
66
|
+
# "exempted_members": [
|
|
67
|
+
# "user:jose@example.com"
|
|
68
|
+
# ]
|
|
69
|
+
# `,
|
|
70
|
+
# `
|
|
71
|
+
# "log_type": "DATA_WRITE",
|
|
72
|
+
# `,
|
|
73
|
+
# `
|
|
74
|
+
# "log_type": "ADMIN_READ",
|
|
75
|
+
# `
|
|
76
|
+
# ]
|
|
77
|
+
# `,
|
|
78
|
+
# `
|
|
79
|
+
# "service": "sampleservice.googleapis.com"
|
|
80
|
+
# "audit_log_configs": [
|
|
81
|
+
# `
|
|
82
|
+
# "log_type": "DATA_READ",
|
|
83
|
+
# `,
|
|
84
|
+
# `
|
|
85
|
+
# "log_type": "DATA_WRITE",
|
|
86
|
+
# "exempted_members": [
|
|
87
|
+
# "user:aliya@example.com"
|
|
88
|
+
# ]
|
|
89
|
+
# `
|
|
90
|
+
# ]
|
|
91
|
+
# `
|
|
92
|
+
# ]
|
|
93
|
+
# `
|
|
94
|
+
# For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ
|
|
95
|
+
# logging. It also exempts jose@example.com from DATA_READ logging, and
|
|
96
|
+
# aliya@example.com from DATA_WRITE logging.
|
|
97
|
+
class AuditConfig
|
|
98
|
+
include Google::Apis::Core::Hashable
|
|
99
|
+
|
|
100
|
+
# The configuration for logging of each type of permission.
|
|
101
|
+
# Corresponds to the JSON property `auditLogConfigs`
|
|
102
|
+
# @return [Array<Google::Apis::SecuritycenterV1p1beta1::AuditLogConfig>]
|
|
103
|
+
attr_accessor :audit_log_configs
|
|
104
|
+
|
|
105
|
+
# Specifies a service that will be enabled for audit logging.
|
|
106
|
+
# For example, `storage.googleapis.com`, `cloudsql.googleapis.com`.
|
|
107
|
+
# `allServices` is a special value that covers all services.
|
|
108
|
+
# Corresponds to the JSON property `service`
|
|
109
|
+
# @return [String]
|
|
110
|
+
attr_accessor :service
|
|
111
|
+
|
|
112
|
+
def initialize(**args)
|
|
113
|
+
update!(**args)
|
|
114
|
+
end
|
|
115
|
+
|
|
116
|
+
# Update properties of this object
|
|
117
|
+
def update!(**args)
|
|
118
|
+
@audit_log_configs = args[:audit_log_configs] if args.key?(:audit_log_configs)
|
|
119
|
+
@service = args[:service] if args.key?(:service)
|
|
120
|
+
end
|
|
121
|
+
end
|
|
122
|
+
|
|
123
|
+
# Provides the configuration for logging a type of permissions.
|
|
124
|
+
# Example:
|
|
125
|
+
# `
|
|
126
|
+
# "audit_log_configs": [
|
|
127
|
+
# `
|
|
128
|
+
# "log_type": "DATA_READ",
|
|
129
|
+
# "exempted_members": [
|
|
130
|
+
# "user:jose@example.com"
|
|
131
|
+
# ]
|
|
132
|
+
# `,
|
|
133
|
+
# `
|
|
134
|
+
# "log_type": "DATA_WRITE",
|
|
135
|
+
# `
|
|
136
|
+
# ]
|
|
137
|
+
# `
|
|
138
|
+
# This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting
|
|
139
|
+
# jose@example.com from DATA_READ logging.
|
|
140
|
+
class AuditLogConfig
|
|
141
|
+
include Google::Apis::Core::Hashable
|
|
142
|
+
|
|
143
|
+
# Specifies the identities that do not cause logging for this type of
|
|
144
|
+
# permission.
|
|
145
|
+
# Follows the same format of Binding.members.
|
|
146
|
+
# Corresponds to the JSON property `exemptedMembers`
|
|
147
|
+
# @return [Array<String>]
|
|
148
|
+
attr_accessor :exempted_members
|
|
149
|
+
|
|
150
|
+
# The log type that this config enables.
|
|
151
|
+
# Corresponds to the JSON property `logType`
|
|
152
|
+
# @return [String]
|
|
153
|
+
attr_accessor :log_type
|
|
154
|
+
|
|
155
|
+
def initialize(**args)
|
|
156
|
+
update!(**args)
|
|
157
|
+
end
|
|
158
|
+
|
|
159
|
+
# Update properties of this object
|
|
160
|
+
def update!(**args)
|
|
161
|
+
@exempted_members = args[:exempted_members] if args.key?(:exempted_members)
|
|
162
|
+
@log_type = args[:log_type] if args.key?(:log_type)
|
|
163
|
+
end
|
|
164
|
+
end
|
|
165
|
+
|
|
166
|
+
# Associates `members` with a `role`.
|
|
167
|
+
class Binding
|
|
168
|
+
include Google::Apis::Core::Hashable
|
|
169
|
+
|
|
170
|
+
# Represents a textual expression in the Common Expression Language (CEL)
|
|
171
|
+
# syntax. CEL is a C-like expression language. The syntax and semantics of CEL
|
|
172
|
+
# are documented at https://github.com/google/cel-spec.
|
|
173
|
+
# Example (Comparison):
|
|
174
|
+
# title: "Summary size limit"
|
|
175
|
+
# description: "Determines if a summary is less than 100 chars"
|
|
176
|
+
# expression: "document.summary.size() < 100"
|
|
177
|
+
# Example (Equality):
|
|
178
|
+
# title: "Requestor is owner"
|
|
179
|
+
# description: "Determines if requestor is the document owner"
|
|
180
|
+
# expression: "document.owner == request.auth.claims.email"
|
|
181
|
+
# Example (Logic):
|
|
182
|
+
# title: "Public documents"
|
|
183
|
+
# description: "Determine whether the document should be publicly visible"
|
|
184
|
+
# expression: "document.type != 'private' && document.type != 'internal'"
|
|
185
|
+
# Example (Data Manipulation):
|
|
186
|
+
# title: "Notification string"
|
|
187
|
+
# description: "Create a notification string with a timestamp."
|
|
188
|
+
# expression: "'New message received at ' + string(document.create_time)"
|
|
189
|
+
# The exact variables and functions that may be referenced within an expression
|
|
190
|
+
# are determined by the service that evaluates it. See the service
|
|
191
|
+
# documentation for additional information.
|
|
192
|
+
# Corresponds to the JSON property `condition`
|
|
193
|
+
# @return [Google::Apis::SecuritycenterV1p1beta1::Expr]
|
|
194
|
+
attr_accessor :condition
|
|
195
|
+
|
|
196
|
+
# Specifies the identities requesting access for a Cloud Platform resource.
|
|
197
|
+
# `members` can have the following values:
|
|
198
|
+
# * `allUsers`: A special identifier that represents anyone who is
|
|
199
|
+
# on the internet; with or without a Google account.
|
|
200
|
+
# * `allAuthenticatedUsers`: A special identifier that represents anyone
|
|
201
|
+
# who is authenticated with a Google account or a service account.
|
|
202
|
+
# * `user:`emailid``: An email address that represents a specific Google
|
|
203
|
+
# account. For example, `alice@example.com` .
|
|
204
|
+
# * `serviceAccount:`emailid``: An email address that represents a service
|
|
205
|
+
# account. For example, `my-other-app@appspot.gserviceaccount.com`.
|
|
206
|
+
# * `group:`emailid``: An email address that represents a Google group.
|
|
207
|
+
# For example, `admins@example.com`.
|
|
208
|
+
# * `deleted:user:`emailid`?uid=`uniqueid``: An email address (plus unique
|
|
209
|
+
# identifier) representing a user that has been recently deleted. For
|
|
210
|
+
# example, `alice@example.com?uid=123456789012345678901`. If the user is
|
|
211
|
+
# recovered, this value reverts to `user:`emailid`` and the recovered user
|
|
212
|
+
# retains the role in the binding.
|
|
213
|
+
# * `deleted:serviceAccount:`emailid`?uid=`uniqueid``: An email address (plus
|
|
214
|
+
# unique identifier) representing a service account that has been recently
|
|
215
|
+
# deleted. For example,
|
|
216
|
+
# `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.
|
|
217
|
+
# If the service account is undeleted, this value reverts to
|
|
218
|
+
# `serviceAccount:`emailid`` and the undeleted service account retains the
|
|
219
|
+
# role in the binding.
|
|
220
|
+
# * `deleted:group:`emailid`?uid=`uniqueid``: An email address (plus unique
|
|
221
|
+
# identifier) representing a Google group that has been recently
|
|
222
|
+
# deleted. For example, `admins@example.com?uid=123456789012345678901`. If
|
|
223
|
+
# the group is recovered, this value reverts to `group:`emailid`` and the
|
|
224
|
+
# recovered group retains the role in the binding.
|
|
225
|
+
# * `domain:`domain``: The G Suite domain (primary) that represents all the
|
|
226
|
+
# users of that domain. For example, `google.com` or `example.com`.
|
|
227
|
+
# Corresponds to the JSON property `members`
|
|
228
|
+
# @return [Array<String>]
|
|
229
|
+
attr_accessor :members
|
|
230
|
+
|
|
231
|
+
# Role that is assigned to `members`.
|
|
232
|
+
# For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
|
|
233
|
+
# Corresponds to the JSON property `role`
|
|
234
|
+
# @return [String]
|
|
235
|
+
attr_accessor :role
|
|
236
|
+
|
|
237
|
+
def initialize(**args)
|
|
238
|
+
update!(**args)
|
|
239
|
+
end
|
|
240
|
+
|
|
241
|
+
# Update properties of this object
|
|
242
|
+
def update!(**args)
|
|
243
|
+
@condition = args[:condition] if args.key?(:condition)
|
|
244
|
+
@members = args[:members] if args.key?(:members)
|
|
245
|
+
@role = args[:role] if args.key?(:role)
|
|
246
|
+
end
|
|
247
|
+
end
|
|
248
|
+
|
|
249
|
+
# A generic empty message that you can re-use to avoid defining duplicated
|
|
250
|
+
# empty messages in your APIs. A typical example is to use it as the request
|
|
251
|
+
# or the response type of an API method. For instance:
|
|
252
|
+
# service Foo `
|
|
253
|
+
# rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);
|
|
254
|
+
# `
|
|
255
|
+
# The JSON representation for `Empty` is empty JSON object ````.
|
|
256
|
+
class Empty
|
|
257
|
+
include Google::Apis::Core::Hashable
|
|
258
|
+
|
|
259
|
+
def initialize(**args)
|
|
260
|
+
update!(**args)
|
|
261
|
+
end
|
|
262
|
+
|
|
263
|
+
# Update properties of this object
|
|
264
|
+
def update!(**args)
|
|
265
|
+
end
|
|
266
|
+
end
|
|
267
|
+
|
|
268
|
+
# Represents a textual expression in the Common Expression Language (CEL)
|
|
269
|
+
# syntax. CEL is a C-like expression language. The syntax and semantics of CEL
|
|
270
|
+
# are documented at https://github.com/google/cel-spec.
|
|
271
|
+
# Example (Comparison):
|
|
272
|
+
# title: "Summary size limit"
|
|
273
|
+
# description: "Determines if a summary is less than 100 chars"
|
|
274
|
+
# expression: "document.summary.size() < 100"
|
|
275
|
+
# Example (Equality):
|
|
276
|
+
# title: "Requestor is owner"
|
|
277
|
+
# description: "Determines if requestor is the document owner"
|
|
278
|
+
# expression: "document.owner == request.auth.claims.email"
|
|
279
|
+
# Example (Logic):
|
|
280
|
+
# title: "Public documents"
|
|
281
|
+
# description: "Determine whether the document should be publicly visible"
|
|
282
|
+
# expression: "document.type != 'private' && document.type != 'internal'"
|
|
283
|
+
# Example (Data Manipulation):
|
|
284
|
+
# title: "Notification string"
|
|
285
|
+
# description: "Create a notification string with a timestamp."
|
|
286
|
+
# expression: "'New message received at ' + string(document.create_time)"
|
|
287
|
+
# The exact variables and functions that may be referenced within an expression
|
|
288
|
+
# are determined by the service that evaluates it. See the service
|
|
289
|
+
# documentation for additional information.
|
|
290
|
+
class Expr
|
|
291
|
+
include Google::Apis::Core::Hashable
|
|
292
|
+
|
|
293
|
+
# Optional. Description of the expression. This is a longer text which
|
|
294
|
+
# describes the expression, e.g. when hovered over it in a UI.
|
|
295
|
+
# Corresponds to the JSON property `description`
|
|
296
|
+
# @return [String]
|
|
297
|
+
attr_accessor :description
|
|
298
|
+
|
|
299
|
+
# Textual representation of an expression in Common Expression Language
|
|
300
|
+
# syntax.
|
|
301
|
+
# Corresponds to the JSON property `expression`
|
|
302
|
+
# @return [String]
|
|
303
|
+
attr_accessor :expression
|
|
304
|
+
|
|
305
|
+
# Optional. String indicating the location of the expression for error
|
|
306
|
+
# reporting, e.g. a file name and a position in the file.
|
|
307
|
+
# Corresponds to the JSON property `location`
|
|
308
|
+
# @return [String]
|
|
309
|
+
attr_accessor :location
|
|
310
|
+
|
|
311
|
+
# Optional. Title for the expression, i.e. a short string describing
|
|
312
|
+
# its purpose. This can be used e.g. in UIs which allow to enter the
|
|
313
|
+
# expression.
|
|
314
|
+
# Corresponds to the JSON property `title`
|
|
315
|
+
# @return [String]
|
|
316
|
+
attr_accessor :title
|
|
317
|
+
|
|
318
|
+
def initialize(**args)
|
|
319
|
+
update!(**args)
|
|
320
|
+
end
|
|
321
|
+
|
|
322
|
+
# Update properties of this object
|
|
323
|
+
def update!(**args)
|
|
324
|
+
@description = args[:description] if args.key?(:description)
|
|
325
|
+
@expression = args[:expression] if args.key?(:expression)
|
|
326
|
+
@location = args[:location] if args.key?(:location)
|
|
327
|
+
@title = args[:title] if args.key?(:title)
|
|
328
|
+
end
|
|
329
|
+
end
|
|
330
|
+
|
|
331
|
+
# Request message for `GetIamPolicy` method.
|
|
332
|
+
class GetIamPolicyRequest
|
|
333
|
+
include Google::Apis::Core::Hashable
|
|
334
|
+
|
|
335
|
+
# Encapsulates settings provided to GetIamPolicy.
|
|
336
|
+
# Corresponds to the JSON property `options`
|
|
337
|
+
# @return [Google::Apis::SecuritycenterV1p1beta1::GetPolicyOptions]
|
|
338
|
+
attr_accessor :options
|
|
339
|
+
|
|
340
|
+
def initialize(**args)
|
|
341
|
+
update!(**args)
|
|
342
|
+
end
|
|
343
|
+
|
|
344
|
+
# Update properties of this object
|
|
345
|
+
def update!(**args)
|
|
346
|
+
@options = args[:options] if args.key?(:options)
|
|
347
|
+
end
|
|
348
|
+
end
|
|
349
|
+
|
|
350
|
+
# Encapsulates settings provided to GetIamPolicy.
|
|
351
|
+
class GetPolicyOptions
|
|
352
|
+
include Google::Apis::Core::Hashable
|
|
353
|
+
|
|
354
|
+
# Optional. The policy format version to be returned.
|
|
355
|
+
# Valid values are 0, 1, and 3. Requests specifying an invalid value will be
|
|
356
|
+
# rejected.
|
|
357
|
+
# Requests for policies with any conditional bindings must specify version 3.
|
|
358
|
+
# Policies without any conditional bindings may specify any valid value or
|
|
359
|
+
# leave the field unset.
|
|
360
|
+
# Corresponds to the JSON property `requestedPolicyVersion`
|
|
361
|
+
# @return [Fixnum]
|
|
362
|
+
attr_accessor :requested_policy_version
|
|
363
|
+
|
|
364
|
+
def initialize(**args)
|
|
365
|
+
update!(**args)
|
|
366
|
+
end
|
|
367
|
+
|
|
368
|
+
# Update properties of this object
|
|
369
|
+
def update!(**args)
|
|
370
|
+
@requested_policy_version = args[:requested_policy_version] if args.key?(:requested_policy_version)
|
|
371
|
+
end
|
|
372
|
+
end
|
|
373
|
+
|
|
374
|
+
# Response of asset discovery run
|
|
375
|
+
class GoogleCloudSecuritycenterV1RunAssetDiscoveryResponse
|
|
376
|
+
include Google::Apis::Core::Hashable
|
|
377
|
+
|
|
378
|
+
# The duration between asset discovery run start and end
|
|
379
|
+
# Corresponds to the JSON property `duration`
|
|
380
|
+
# @return [String]
|
|
381
|
+
attr_accessor :duration
|
|
382
|
+
|
|
383
|
+
# The state of an asset discovery run.
|
|
384
|
+
# Corresponds to the JSON property `state`
|
|
385
|
+
# @return [String]
|
|
386
|
+
attr_accessor :state
|
|
387
|
+
|
|
388
|
+
def initialize(**args)
|
|
389
|
+
update!(**args)
|
|
390
|
+
end
|
|
391
|
+
|
|
392
|
+
# Update properties of this object
|
|
393
|
+
def update!(**args)
|
|
394
|
+
@duration = args[:duration] if args.key?(:duration)
|
|
395
|
+
@state = args[:state] if args.key?(:state)
|
|
396
|
+
end
|
|
397
|
+
end
|
|
398
|
+
|
|
399
|
+
# Response of asset discovery run
|
|
400
|
+
class GoogleCloudSecuritycenterV1beta1RunAssetDiscoveryResponse
|
|
401
|
+
include Google::Apis::Core::Hashable
|
|
402
|
+
|
|
403
|
+
# The duration between asset discovery run start and end
|
|
404
|
+
# Corresponds to the JSON property `duration`
|
|
405
|
+
# @return [String]
|
|
406
|
+
attr_accessor :duration
|
|
407
|
+
|
|
408
|
+
# The state of an asset discovery run.
|
|
409
|
+
# Corresponds to the JSON property `state`
|
|
410
|
+
# @return [String]
|
|
411
|
+
attr_accessor :state
|
|
412
|
+
|
|
413
|
+
def initialize(**args)
|
|
414
|
+
update!(**args)
|
|
415
|
+
end
|
|
416
|
+
|
|
417
|
+
# Update properties of this object
|
|
418
|
+
def update!(**args)
|
|
419
|
+
@duration = args[:duration] if args.key?(:duration)
|
|
420
|
+
@state = args[:state] if args.key?(:state)
|
|
421
|
+
end
|
|
422
|
+
end
|
|
423
|
+
|
|
424
|
+
# Cloud Security Command Center's (Cloud SCC) representation of a Google Cloud
|
|
425
|
+
# Platform (GCP) resource.
|
|
426
|
+
# The Asset is a Cloud SCC resource that captures information about a single
|
|
427
|
+
# GCP resource. All modifications to an Asset are only within the context of
|
|
428
|
+
# Cloud SCC and don't affect the referenced GCP resource.
|
|
429
|
+
class GoogleCloudSecuritycenterV1p1beta1Asset
|
|
430
|
+
include Google::Apis::Core::Hashable
|
|
431
|
+
|
|
432
|
+
# The time at which the asset was created in Cloud SCC.
|
|
433
|
+
# Corresponds to the JSON property `createTime`
|
|
434
|
+
# @return [String]
|
|
435
|
+
attr_accessor :create_time
|
|
436
|
+
|
|
437
|
+
# IAM Policy information associated with the GCP resource described by the
|
|
438
|
+
# Cloud SCC asset. This information is managed and defined by the GCP
|
|
439
|
+
# resource and cannot be modified by the user.
|
|
440
|
+
# Corresponds to the JSON property `iamPolicy`
|
|
441
|
+
# @return [Google::Apis::SecuritycenterV1p1beta1::GoogleCloudSecuritycenterV1p1beta1IamPolicy]
|
|
442
|
+
attr_accessor :iam_policy
|
|
443
|
+
|
|
444
|
+
# The relative resource name of this asset. See:
|
|
445
|
+
# https://cloud.google.com/apis/design/resource_names#relative_resource_name
|
|
446
|
+
# Example:
|
|
447
|
+
# "organizations/`organization_id`/assets/`asset_id`".
|
|
448
|
+
# Corresponds to the JSON property `name`
|
|
449
|
+
# @return [String]
|
|
450
|
+
attr_accessor :name
|
|
451
|
+
|
|
452
|
+
# Resource managed properties. These properties are managed and defined by
|
|
453
|
+
# the GCP resource and cannot be modified by the user.
|
|
454
|
+
# Corresponds to the JSON property `resourceProperties`
|
|
455
|
+
# @return [Hash<String,Object>]
|
|
456
|
+
attr_accessor :resource_properties
|
|
457
|
+
|
|
458
|
+
# Cloud SCC managed properties. These properties are managed by Cloud SCC and
|
|
459
|
+
# cannot be modified by the user.
|
|
460
|
+
# Corresponds to the JSON property `securityCenterProperties`
|
|
461
|
+
# @return [Google::Apis::SecuritycenterV1p1beta1::GoogleCloudSecuritycenterV1p1beta1SecurityCenterProperties]
|
|
462
|
+
attr_accessor :security_center_properties
|
|
463
|
+
|
|
464
|
+
# User specified security marks that are attached to the parent Cloud Security
|
|
465
|
+
# Command Center (Cloud SCC) resource. Security marks are scoped within a Cloud
|
|
466
|
+
# SCC organization -- they can be modified and viewed by all users who have
|
|
467
|
+
# proper permissions on the organization.
|
|
468
|
+
# Corresponds to the JSON property `securityMarks`
|
|
469
|
+
# @return [Google::Apis::SecuritycenterV1p1beta1::GoogleCloudSecuritycenterV1p1beta1SecurityMarks]
|
|
470
|
+
attr_accessor :security_marks
|
|
471
|
+
|
|
472
|
+
# The time at which the asset was last updated, added, or deleted in Cloud
|
|
473
|
+
# SCC.
|
|
474
|
+
# Corresponds to the JSON property `updateTime`
|
|
475
|
+
# @return [String]
|
|
476
|
+
attr_accessor :update_time
|
|
477
|
+
|
|
478
|
+
def initialize(**args)
|
|
479
|
+
update!(**args)
|
|
480
|
+
end
|
|
481
|
+
|
|
482
|
+
# Update properties of this object
|
|
483
|
+
def update!(**args)
|
|
484
|
+
@create_time = args[:create_time] if args.key?(:create_time)
|
|
485
|
+
@iam_policy = args[:iam_policy] if args.key?(:iam_policy)
|
|
486
|
+
@name = args[:name] if args.key?(:name)
|
|
487
|
+
@resource_properties = args[:resource_properties] if args.key?(:resource_properties)
|
|
488
|
+
@security_center_properties = args[:security_center_properties] if args.key?(:security_center_properties)
|
|
489
|
+
@security_marks = args[:security_marks] if args.key?(:security_marks)
|
|
490
|
+
@update_time = args[:update_time] if args.key?(:update_time)
|
|
491
|
+
end
|
|
492
|
+
end
|
|
493
|
+
|
|
494
|
+
# Cloud Security Command Center (Cloud SCC) finding.
|
|
495
|
+
# A finding is a record of assessment data (security, risk, health or privacy)
|
|
496
|
+
# ingested into Cloud SCC for presentation, notification, analysis,
|
|
497
|
+
# policy testing, and enforcement. For example, an XSS vulnerability in an
|
|
498
|
+
# App Engine application is a finding.
|
|
499
|
+
class GoogleCloudSecuritycenterV1p1beta1Finding
|
|
500
|
+
include Google::Apis::Core::Hashable
|
|
501
|
+
|
|
502
|
+
# The additional taxonomy group within findings from a given source.
|
|
503
|
+
# This field is immutable after creation time.
|
|
504
|
+
# Example: "XSS_FLASH_INJECTION"
|
|
505
|
+
# Corresponds to the JSON property `category`
|
|
506
|
+
# @return [String]
|
|
507
|
+
attr_accessor :category
|
|
508
|
+
|
|
509
|
+
# The time at which the finding was created in Cloud SCC.
|
|
510
|
+
# Corresponds to the JSON property `createTime`
|
|
511
|
+
# @return [String]
|
|
512
|
+
attr_accessor :create_time
|
|
513
|
+
|
|
514
|
+
# The time at which the event took place. For example, if the finding
|
|
515
|
+
# represents an open firewall it would capture the time the detector believes
|
|
516
|
+
# the firewall became open. The accuracy is determined by the detector.
|
|
517
|
+
# Corresponds to the JSON property `eventTime`
|
|
518
|
+
# @return [String]
|
|
519
|
+
attr_accessor :event_time
|
|
520
|
+
|
|
521
|
+
# The URI that, if available, points to a web page outside of Cloud SCC
|
|
522
|
+
# where additional information about the finding can be found. This field is
|
|
523
|
+
# guaranteed to be either empty or a well formed URL.
|
|
524
|
+
# Corresponds to the JSON property `externalUri`
|
|
525
|
+
# @return [String]
|
|
526
|
+
attr_accessor :external_uri
|
|
527
|
+
|
|
528
|
+
# The relative resource name of this finding. See:
|
|
529
|
+
# https://cloud.google.com/apis/design/resource_names#relative_resource_name
|
|
530
|
+
# Example:
|
|
531
|
+
# "organizations/`organization_id`/sources/`source_id`/findings/`finding_id`"
|
|
532
|
+
# Corresponds to the JSON property `name`
|
|
533
|
+
# @return [String]
|
|
534
|
+
attr_accessor :name
|
|
535
|
+
|
|
536
|
+
# The relative resource name of the source the finding belongs to. See:
|
|
537
|
+
# https://cloud.google.com/apis/design/resource_names#relative_resource_name
|
|
538
|
+
# This field is immutable after creation time.
|
|
539
|
+
# For example:
|
|
540
|
+
# "organizations/`organization_id`/sources/`source_id`"
|
|
541
|
+
# Corresponds to the JSON property `parent`
|
|
542
|
+
# @return [String]
|
|
543
|
+
attr_accessor :parent
|
|
544
|
+
|
|
545
|
+
# For findings on Google Cloud Platform (GCP) resources, the full resource
|
|
546
|
+
# name of the GCP resource this finding is for. See:
|
|
547
|
+
# https://cloud.google.com/apis/design/resource_names#full_resource_name
|
|
548
|
+
# When the finding is for a non-GCP resource, the resourceName can be a
|
|
549
|
+
# customer or partner defined string.
|
|
550
|
+
# This field is immutable after creation time.
|
|
551
|
+
# Corresponds to the JSON property `resourceName`
|
|
552
|
+
# @return [String]
|
|
553
|
+
attr_accessor :resource_name
|
|
554
|
+
|
|
555
|
+
# User specified security marks that are attached to the parent Cloud Security
|
|
556
|
+
# Command Center (Cloud SCC) resource. Security marks are scoped within a Cloud
|
|
557
|
+
# SCC organization -- they can be modified and viewed by all users who have
|
|
558
|
+
# proper permissions on the organization.
|
|
559
|
+
# Corresponds to the JSON property `securityMarks`
|
|
560
|
+
# @return [Google::Apis::SecuritycenterV1p1beta1::GoogleCloudSecuritycenterV1p1beta1SecurityMarks]
|
|
561
|
+
attr_accessor :security_marks
|
|
562
|
+
|
|
563
|
+
# Source specific properties. These properties are managed by the source
|
|
564
|
+
# that writes the finding. The key names in the source_properties map must be
|
|
565
|
+
# between 1 and 255 characters, and must start with a letter and contain
|
|
566
|
+
# alphanumeric characters or underscores only.
|
|
567
|
+
# Corresponds to the JSON property `sourceProperties`
|
|
568
|
+
# @return [Hash<String,Object>]
|
|
569
|
+
attr_accessor :source_properties
|
|
570
|
+
|
|
571
|
+
# The state of the finding.
|
|
572
|
+
# Corresponds to the JSON property `state`
|
|
573
|
+
# @return [String]
|
|
574
|
+
attr_accessor :state
|
|
575
|
+
|
|
576
|
+
def initialize(**args)
|
|
577
|
+
update!(**args)
|
|
578
|
+
end
|
|
579
|
+
|
|
580
|
+
# Update properties of this object
|
|
581
|
+
def update!(**args)
|
|
582
|
+
@category = args[:category] if args.key?(:category)
|
|
583
|
+
@create_time = args[:create_time] if args.key?(:create_time)
|
|
584
|
+
@event_time = args[:event_time] if args.key?(:event_time)
|
|
585
|
+
@external_uri = args[:external_uri] if args.key?(:external_uri)
|
|
586
|
+
@name = args[:name] if args.key?(:name)
|
|
587
|
+
@parent = args[:parent] if args.key?(:parent)
|
|
588
|
+
@resource_name = args[:resource_name] if args.key?(:resource_name)
|
|
589
|
+
@security_marks = args[:security_marks] if args.key?(:security_marks)
|
|
590
|
+
@source_properties = args[:source_properties] if args.key?(:source_properties)
|
|
591
|
+
@state = args[:state] if args.key?(:state)
|
|
592
|
+
end
|
|
593
|
+
end
|
|
594
|
+
|
|
595
|
+
# IAM Policy information associated with the GCP resource described by the
|
|
596
|
+
# Cloud SCC asset. This information is managed and defined by the GCP
|
|
597
|
+
# resource and cannot be modified by the user.
|
|
598
|
+
class GoogleCloudSecuritycenterV1p1beta1IamPolicy
|
|
599
|
+
include Google::Apis::Core::Hashable
|
|
600
|
+
|
|
601
|
+
# The JSON representation of the Policy associated with the asset.
|
|
602
|
+
# See https://cloud.google.com/iam/reference/rest/v1p1beta1/Policy for
|
|
603
|
+
# format details.
|
|
604
|
+
# Corresponds to the JSON property `policyBlob`
|
|
605
|
+
# @return [String]
|
|
606
|
+
attr_accessor :policy_blob
|
|
607
|
+
|
|
608
|
+
def initialize(**args)
|
|
609
|
+
update!(**args)
|
|
610
|
+
end
|
|
611
|
+
|
|
612
|
+
# Update properties of this object
|
|
613
|
+
def update!(**args)
|
|
614
|
+
@policy_blob = args[:policy_blob] if args.key?(:policy_blob)
|
|
615
|
+
end
|
|
616
|
+
end
|
|
617
|
+
|
|
618
|
+
# Cloud SCC's Notification
|
|
619
|
+
class GoogleCloudSecuritycenterV1p1beta1NotificationMessage
|
|
620
|
+
include Google::Apis::Core::Hashable
|
|
621
|
+
|
|
622
|
+
# Cloud Security Command Center (Cloud SCC) finding.
|
|
623
|
+
# A finding is a record of assessment data (security, risk, health or privacy)
|
|
624
|
+
# ingested into Cloud SCC for presentation, notification, analysis,
|
|
625
|
+
# policy testing, and enforcement. For example, an XSS vulnerability in an
|
|
626
|
+
# App Engine application is a finding.
|
|
627
|
+
# Corresponds to the JSON property `finding`
|
|
628
|
+
# @return [Google::Apis::SecuritycenterV1p1beta1::GoogleCloudSecuritycenterV1p1beta1Finding]
|
|
629
|
+
attr_accessor :finding
|
|
630
|
+
|
|
631
|
+
# Name of the notification config that generated current notification.
|
|
632
|
+
# Corresponds to the JSON property `notificationConfigName`
|
|
633
|
+
# @return [String]
|
|
634
|
+
attr_accessor :notification_config_name
|
|
635
|
+
|
|
636
|
+
# Wrapper over asset object that also captures the state change for the asset
|
|
637
|
+
# e.g. if it was a newly created asset vs updated or deleted asset.
|
|
638
|
+
# Corresponds to the JSON property `temporalAsset`
|
|
639
|
+
# @return [Google::Apis::SecuritycenterV1p1beta1::GoogleCloudSecuritycenterV1p1beta1TemporalAsset]
|
|
640
|
+
attr_accessor :temporal_asset
|
|
641
|
+
|
|
642
|
+
def initialize(**args)
|
|
643
|
+
update!(**args)
|
|
644
|
+
end
|
|
645
|
+
|
|
646
|
+
# Update properties of this object
|
|
647
|
+
def update!(**args)
|
|
648
|
+
@finding = args[:finding] if args.key?(:finding)
|
|
649
|
+
@notification_config_name = args[:notification_config_name] if args.key?(:notification_config_name)
|
|
650
|
+
@temporal_asset = args[:temporal_asset] if args.key?(:temporal_asset)
|
|
651
|
+
end
|
|
652
|
+
end
|
|
653
|
+
|
|
654
|
+
# Response of asset discovery run
|
|
655
|
+
class GoogleCloudSecuritycenterV1p1beta1RunAssetDiscoveryResponse
|
|
656
|
+
include Google::Apis::Core::Hashable
|
|
657
|
+
|
|
658
|
+
# The duration between asset discovery run start and end
|
|
659
|
+
# Corresponds to the JSON property `duration`
|
|
660
|
+
# @return [String]
|
|
661
|
+
attr_accessor :duration
|
|
662
|
+
|
|
663
|
+
# The state of an asset discovery run.
|
|
664
|
+
# Corresponds to the JSON property `state`
|
|
665
|
+
# @return [String]
|
|
666
|
+
attr_accessor :state
|
|
667
|
+
|
|
668
|
+
def initialize(**args)
|
|
669
|
+
update!(**args)
|
|
670
|
+
end
|
|
671
|
+
|
|
672
|
+
# Update properties of this object
|
|
673
|
+
def update!(**args)
|
|
674
|
+
@duration = args[:duration] if args.key?(:duration)
|
|
675
|
+
@state = args[:state] if args.key?(:state)
|
|
676
|
+
end
|
|
677
|
+
end
|
|
678
|
+
|
|
679
|
+
# Cloud SCC managed properties. These properties are managed by Cloud SCC and
|
|
680
|
+
# cannot be modified by the user.
|
|
681
|
+
class GoogleCloudSecuritycenterV1p1beta1SecurityCenterProperties
|
|
682
|
+
include Google::Apis::Core::Hashable
|
|
683
|
+
|
|
684
|
+
# The user defined display name for this resource.
|
|
685
|
+
# Corresponds to the JSON property `resourceDisplayName`
|
|
686
|
+
# @return [String]
|
|
687
|
+
attr_accessor :resource_display_name
|
|
688
|
+
|
|
689
|
+
# The full resource name of the GCP resource this asset
|
|
690
|
+
# represents. This field is immutable after create time. See:
|
|
691
|
+
# https://cloud.google.com/apis/design/resource_names#full_resource_name
|
|
692
|
+
# Corresponds to the JSON property `resourceName`
|
|
693
|
+
# @return [String]
|
|
694
|
+
attr_accessor :resource_name
|
|
695
|
+
|
|
696
|
+
# Owners of the Google Cloud resource.
|
|
697
|
+
# Corresponds to the JSON property `resourceOwners`
|
|
698
|
+
# @return [Array<String>]
|
|
699
|
+
attr_accessor :resource_owners
|
|
700
|
+
|
|
701
|
+
# The full resource name of the immediate parent of the resource. See:
|
|
702
|
+
# https://cloud.google.com/apis/design/resource_names#full_resource_name
|
|
703
|
+
# Corresponds to the JSON property `resourceParent`
|
|
704
|
+
# @return [String]
|
|
705
|
+
attr_accessor :resource_parent
|
|
706
|
+
|
|
707
|
+
# The user defined display name for the parent of this resource.
|
|
708
|
+
# Corresponds to the JSON property `resourceParentDisplayName`
|
|
709
|
+
# @return [String]
|
|
710
|
+
attr_accessor :resource_parent_display_name
|
|
711
|
+
|
|
712
|
+
# The full resource name of the project the resource belongs to. See:
|
|
713
|
+
# https://cloud.google.com/apis/design/resource_names#full_resource_name
|
|
714
|
+
# Corresponds to the JSON property `resourceProject`
|
|
715
|
+
# @return [String]
|
|
716
|
+
attr_accessor :resource_project
|
|
717
|
+
|
|
718
|
+
# The user defined display name for the project of this resource.
|
|
719
|
+
# Corresponds to the JSON property `resourceProjectDisplayName`
|
|
720
|
+
# @return [String]
|
|
721
|
+
attr_accessor :resource_project_display_name
|
|
722
|
+
|
|
723
|
+
# The type of the GCP resource. Examples include: APPLICATION,
|
|
724
|
+
# PROJECT, and ORGANIZATION. This is a case insensitive field defined by
|
|
725
|
+
# Cloud SCC and/or the producer of the resource and is immutable
|
|
726
|
+
# after create time.
|
|
727
|
+
# Corresponds to the JSON property `resourceType`
|
|
728
|
+
# @return [String]
|
|
729
|
+
attr_accessor :resource_type
|
|
730
|
+
|
|
731
|
+
def initialize(**args)
|
|
732
|
+
update!(**args)
|
|
733
|
+
end
|
|
734
|
+
|
|
735
|
+
# Update properties of this object
|
|
736
|
+
def update!(**args)
|
|
737
|
+
@resource_display_name = args[:resource_display_name] if args.key?(:resource_display_name)
|
|
738
|
+
@resource_name = args[:resource_name] if args.key?(:resource_name)
|
|
739
|
+
@resource_owners = args[:resource_owners] if args.key?(:resource_owners)
|
|
740
|
+
@resource_parent = args[:resource_parent] if args.key?(:resource_parent)
|
|
741
|
+
@resource_parent_display_name = args[:resource_parent_display_name] if args.key?(:resource_parent_display_name)
|
|
742
|
+
@resource_project = args[:resource_project] if args.key?(:resource_project)
|
|
743
|
+
@resource_project_display_name = args[:resource_project_display_name] if args.key?(:resource_project_display_name)
|
|
744
|
+
@resource_type = args[:resource_type] if args.key?(:resource_type)
|
|
745
|
+
end
|
|
746
|
+
end
|
|
747
|
+
|
|
748
|
+
# User specified security marks that are attached to the parent Cloud Security
|
|
749
|
+
# Command Center (Cloud SCC) resource. Security marks are scoped within a Cloud
|
|
750
|
+
# SCC organization -- they can be modified and viewed by all users who have
|
|
751
|
+
# proper permissions on the organization.
|
|
752
|
+
class GoogleCloudSecuritycenterV1p1beta1SecurityMarks
|
|
753
|
+
include Google::Apis::Core::Hashable
|
|
754
|
+
|
|
755
|
+
# Mutable user specified security marks belonging to the parent resource.
|
|
756
|
+
# Constraints are as follows:
|
|
757
|
+
# * Keys and values are treated as case insensitive
|
|
758
|
+
# * Keys must be between 1 - 256 characters (inclusive)
|
|
759
|
+
# * Keys must be letters, numbers, underscores, or dashes
|
|
760
|
+
# * Values have leading and trailing whitespace trimmed, remaining
|
|
761
|
+
# characters must be between 1 - 4096 characters (inclusive)
|
|
762
|
+
# Corresponds to the JSON property `marks`
|
|
763
|
+
# @return [Hash<String,String>]
|
|
764
|
+
attr_accessor :marks
|
|
765
|
+
|
|
766
|
+
# The relative resource name of the SecurityMarks. See:
|
|
767
|
+
# https://cloud.google.com/apis/design/resource_names#relative_resource_name
|
|
768
|
+
# Examples:
|
|
769
|
+
# "organizations/`organization_id`/assets/`asset_id`/securityMarks"
|
|
770
|
+
# "organizations/`organization_id`/sources/`source_id`/findings/`finding_id`/
|
|
771
|
+
# securityMarks".
|
|
772
|
+
# Corresponds to the JSON property `name`
|
|
773
|
+
# @return [String]
|
|
774
|
+
attr_accessor :name
|
|
775
|
+
|
|
776
|
+
def initialize(**args)
|
|
777
|
+
update!(**args)
|
|
778
|
+
end
|
|
779
|
+
|
|
780
|
+
# Update properties of this object
|
|
781
|
+
def update!(**args)
|
|
782
|
+
@marks = args[:marks] if args.key?(:marks)
|
|
783
|
+
@name = args[:name] if args.key?(:name)
|
|
784
|
+
end
|
|
785
|
+
end
|
|
786
|
+
|
|
787
|
+
# Wrapper over asset object that also captures the state change for the asset
|
|
788
|
+
# e.g. if it was a newly created asset vs updated or deleted asset.
|
|
789
|
+
class GoogleCloudSecuritycenterV1p1beta1TemporalAsset
|
|
790
|
+
include Google::Apis::Core::Hashable
|
|
791
|
+
|
|
792
|
+
# Cloud Security Command Center's (Cloud SCC) representation of a Google Cloud
|
|
793
|
+
# Platform (GCP) resource.
|
|
794
|
+
# The Asset is a Cloud SCC resource that captures information about a single
|
|
795
|
+
# GCP resource. All modifications to an Asset are only within the context of
|
|
796
|
+
# Cloud SCC and don't affect the referenced GCP resource.
|
|
797
|
+
# Corresponds to the JSON property `asset`
|
|
798
|
+
# @return [Google::Apis::SecuritycenterV1p1beta1::GoogleCloudSecuritycenterV1p1beta1Asset]
|
|
799
|
+
attr_accessor :asset
|
|
800
|
+
|
|
801
|
+
# Represents if the asset was created/updated/deleted.
|
|
802
|
+
# Corresponds to the JSON property `changeType`
|
|
803
|
+
# @return [String]
|
|
804
|
+
attr_accessor :change_type
|
|
805
|
+
|
|
806
|
+
def initialize(**args)
|
|
807
|
+
update!(**args)
|
|
808
|
+
end
|
|
809
|
+
|
|
810
|
+
# Update properties of this object
|
|
811
|
+
def update!(**args)
|
|
812
|
+
@asset = args[:asset] if args.key?(:asset)
|
|
813
|
+
@change_type = args[:change_type] if args.key?(:change_type)
|
|
814
|
+
end
|
|
815
|
+
end
|
|
816
|
+
|
|
817
|
+
# Request message for grouping by assets.
|
|
818
|
+
class GroupAssetsRequest
|
|
819
|
+
include Google::Apis::Core::Hashable
|
|
820
|
+
|
|
821
|
+
# When compare_duration is set, the GroupResult's "state_change" property is
|
|
822
|
+
# updated to indicate whether the asset was added, removed, or remained
|
|
823
|
+
# present during the compare_duration period of time that precedes the
|
|
824
|
+
# read_time. This is the time between (read_time - compare_duration) and
|
|
825
|
+
# read_time.
|
|
826
|
+
# The state change value is derived based on the presence of the asset at the
|
|
827
|
+
# two points in time. Intermediate state changes between the two times don't
|
|
828
|
+
# affect the result. For example, the results aren't affected if the asset is
|
|
829
|
+
# removed and re-created again.
|
|
830
|
+
# Possible "state_change" values when compare_duration is specified:
|
|
831
|
+
# * "ADDED": indicates that the asset was not present at the start of
|
|
832
|
+
# compare_duration, but present at reference_time.
|
|
833
|
+
# * "REMOVED": indicates that the asset was present at the start of
|
|
834
|
+
# compare_duration, but not present at reference_time.
|
|
835
|
+
# * "ACTIVE": indicates that the asset was present at both the
|
|
836
|
+
# start and the end of the time period defined by
|
|
837
|
+
# compare_duration and reference_time.
|
|
838
|
+
# If compare_duration is not specified, then the only possible state_change
|
|
839
|
+
# is "UNUSED", which will be the state_change set for all assets present at
|
|
840
|
+
# read_time.
|
|
841
|
+
# If this field is set then `state_change` must be a specified field in
|
|
842
|
+
# `group_by`.
|
|
843
|
+
# Corresponds to the JSON property `compareDuration`
|
|
844
|
+
# @return [String]
|
|
845
|
+
attr_accessor :compare_duration
|
|
846
|
+
|
|
847
|
+
# Expression that defines the filter to apply across assets.
|
|
848
|
+
# The expression is a list of zero or more restrictions combined via logical
|
|
849
|
+
# operators `AND` and `OR`.
|
|
850
|
+
# Parentheses are supported, and `OR` has higher precedence than `AND`.
|
|
851
|
+
# Restrictions have the form `<field> <operator> <value>` and may have a `-`
|
|
852
|
+
# character in front of them to indicate negation. The fields map to those
|
|
853
|
+
# defined in the Asset resource. Examples include:
|
|
854
|
+
# * name
|
|
855
|
+
# * security_center_properties.resource_name
|
|
856
|
+
# * resource_properties.a_property
|
|
857
|
+
# * security_marks.marks.marka
|
|
858
|
+
# The supported operators are:
|
|
859
|
+
# * `=` for all value types.
|
|
860
|
+
# * `>`, `<`, `>=`, `<=` for integer values.
|
|
861
|
+
# * `:`, meaning substring matching, for strings.
|
|
862
|
+
# The supported value types are:
|
|
863
|
+
# * string literals in quotes.
|
|
864
|
+
# * integer literals without quotes.
|
|
865
|
+
# * boolean literals `true` and `false` without quotes.
|
|
866
|
+
# The following field and operator combinations are supported:
|
|
867
|
+
# * name: `=`
|
|
868
|
+
# * update_time: `=`, `>`, `<`, `>=`, `<=`
|
|
869
|
+
# Usage: This should be milliseconds since epoch or an RFC3339 string.
|
|
870
|
+
# Examples:
|
|
871
|
+
# "update_time = \"2019-06-10T16:07:18-07:00\""
|
|
872
|
+
# "update_time = 1560208038000"
|
|
873
|
+
# * create_time: `=`, `>`, `<`, `>=`, `<=`
|
|
874
|
+
# Usage: This should be milliseconds since epoch or an RFC3339 string.
|
|
875
|
+
# Examples:
|
|
876
|
+
# "create_time = \"2019-06-10T16:07:18-07:00\""
|
|
877
|
+
# "create_time = 1560208038000"
|
|
878
|
+
# * iam_policy.policy_blob: `=`, `:`
|
|
879
|
+
# * resource_properties: `=`, `:`, `>`, `<`, `>=`, `<=`
|
|
880
|
+
# * security_marks.marks: `=`, `:`
|
|
881
|
+
# * security_center_properties.resource_name: `=`, `:`
|
|
882
|
+
# * security_center_properties.resource_name_display_name: `=`, `:`
|
|
883
|
+
# * security_center_properties.resource_type: `=`, `:`
|
|
884
|
+
# * security_center_properties.resource_parent: `=`, `:`
|
|
885
|
+
# * security_center_properties.resource_parent_display_name: `=`, `:`
|
|
886
|
+
# * security_center_properties.resource_project: `=`, `:`
|
|
887
|
+
# * security_center_properties.resource_project_display_name: `=`, `:`
|
|
888
|
+
# * security_center_properties.resource_owners: `=`, `:`
|
|
889
|
+
# For example, `resource_properties.size = 100` is a valid filter string.
|
|
890
|
+
# Corresponds to the JSON property `filter`
|
|
891
|
+
# @return [String]
|
|
892
|
+
attr_accessor :filter
|
|
893
|
+
|
|
894
|
+
# Required. Expression that defines what assets fields to use for grouping. The
|
|
895
|
+
# string
|
|
896
|
+
# value should follow SQL syntax: comma separated list of fields. For
|
|
897
|
+
# example:
|
|
898
|
+
# "security_center_properties.resource_project,security_center_properties.
|
|
899
|
+
# project".
|
|
900
|
+
# The following fields are supported when compare_duration is not set:
|
|
901
|
+
# * security_center_properties.resource_project
|
|
902
|
+
# * security_center_properties.resource_project_display_name
|
|
903
|
+
# * security_center_properties.resource_type
|
|
904
|
+
# * security_center_properties.resource_parent
|
|
905
|
+
# * security_center_properties.resource_parent_display_name
|
|
906
|
+
# The following fields are supported when compare_duration is set:
|
|
907
|
+
# * security_center_properties.resource_type
|
|
908
|
+
# * security_center_properties.resource_project_display_name
|
|
909
|
+
# * security_center_properties.resource_parent_display_name
|
|
910
|
+
# Corresponds to the JSON property `groupBy`
|
|
911
|
+
# @return [String]
|
|
912
|
+
attr_accessor :group_by
|
|
913
|
+
|
|
914
|
+
# The maximum number of results to return in a single response. Default is
|
|
915
|
+
# 10, minimum is 1, maximum is 1000.
|
|
916
|
+
# Corresponds to the JSON property `pageSize`
|
|
917
|
+
# @return [Fixnum]
|
|
918
|
+
attr_accessor :page_size
|
|
919
|
+
|
|
920
|
+
# The value returned by the last `GroupAssetsResponse`; indicates
|
|
921
|
+
# that this is a continuation of a prior `GroupAssets` call, and that the
|
|
922
|
+
# system should return the next page of data.
|
|
923
|
+
# Corresponds to the JSON property `pageToken`
|
|
924
|
+
# @return [String]
|
|
925
|
+
attr_accessor :page_token
|
|
926
|
+
|
|
927
|
+
# Time used as a reference point when filtering assets. The filter is limited
|
|
928
|
+
# to assets existing at the supplied time and their values are those at that
|
|
929
|
+
# specific time. Absence of this field will default to the API's version of
|
|
930
|
+
# NOW.
|
|
931
|
+
# Corresponds to the JSON property `readTime`
|
|
932
|
+
# @return [String]
|
|
933
|
+
attr_accessor :read_time
|
|
934
|
+
|
|
935
|
+
def initialize(**args)
|
|
936
|
+
update!(**args)
|
|
937
|
+
end
|
|
938
|
+
|
|
939
|
+
# Update properties of this object
|
|
940
|
+
def update!(**args)
|
|
941
|
+
@compare_duration = args[:compare_duration] if args.key?(:compare_duration)
|
|
942
|
+
@filter = args[:filter] if args.key?(:filter)
|
|
943
|
+
@group_by = args[:group_by] if args.key?(:group_by)
|
|
944
|
+
@page_size = args[:page_size] if args.key?(:page_size)
|
|
945
|
+
@page_token = args[:page_token] if args.key?(:page_token)
|
|
946
|
+
@read_time = args[:read_time] if args.key?(:read_time)
|
|
947
|
+
end
|
|
948
|
+
end
|
|
949
|
+
|
|
950
|
+
# Response message for grouping by assets.
|
|
951
|
+
class GroupAssetsResponse
|
|
952
|
+
include Google::Apis::Core::Hashable
|
|
953
|
+
|
|
954
|
+
# Group results. There exists an element for each existing unique
|
|
955
|
+
# combination of property/values. The element contains a count for the number
|
|
956
|
+
# of times those specific property/values appear.
|
|
957
|
+
# Corresponds to the JSON property `groupByResults`
|
|
958
|
+
# @return [Array<Google::Apis::SecuritycenterV1p1beta1::GroupResult>]
|
|
959
|
+
attr_accessor :group_by_results
|
|
960
|
+
|
|
961
|
+
# Token to retrieve the next page of results, or empty if there are no more
|
|
962
|
+
# results.
|
|
963
|
+
# Corresponds to the JSON property `nextPageToken`
|
|
964
|
+
# @return [String]
|
|
965
|
+
attr_accessor :next_page_token
|
|
966
|
+
|
|
967
|
+
# Time used for executing the groupBy request.
|
|
968
|
+
# Corresponds to the JSON property `readTime`
|
|
969
|
+
# @return [String]
|
|
970
|
+
attr_accessor :read_time
|
|
971
|
+
|
|
972
|
+
# The total number of results matching the query.
|
|
973
|
+
# Corresponds to the JSON property `totalSize`
|
|
974
|
+
# @return [Fixnum]
|
|
975
|
+
attr_accessor :total_size
|
|
976
|
+
|
|
977
|
+
def initialize(**args)
|
|
978
|
+
update!(**args)
|
|
979
|
+
end
|
|
980
|
+
|
|
981
|
+
# Update properties of this object
|
|
982
|
+
def update!(**args)
|
|
983
|
+
@group_by_results = args[:group_by_results] if args.key?(:group_by_results)
|
|
984
|
+
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
985
|
+
@read_time = args[:read_time] if args.key?(:read_time)
|
|
986
|
+
@total_size = args[:total_size] if args.key?(:total_size)
|
|
987
|
+
end
|
|
988
|
+
end
|
|
989
|
+
|
|
990
|
+
# Request message for grouping by findings.
|
|
991
|
+
class GroupFindingsRequest
|
|
992
|
+
include Google::Apis::Core::Hashable
|
|
993
|
+
|
|
994
|
+
# When compare_duration is set, the GroupResult's "state_change" attribute is
|
|
995
|
+
# updated to indicate whether the finding had its state changed, the
|
|
996
|
+
# finding's state remained unchanged, or if the finding was added during the
|
|
997
|
+
# compare_duration period of time that precedes the read_time. This is the
|
|
998
|
+
# time between (read_time - compare_duration) and read_time.
|
|
999
|
+
# The state_change value is derived based on the presence and state of the
|
|
1000
|
+
# finding at the two points in time. Intermediate state changes between the
|
|
1001
|
+
# two times don't affect the result. For example, the results aren't affected
|
|
1002
|
+
# if the finding is made inactive and then active again.
|
|
1003
|
+
# Possible "state_change" values when compare_duration is specified:
|
|
1004
|
+
# * "CHANGED": indicates that the finding was present at the start of
|
|
1005
|
+
# compare_duration, but changed its state at read_time.
|
|
1006
|
+
# * "UNCHANGED": indicates that the finding was present at the start of
|
|
1007
|
+
# compare_duration and did not change state at read_time.
|
|
1008
|
+
# * "ADDED": indicates that the finding was not present at the start
|
|
1009
|
+
# of compare_duration, but was present at read_time.
|
|
1010
|
+
# If compare_duration is not specified, then the only possible state_change
|
|
1011
|
+
# is "UNUSED", which will be the state_change set for all findings present
|
|
1012
|
+
# at read_time.
|
|
1013
|
+
# If this field is set then `state_change` must be a specified field in
|
|
1014
|
+
# `group_by`.
|
|
1015
|
+
# Corresponds to the JSON property `compareDuration`
|
|
1016
|
+
# @return [String]
|
|
1017
|
+
attr_accessor :compare_duration
|
|
1018
|
+
|
|
1019
|
+
# Expression that defines the filter to apply across findings.
|
|
1020
|
+
# The expression is a list of one or more restrictions combined via logical
|
|
1021
|
+
# operators `AND` and `OR`.
|
|
1022
|
+
# Parentheses are supported, and `OR` has higher precedence than `AND`.
|
|
1023
|
+
# Restrictions have the form `<field> <operator> <value>` and may have a `-`
|
|
1024
|
+
# character in front of them to indicate negation. Examples include:
|
|
1025
|
+
# * name
|
|
1026
|
+
# * source_properties.a_property
|
|
1027
|
+
# * security_marks.marks.marka
|
|
1028
|
+
# The supported operators are:
|
|
1029
|
+
# * `=` for all value types.
|
|
1030
|
+
# * `>`, `<`, `>=`, `<=` for integer values.
|
|
1031
|
+
# * `:`, meaning substring matching, for strings.
|
|
1032
|
+
# The supported value types are:
|
|
1033
|
+
# * string literals in quotes.
|
|
1034
|
+
# * integer literals without quotes.
|
|
1035
|
+
# * boolean literals `true` and `false` without quotes.
|
|
1036
|
+
# The following field and operator combinations are supported:
|
|
1037
|
+
# * name: `=`
|
|
1038
|
+
# * parent: `=`, `:`
|
|
1039
|
+
# * resource_name: `=`, `:`
|
|
1040
|
+
# * state: `=`, `:`
|
|
1041
|
+
# * category: `=`, `:`
|
|
1042
|
+
# * external_uri: `=`, `:`
|
|
1043
|
+
# * event_time: `=`, `>`, `<`, `>=`, `<=`
|
|
1044
|
+
# Usage: This should be milliseconds since epoch or an RFC3339 string.
|
|
1045
|
+
# Examples:
|
|
1046
|
+
# "event_time = \"2019-06-10T16:07:18-07:00\""
|
|
1047
|
+
# "event_time = 1560208038000"
|
|
1048
|
+
# * security_marks.marks: `=`, `:`
|
|
1049
|
+
# * source_properties: `=`, `:`, `>`, `<`, `>=`, `<=`
|
|
1050
|
+
# For example, `source_properties.size = 100` is a valid filter string.
|
|
1051
|
+
# Corresponds to the JSON property `filter`
|
|
1052
|
+
# @return [String]
|
|
1053
|
+
attr_accessor :filter
|
|
1054
|
+
|
|
1055
|
+
# Required. Expression that defines what assets fields to use for grouping (
|
|
1056
|
+
# including
|
|
1057
|
+
# `state_change`). The string value should follow SQL syntax: comma separated
|
|
1058
|
+
# list of fields. For example: "parent,resource_name".
|
|
1059
|
+
# The following fields are supported:
|
|
1060
|
+
# * resource_name
|
|
1061
|
+
# * category
|
|
1062
|
+
# * state
|
|
1063
|
+
# * parent
|
|
1064
|
+
# The following fields are supported when compare_duration is set:
|
|
1065
|
+
# * state_change
|
|
1066
|
+
# Corresponds to the JSON property `groupBy`
|
|
1067
|
+
# @return [String]
|
|
1068
|
+
attr_accessor :group_by
|
|
1069
|
+
|
|
1070
|
+
# The maximum number of results to return in a single response. Default is
|
|
1071
|
+
# 10, minimum is 1, maximum is 1000.
|
|
1072
|
+
# Corresponds to the JSON property `pageSize`
|
|
1073
|
+
# @return [Fixnum]
|
|
1074
|
+
attr_accessor :page_size
|
|
1075
|
+
|
|
1076
|
+
# The value returned by the last `GroupFindingsResponse`; indicates
|
|
1077
|
+
# that this is a continuation of a prior `GroupFindings` call, and
|
|
1078
|
+
# that the system should return the next page of data.
|
|
1079
|
+
# Corresponds to the JSON property `pageToken`
|
|
1080
|
+
# @return [String]
|
|
1081
|
+
attr_accessor :page_token
|
|
1082
|
+
|
|
1083
|
+
# Time used as a reference point when filtering findings. The filter is
|
|
1084
|
+
# limited to findings existing at the supplied time and their values are
|
|
1085
|
+
# those at that specific time. Absence of this field will default to the
|
|
1086
|
+
# API's version of NOW.
|
|
1087
|
+
# Corresponds to the JSON property `readTime`
|
|
1088
|
+
# @return [String]
|
|
1089
|
+
attr_accessor :read_time
|
|
1090
|
+
|
|
1091
|
+
def initialize(**args)
|
|
1092
|
+
update!(**args)
|
|
1093
|
+
end
|
|
1094
|
+
|
|
1095
|
+
# Update properties of this object
|
|
1096
|
+
def update!(**args)
|
|
1097
|
+
@compare_duration = args[:compare_duration] if args.key?(:compare_duration)
|
|
1098
|
+
@filter = args[:filter] if args.key?(:filter)
|
|
1099
|
+
@group_by = args[:group_by] if args.key?(:group_by)
|
|
1100
|
+
@page_size = args[:page_size] if args.key?(:page_size)
|
|
1101
|
+
@page_token = args[:page_token] if args.key?(:page_token)
|
|
1102
|
+
@read_time = args[:read_time] if args.key?(:read_time)
|
|
1103
|
+
end
|
|
1104
|
+
end
|
|
1105
|
+
|
|
1106
|
+
# Response message for group by findings.
|
|
1107
|
+
class GroupFindingsResponse
|
|
1108
|
+
include Google::Apis::Core::Hashable
|
|
1109
|
+
|
|
1110
|
+
# Group results. There exists an element for each existing unique
|
|
1111
|
+
# combination of property/values. The element contains a count for the number
|
|
1112
|
+
# of times those specific property/values appear.
|
|
1113
|
+
# Corresponds to the JSON property `groupByResults`
|
|
1114
|
+
# @return [Array<Google::Apis::SecuritycenterV1p1beta1::GroupResult>]
|
|
1115
|
+
attr_accessor :group_by_results
|
|
1116
|
+
|
|
1117
|
+
# Token to retrieve the next page of results, or empty if there are no more
|
|
1118
|
+
# results.
|
|
1119
|
+
# Corresponds to the JSON property `nextPageToken`
|
|
1120
|
+
# @return [String]
|
|
1121
|
+
attr_accessor :next_page_token
|
|
1122
|
+
|
|
1123
|
+
# Time used for executing the groupBy request.
|
|
1124
|
+
# Corresponds to the JSON property `readTime`
|
|
1125
|
+
# @return [String]
|
|
1126
|
+
attr_accessor :read_time
|
|
1127
|
+
|
|
1128
|
+
# The total number of results matching the query.
|
|
1129
|
+
# Corresponds to the JSON property `totalSize`
|
|
1130
|
+
# @return [Fixnum]
|
|
1131
|
+
attr_accessor :total_size
|
|
1132
|
+
|
|
1133
|
+
def initialize(**args)
|
|
1134
|
+
update!(**args)
|
|
1135
|
+
end
|
|
1136
|
+
|
|
1137
|
+
# Update properties of this object
|
|
1138
|
+
def update!(**args)
|
|
1139
|
+
@group_by_results = args[:group_by_results] if args.key?(:group_by_results)
|
|
1140
|
+
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
1141
|
+
@read_time = args[:read_time] if args.key?(:read_time)
|
|
1142
|
+
@total_size = args[:total_size] if args.key?(:total_size)
|
|
1143
|
+
end
|
|
1144
|
+
end
|
|
1145
|
+
|
|
1146
|
+
# Result containing the properties and count of a groupBy request.
|
|
1147
|
+
class GroupResult
|
|
1148
|
+
include Google::Apis::Core::Hashable
|
|
1149
|
+
|
|
1150
|
+
# Total count of resources for the given properties.
|
|
1151
|
+
# Corresponds to the JSON property `count`
|
|
1152
|
+
# @return [Fixnum]
|
|
1153
|
+
attr_accessor :count
|
|
1154
|
+
|
|
1155
|
+
# Properties matching the groupBy fields in the request.
|
|
1156
|
+
# Corresponds to the JSON property `properties`
|
|
1157
|
+
# @return [Hash<String,Object>]
|
|
1158
|
+
attr_accessor :properties
|
|
1159
|
+
|
|
1160
|
+
def initialize(**args)
|
|
1161
|
+
update!(**args)
|
|
1162
|
+
end
|
|
1163
|
+
|
|
1164
|
+
# Update properties of this object
|
|
1165
|
+
def update!(**args)
|
|
1166
|
+
@count = args[:count] if args.key?(:count)
|
|
1167
|
+
@properties = args[:properties] if args.key?(:properties)
|
|
1168
|
+
end
|
|
1169
|
+
end
|
|
1170
|
+
|
|
1171
|
+
# Response message for listing assets.
|
|
1172
|
+
class ListAssetsResponse
|
|
1173
|
+
include Google::Apis::Core::Hashable
|
|
1174
|
+
|
|
1175
|
+
# Assets matching the list request.
|
|
1176
|
+
# Corresponds to the JSON property `listAssetsResults`
|
|
1177
|
+
# @return [Array<Google::Apis::SecuritycenterV1p1beta1::ListAssetsResult>]
|
|
1178
|
+
attr_accessor :list_assets_results
|
|
1179
|
+
|
|
1180
|
+
# Token to retrieve the next page of results, or empty if there are no more
|
|
1181
|
+
# results.
|
|
1182
|
+
# Corresponds to the JSON property `nextPageToken`
|
|
1183
|
+
# @return [String]
|
|
1184
|
+
attr_accessor :next_page_token
|
|
1185
|
+
|
|
1186
|
+
# Time used for executing the list request.
|
|
1187
|
+
# Corresponds to the JSON property `readTime`
|
|
1188
|
+
# @return [String]
|
|
1189
|
+
attr_accessor :read_time
|
|
1190
|
+
|
|
1191
|
+
# The total number of assets matching the query.
|
|
1192
|
+
# Corresponds to the JSON property `totalSize`
|
|
1193
|
+
# @return [Fixnum]
|
|
1194
|
+
attr_accessor :total_size
|
|
1195
|
+
|
|
1196
|
+
def initialize(**args)
|
|
1197
|
+
update!(**args)
|
|
1198
|
+
end
|
|
1199
|
+
|
|
1200
|
+
# Update properties of this object
|
|
1201
|
+
def update!(**args)
|
|
1202
|
+
@list_assets_results = args[:list_assets_results] if args.key?(:list_assets_results)
|
|
1203
|
+
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
1204
|
+
@read_time = args[:read_time] if args.key?(:read_time)
|
|
1205
|
+
@total_size = args[:total_size] if args.key?(:total_size)
|
|
1206
|
+
end
|
|
1207
|
+
end
|
|
1208
|
+
|
|
1209
|
+
# Result containing the Asset and its State.
|
|
1210
|
+
class ListAssetsResult
|
|
1211
|
+
include Google::Apis::Core::Hashable
|
|
1212
|
+
|
|
1213
|
+
# Cloud Security Command Center's (Cloud SCC) representation of a Google Cloud
|
|
1214
|
+
# Platform (GCP) resource.
|
|
1215
|
+
# The Asset is a Cloud SCC resource that captures information about a single
|
|
1216
|
+
# GCP resource. All modifications to an Asset are only within the context of
|
|
1217
|
+
# Cloud SCC and don't affect the referenced GCP resource.
|
|
1218
|
+
# Corresponds to the JSON property `asset`
|
|
1219
|
+
# @return [Google::Apis::SecuritycenterV1p1beta1::GoogleCloudSecuritycenterV1p1beta1Asset]
|
|
1220
|
+
attr_accessor :asset
|
|
1221
|
+
|
|
1222
|
+
# State change of the asset between the points in time.
|
|
1223
|
+
# Corresponds to the JSON property `stateChange`
|
|
1224
|
+
# @return [String]
|
|
1225
|
+
attr_accessor :state_change
|
|
1226
|
+
|
|
1227
|
+
def initialize(**args)
|
|
1228
|
+
update!(**args)
|
|
1229
|
+
end
|
|
1230
|
+
|
|
1231
|
+
# Update properties of this object
|
|
1232
|
+
def update!(**args)
|
|
1233
|
+
@asset = args[:asset] if args.key?(:asset)
|
|
1234
|
+
@state_change = args[:state_change] if args.key?(:state_change)
|
|
1235
|
+
end
|
|
1236
|
+
end
|
|
1237
|
+
|
|
1238
|
+
# Response message for listing findings.
|
|
1239
|
+
class ListFindingsResponse
|
|
1240
|
+
include Google::Apis::Core::Hashable
|
|
1241
|
+
|
|
1242
|
+
# Findings matching the list request.
|
|
1243
|
+
# Corresponds to the JSON property `listFindingsResults`
|
|
1244
|
+
# @return [Array<Google::Apis::SecuritycenterV1p1beta1::ListFindingsResult>]
|
|
1245
|
+
attr_accessor :list_findings_results
|
|
1246
|
+
|
|
1247
|
+
# Token to retrieve the next page of results, or empty if there are no more
|
|
1248
|
+
# results.
|
|
1249
|
+
# Corresponds to the JSON property `nextPageToken`
|
|
1250
|
+
# @return [String]
|
|
1251
|
+
attr_accessor :next_page_token
|
|
1252
|
+
|
|
1253
|
+
# Time used for executing the list request.
|
|
1254
|
+
# Corresponds to the JSON property `readTime`
|
|
1255
|
+
# @return [String]
|
|
1256
|
+
attr_accessor :read_time
|
|
1257
|
+
|
|
1258
|
+
# The total number of findings matching the query.
|
|
1259
|
+
# Corresponds to the JSON property `totalSize`
|
|
1260
|
+
# @return [Fixnum]
|
|
1261
|
+
attr_accessor :total_size
|
|
1262
|
+
|
|
1263
|
+
def initialize(**args)
|
|
1264
|
+
update!(**args)
|
|
1265
|
+
end
|
|
1266
|
+
|
|
1267
|
+
# Update properties of this object
|
|
1268
|
+
def update!(**args)
|
|
1269
|
+
@list_findings_results = args[:list_findings_results] if args.key?(:list_findings_results)
|
|
1270
|
+
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
1271
|
+
@read_time = args[:read_time] if args.key?(:read_time)
|
|
1272
|
+
@total_size = args[:total_size] if args.key?(:total_size)
|
|
1273
|
+
end
|
|
1274
|
+
end
|
|
1275
|
+
|
|
1276
|
+
# Result containing the Finding and its StateChange.
|
|
1277
|
+
class ListFindingsResult
|
|
1278
|
+
include Google::Apis::Core::Hashable
|
|
1279
|
+
|
|
1280
|
+
# Cloud Security Command Center (Cloud SCC) finding.
|
|
1281
|
+
# A finding is a record of assessment data (security, risk, health or privacy)
|
|
1282
|
+
# ingested into Cloud SCC for presentation, notification, analysis,
|
|
1283
|
+
# policy testing, and enforcement. For example, an XSS vulnerability in an
|
|
1284
|
+
# App Engine application is a finding.
|
|
1285
|
+
# Corresponds to the JSON property `finding`
|
|
1286
|
+
# @return [Google::Apis::SecuritycenterV1p1beta1::GoogleCloudSecuritycenterV1p1beta1Finding]
|
|
1287
|
+
attr_accessor :finding
|
|
1288
|
+
|
|
1289
|
+
# Information related to the Google Cloud Platform (GCP) resource that is
|
|
1290
|
+
# associated with this finding.
|
|
1291
|
+
# Corresponds to the JSON property `resource`
|
|
1292
|
+
# @return [Google::Apis::SecuritycenterV1p1beta1::Resource]
|
|
1293
|
+
attr_accessor :resource
|
|
1294
|
+
|
|
1295
|
+
# State change of the finding between the points in time.
|
|
1296
|
+
# Corresponds to the JSON property `stateChange`
|
|
1297
|
+
# @return [String]
|
|
1298
|
+
attr_accessor :state_change
|
|
1299
|
+
|
|
1300
|
+
def initialize(**args)
|
|
1301
|
+
update!(**args)
|
|
1302
|
+
end
|
|
1303
|
+
|
|
1304
|
+
# Update properties of this object
|
|
1305
|
+
def update!(**args)
|
|
1306
|
+
@finding = args[:finding] if args.key?(:finding)
|
|
1307
|
+
@resource = args[:resource] if args.key?(:resource)
|
|
1308
|
+
@state_change = args[:state_change] if args.key?(:state_change)
|
|
1309
|
+
end
|
|
1310
|
+
end
|
|
1311
|
+
|
|
1312
|
+
# Response message for listing notification configs.
|
|
1313
|
+
class ListNotificationConfigsResponse
|
|
1314
|
+
include Google::Apis::Core::Hashable
|
|
1315
|
+
|
|
1316
|
+
# Token to retrieve the next page of results, or empty if there are no more
|
|
1317
|
+
# results.
|
|
1318
|
+
# Corresponds to the JSON property `nextPageToken`
|
|
1319
|
+
# @return [String]
|
|
1320
|
+
attr_accessor :next_page_token
|
|
1321
|
+
|
|
1322
|
+
# Notification configs belonging to the requested parent.
|
|
1323
|
+
# Corresponds to the JSON property `notificationConfigs`
|
|
1324
|
+
# @return [Array<Google::Apis::SecuritycenterV1p1beta1::NotificationConfig>]
|
|
1325
|
+
attr_accessor :notification_configs
|
|
1326
|
+
|
|
1327
|
+
def initialize(**args)
|
|
1328
|
+
update!(**args)
|
|
1329
|
+
end
|
|
1330
|
+
|
|
1331
|
+
# Update properties of this object
|
|
1332
|
+
def update!(**args)
|
|
1333
|
+
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
1334
|
+
@notification_configs = args[:notification_configs] if args.key?(:notification_configs)
|
|
1335
|
+
end
|
|
1336
|
+
end
|
|
1337
|
+
|
|
1338
|
+
# The response message for Operations.ListOperations.
|
|
1339
|
+
class ListOperationsResponse
|
|
1340
|
+
include Google::Apis::Core::Hashable
|
|
1341
|
+
|
|
1342
|
+
# The standard List next-page token.
|
|
1343
|
+
# Corresponds to the JSON property `nextPageToken`
|
|
1344
|
+
# @return [String]
|
|
1345
|
+
attr_accessor :next_page_token
|
|
1346
|
+
|
|
1347
|
+
# A list of operations that matches the specified filter in the request.
|
|
1348
|
+
# Corresponds to the JSON property `operations`
|
|
1349
|
+
# @return [Array<Google::Apis::SecuritycenterV1p1beta1::Operation>]
|
|
1350
|
+
attr_accessor :operations
|
|
1351
|
+
|
|
1352
|
+
def initialize(**args)
|
|
1353
|
+
update!(**args)
|
|
1354
|
+
end
|
|
1355
|
+
|
|
1356
|
+
# Update properties of this object
|
|
1357
|
+
def update!(**args)
|
|
1358
|
+
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
1359
|
+
@operations = args[:operations] if args.key?(:operations)
|
|
1360
|
+
end
|
|
1361
|
+
end
|
|
1362
|
+
|
|
1363
|
+
# Response message for listing sources.
|
|
1364
|
+
class ListSourcesResponse
|
|
1365
|
+
include Google::Apis::Core::Hashable
|
|
1366
|
+
|
|
1367
|
+
# Token to retrieve the next page of results, or empty if there are no more
|
|
1368
|
+
# results.
|
|
1369
|
+
# Corresponds to the JSON property `nextPageToken`
|
|
1370
|
+
# @return [String]
|
|
1371
|
+
attr_accessor :next_page_token
|
|
1372
|
+
|
|
1373
|
+
# Sources belonging to the requested parent.
|
|
1374
|
+
# Corresponds to the JSON property `sources`
|
|
1375
|
+
# @return [Array<Google::Apis::SecuritycenterV1p1beta1::Source>]
|
|
1376
|
+
attr_accessor :sources
|
|
1377
|
+
|
|
1378
|
+
def initialize(**args)
|
|
1379
|
+
update!(**args)
|
|
1380
|
+
end
|
|
1381
|
+
|
|
1382
|
+
# Update properties of this object
|
|
1383
|
+
def update!(**args)
|
|
1384
|
+
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
1385
|
+
@sources = args[:sources] if args.key?(:sources)
|
|
1386
|
+
end
|
|
1387
|
+
end
|
|
1388
|
+
|
|
1389
|
+
# Cloud Security Command Center (Cloud SCC) notification configs.
|
|
1390
|
+
# A notification config is a Cloud SCC resource that contains the configuration
|
|
1391
|
+
# to send notifications for create/update events of findings, assets and etc.
|
|
1392
|
+
class NotificationConfig
|
|
1393
|
+
include Google::Apis::Core::Hashable
|
|
1394
|
+
|
|
1395
|
+
# The description of the notification config (max of 1024 characters).
|
|
1396
|
+
# Corresponds to the JSON property `description`
|
|
1397
|
+
# @return [String]
|
|
1398
|
+
attr_accessor :description
|
|
1399
|
+
|
|
1400
|
+
# The type of events the config is for, e.g. FINDING.
|
|
1401
|
+
# Corresponds to the JSON property `eventType`
|
|
1402
|
+
# @return [String]
|
|
1403
|
+
attr_accessor :event_type
|
|
1404
|
+
|
|
1405
|
+
# The relative resource name of this notification config. See:
|
|
1406
|
+
# https://cloud.google.com/apis/design/resource_names#relative_resource_name
|
|
1407
|
+
# Example:
|
|
1408
|
+
# "organizations/`organization_id`/notificationConfigs/notify_public_bucket".
|
|
1409
|
+
# Corresponds to the JSON property `name`
|
|
1410
|
+
# @return [String]
|
|
1411
|
+
attr_accessor :name
|
|
1412
|
+
|
|
1413
|
+
# The PubSub topic to send notifications to. Its format is
|
|
1414
|
+
# "projects/[project_id]/topics/[topic]".
|
|
1415
|
+
# Corresponds to the JSON property `pubsubTopic`
|
|
1416
|
+
# @return [String]
|
|
1417
|
+
attr_accessor :pubsub_topic
|
|
1418
|
+
|
|
1419
|
+
# Output only. The service account that needs "pubsub.topics.publish"
|
|
1420
|
+
# permission to publish to the PubSub topic.
|
|
1421
|
+
# Corresponds to the JSON property `serviceAccount`
|
|
1422
|
+
# @return [String]
|
|
1423
|
+
attr_accessor :service_account
|
|
1424
|
+
|
|
1425
|
+
# The config for streaming-based notifications, which send each event as soon
|
|
1426
|
+
# as it is detected.
|
|
1427
|
+
# Corresponds to the JSON property `streamingConfig`
|
|
1428
|
+
# @return [Google::Apis::SecuritycenterV1p1beta1::StreamingConfig]
|
|
1429
|
+
attr_accessor :streaming_config
|
|
1430
|
+
|
|
1431
|
+
def initialize(**args)
|
|
1432
|
+
update!(**args)
|
|
1433
|
+
end
|
|
1434
|
+
|
|
1435
|
+
# Update properties of this object
|
|
1436
|
+
def update!(**args)
|
|
1437
|
+
@description = args[:description] if args.key?(:description)
|
|
1438
|
+
@event_type = args[:event_type] if args.key?(:event_type)
|
|
1439
|
+
@name = args[:name] if args.key?(:name)
|
|
1440
|
+
@pubsub_topic = args[:pubsub_topic] if args.key?(:pubsub_topic)
|
|
1441
|
+
@service_account = args[:service_account] if args.key?(:service_account)
|
|
1442
|
+
@streaming_config = args[:streaming_config] if args.key?(:streaming_config)
|
|
1443
|
+
end
|
|
1444
|
+
end
|
|
1445
|
+
|
|
1446
|
+
# This resource represents a long-running operation that is the result of a
|
|
1447
|
+
# network API call.
|
|
1448
|
+
class Operation
|
|
1449
|
+
include Google::Apis::Core::Hashable
|
|
1450
|
+
|
|
1451
|
+
# If the value is `false`, it means the operation is still in progress.
|
|
1452
|
+
# If `true`, the operation is completed, and either `error` or `response` is
|
|
1453
|
+
# available.
|
|
1454
|
+
# Corresponds to the JSON property `done`
|
|
1455
|
+
# @return [Boolean]
|
|
1456
|
+
attr_accessor :done
|
|
1457
|
+
alias_method :done?, :done
|
|
1458
|
+
|
|
1459
|
+
# The `Status` type defines a logical error model that is suitable for
|
|
1460
|
+
# different programming environments, including REST APIs and RPC APIs. It is
|
|
1461
|
+
# used by [gRPC](https://github.com/grpc). Each `Status` message contains
|
|
1462
|
+
# three pieces of data: error code, error message, and error details.
|
|
1463
|
+
# You can find out more about this error model and how to work with it in the
|
|
1464
|
+
# [API Design Guide](https://cloud.google.com/apis/design/errors).
|
|
1465
|
+
# Corresponds to the JSON property `error`
|
|
1466
|
+
# @return [Google::Apis::SecuritycenterV1p1beta1::Status]
|
|
1467
|
+
attr_accessor :error
|
|
1468
|
+
|
|
1469
|
+
# Service-specific metadata associated with the operation. It typically
|
|
1470
|
+
# contains progress information and common metadata such as create time.
|
|
1471
|
+
# Some services might not provide such metadata. Any method that returns a
|
|
1472
|
+
# long-running operation should document the metadata type, if any.
|
|
1473
|
+
# Corresponds to the JSON property `metadata`
|
|
1474
|
+
# @return [Hash<String,Object>]
|
|
1475
|
+
attr_accessor :metadata
|
|
1476
|
+
|
|
1477
|
+
# The server-assigned name, which is only unique within the same service that
|
|
1478
|
+
# originally returns it. If you use the default HTTP mapping, the
|
|
1479
|
+
# `name` should be a resource name ending with `operations/`unique_id``.
|
|
1480
|
+
# Corresponds to the JSON property `name`
|
|
1481
|
+
# @return [String]
|
|
1482
|
+
attr_accessor :name
|
|
1483
|
+
|
|
1484
|
+
# The normal response of the operation in case of success. If the original
|
|
1485
|
+
# method returns no data on success, such as `Delete`, the response is
|
|
1486
|
+
# `google.protobuf.Empty`. If the original method is standard
|
|
1487
|
+
# `Get`/`Create`/`Update`, the response should be the resource. For other
|
|
1488
|
+
# methods, the response should have the type `XxxResponse`, where `Xxx`
|
|
1489
|
+
# is the original method name. For example, if the original method name
|
|
1490
|
+
# is `TakeSnapshot()`, the inferred response type is
|
|
1491
|
+
# `TakeSnapshotResponse`.
|
|
1492
|
+
# Corresponds to the JSON property `response`
|
|
1493
|
+
# @return [Hash<String,Object>]
|
|
1494
|
+
attr_accessor :response
|
|
1495
|
+
|
|
1496
|
+
def initialize(**args)
|
|
1497
|
+
update!(**args)
|
|
1498
|
+
end
|
|
1499
|
+
|
|
1500
|
+
# Update properties of this object
|
|
1501
|
+
def update!(**args)
|
|
1502
|
+
@done = args[:done] if args.key?(:done)
|
|
1503
|
+
@error = args[:error] if args.key?(:error)
|
|
1504
|
+
@metadata = args[:metadata] if args.key?(:metadata)
|
|
1505
|
+
@name = args[:name] if args.key?(:name)
|
|
1506
|
+
@response = args[:response] if args.key?(:response)
|
|
1507
|
+
end
|
|
1508
|
+
end
|
|
1509
|
+
|
|
1510
|
+
# User specified settings that are attached to the Cloud Security Command
|
|
1511
|
+
# Center (Cloud SCC) organization.
|
|
1512
|
+
class OrganizationSettings
|
|
1513
|
+
include Google::Apis::Core::Hashable
|
|
1514
|
+
|
|
1515
|
+
# The configuration used for Asset Discovery runs.
|
|
1516
|
+
# Corresponds to the JSON property `assetDiscoveryConfig`
|
|
1517
|
+
# @return [Google::Apis::SecuritycenterV1p1beta1::AssetDiscoveryConfig]
|
|
1518
|
+
attr_accessor :asset_discovery_config
|
|
1519
|
+
|
|
1520
|
+
# A flag that indicates if Asset Discovery should be enabled. If the flag is
|
|
1521
|
+
# set to `true`, then discovery of assets will occur. If it is set to `false,
|
|
1522
|
+
# all historical assets will remain, but discovery of future assets will not
|
|
1523
|
+
# occur.
|
|
1524
|
+
# Corresponds to the JSON property `enableAssetDiscovery`
|
|
1525
|
+
# @return [Boolean]
|
|
1526
|
+
attr_accessor :enable_asset_discovery
|
|
1527
|
+
alias_method :enable_asset_discovery?, :enable_asset_discovery
|
|
1528
|
+
|
|
1529
|
+
# The relative resource name of the settings. See:
|
|
1530
|
+
# https://cloud.google.com/apis/design/resource_names#relative_resource_name
|
|
1531
|
+
# Example:
|
|
1532
|
+
# "organizations/`organization_id`/organizationSettings".
|
|
1533
|
+
# Corresponds to the JSON property `name`
|
|
1534
|
+
# @return [String]
|
|
1535
|
+
attr_accessor :name
|
|
1536
|
+
|
|
1537
|
+
def initialize(**args)
|
|
1538
|
+
update!(**args)
|
|
1539
|
+
end
|
|
1540
|
+
|
|
1541
|
+
# Update properties of this object
|
|
1542
|
+
def update!(**args)
|
|
1543
|
+
@asset_discovery_config = args[:asset_discovery_config] if args.key?(:asset_discovery_config)
|
|
1544
|
+
@enable_asset_discovery = args[:enable_asset_discovery] if args.key?(:enable_asset_discovery)
|
|
1545
|
+
@name = args[:name] if args.key?(:name)
|
|
1546
|
+
end
|
|
1547
|
+
end
|
|
1548
|
+
|
|
1549
|
+
# An Identity and Access Management (IAM) policy, which specifies access
|
|
1550
|
+
# controls for Google Cloud resources.
|
|
1551
|
+
# A `Policy` is a collection of `bindings`. A `binding` binds one or more
|
|
1552
|
+
# `members` to a single `role`. Members can be user accounts, service accounts,
|
|
1553
|
+
# Google groups, and domains (such as G Suite). A `role` is a named list of
|
|
1554
|
+
# permissions; each `role` can be an IAM predefined role or a user-created
|
|
1555
|
+
# custom role.
|
|
1556
|
+
# Optionally, a `binding` can specify a `condition`, which is a logical
|
|
1557
|
+
# expression that allows access to a resource only if the expression evaluates
|
|
1558
|
+
# to `true`. A condition can add constraints based on attributes of the
|
|
1559
|
+
# request, the resource, or both.
|
|
1560
|
+
# **JSON example:**
|
|
1561
|
+
# `
|
|
1562
|
+
# "bindings": [
|
|
1563
|
+
# `
|
|
1564
|
+
# "role": "roles/resourcemanager.organizationAdmin",
|
|
1565
|
+
# "members": [
|
|
1566
|
+
# "user:mike@example.com",
|
|
1567
|
+
# "group:admins@example.com",
|
|
1568
|
+
# "domain:google.com",
|
|
1569
|
+
# "serviceAccount:my-project-id@appspot.gserviceaccount.com"
|
|
1570
|
+
# ]
|
|
1571
|
+
# `,
|
|
1572
|
+
# `
|
|
1573
|
+
# "role": "roles/resourcemanager.organizationViewer",
|
|
1574
|
+
# "members": ["user:eve@example.com"],
|
|
1575
|
+
# "condition": `
|
|
1576
|
+
# "title": "expirable access",
|
|
1577
|
+
# "description": "Does not grant access after Sep 2020",
|
|
1578
|
+
# "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')
|
|
1579
|
+
# ",
|
|
1580
|
+
# `
|
|
1581
|
+
# `
|
|
1582
|
+
# ],
|
|
1583
|
+
# "etag": "BwWWja0YfJA=",
|
|
1584
|
+
# "version": 3
|
|
1585
|
+
# `
|
|
1586
|
+
# **YAML example:**
|
|
1587
|
+
# bindings:
|
|
1588
|
+
# - members:
|
|
1589
|
+
# - user:mike@example.com
|
|
1590
|
+
# - group:admins@example.com
|
|
1591
|
+
# - domain:google.com
|
|
1592
|
+
# - serviceAccount:my-project-id@appspot.gserviceaccount.com
|
|
1593
|
+
# role: roles/resourcemanager.organizationAdmin
|
|
1594
|
+
# - members:
|
|
1595
|
+
# - user:eve@example.com
|
|
1596
|
+
# role: roles/resourcemanager.organizationViewer
|
|
1597
|
+
# condition:
|
|
1598
|
+
# title: expirable access
|
|
1599
|
+
# description: Does not grant access after Sep 2020
|
|
1600
|
+
# expression: request.time < timestamp('2020-10-01T00:00:00.000Z')
|
|
1601
|
+
# - etag: BwWWja0YfJA=
|
|
1602
|
+
# - version: 3
|
|
1603
|
+
# For a description of IAM and its features, see the
|
|
1604
|
+
# [IAM documentation](https://cloud.google.com/iam/docs/).
|
|
1605
|
+
class Policy
|
|
1606
|
+
include Google::Apis::Core::Hashable
|
|
1607
|
+
|
|
1608
|
+
# Specifies cloud audit logging configuration for this policy.
|
|
1609
|
+
# Corresponds to the JSON property `auditConfigs`
|
|
1610
|
+
# @return [Array<Google::Apis::SecuritycenterV1p1beta1::AuditConfig>]
|
|
1611
|
+
attr_accessor :audit_configs
|
|
1612
|
+
|
|
1613
|
+
# Associates a list of `members` to a `role`. Optionally, may specify a
|
|
1614
|
+
# `condition` that determines how and when the `bindings` are applied. Each
|
|
1615
|
+
# of the `bindings` must contain at least one member.
|
|
1616
|
+
# Corresponds to the JSON property `bindings`
|
|
1617
|
+
# @return [Array<Google::Apis::SecuritycenterV1p1beta1::Binding>]
|
|
1618
|
+
attr_accessor :bindings
|
|
1619
|
+
|
|
1620
|
+
# `etag` is used for optimistic concurrency control as a way to help
|
|
1621
|
+
# prevent simultaneous updates of a policy from overwriting each other.
|
|
1622
|
+
# It is strongly suggested that systems make use of the `etag` in the
|
|
1623
|
+
# read-modify-write cycle to perform policy updates in order to avoid race
|
|
1624
|
+
# conditions: An `etag` is returned in the response to `getIamPolicy`, and
|
|
1625
|
+
# systems are expected to put that etag in the request to `setIamPolicy` to
|
|
1626
|
+
# ensure that their change will be applied to the same version of the policy.
|
|
1627
|
+
# **Important:** If you use IAM Conditions, you must include the `etag` field
|
|
1628
|
+
# whenever you call `setIamPolicy`. If you omit this field, then IAM allows
|
|
1629
|
+
# you to overwrite a version `3` policy with a version `1` policy, and all of
|
|
1630
|
+
# the conditions in the version `3` policy are lost.
|
|
1631
|
+
# Corresponds to the JSON property `etag`
|
|
1632
|
+
# NOTE: Values are automatically base64 encoded/decoded in the client library.
|
|
1633
|
+
# @return [String]
|
|
1634
|
+
attr_accessor :etag
|
|
1635
|
+
|
|
1636
|
+
# Specifies the format of the policy.
|
|
1637
|
+
# Valid values are `0`, `1`, and `3`. Requests that specify an invalid value
|
|
1638
|
+
# are rejected.
|
|
1639
|
+
# Any operation that affects conditional role bindings must specify version
|
|
1640
|
+
# `3`. This requirement applies to the following operations:
|
|
1641
|
+
# * Getting a policy that includes a conditional role binding
|
|
1642
|
+
# * Adding a conditional role binding to a policy
|
|
1643
|
+
# * Changing a conditional role binding in a policy
|
|
1644
|
+
# * Removing any role binding, with or without a condition, from a policy
|
|
1645
|
+
# that includes conditions
|
|
1646
|
+
# **Important:** If you use IAM Conditions, you must include the `etag` field
|
|
1647
|
+
# whenever you call `setIamPolicy`. If you omit this field, then IAM allows
|
|
1648
|
+
# you to overwrite a version `3` policy with a version `1` policy, and all of
|
|
1649
|
+
# the conditions in the version `3` policy are lost.
|
|
1650
|
+
# If a policy does not include any conditions, operations on that policy may
|
|
1651
|
+
# specify any valid version or leave the field unset.
|
|
1652
|
+
# Corresponds to the JSON property `version`
|
|
1653
|
+
# @return [Fixnum]
|
|
1654
|
+
attr_accessor :version
|
|
1655
|
+
|
|
1656
|
+
def initialize(**args)
|
|
1657
|
+
update!(**args)
|
|
1658
|
+
end
|
|
1659
|
+
|
|
1660
|
+
# Update properties of this object
|
|
1661
|
+
def update!(**args)
|
|
1662
|
+
@audit_configs = args[:audit_configs] if args.key?(:audit_configs)
|
|
1663
|
+
@bindings = args[:bindings] if args.key?(:bindings)
|
|
1664
|
+
@etag = args[:etag] if args.key?(:etag)
|
|
1665
|
+
@version = args[:version] if args.key?(:version)
|
|
1666
|
+
end
|
|
1667
|
+
end
|
|
1668
|
+
|
|
1669
|
+
# Information related to the Google Cloud Platform (GCP) resource that is
|
|
1670
|
+
# associated with this finding.
|
|
1671
|
+
class Resource
|
|
1672
|
+
include Google::Apis::Core::Hashable
|
|
1673
|
+
|
|
1674
|
+
# The full resource name of the resource. See:
|
|
1675
|
+
# https://cloud.google.com/apis/design/resource_names#full_resource_name
|
|
1676
|
+
# Corresponds to the JSON property `name`
|
|
1677
|
+
# @return [String]
|
|
1678
|
+
attr_accessor :name
|
|
1679
|
+
|
|
1680
|
+
# The human readable name of resource's parent.
|
|
1681
|
+
# Corresponds to the JSON property `parentDisplayName`
|
|
1682
|
+
# @return [String]
|
|
1683
|
+
attr_accessor :parent_display_name
|
|
1684
|
+
|
|
1685
|
+
# The full resource name of resource's parent.
|
|
1686
|
+
# Corresponds to the JSON property `parentName`
|
|
1687
|
+
# @return [String]
|
|
1688
|
+
attr_accessor :parent_name
|
|
1689
|
+
|
|
1690
|
+
# The human readable name of project that the resource belongs to.
|
|
1691
|
+
# Corresponds to the JSON property `projectDisplayName`
|
|
1692
|
+
# @return [String]
|
|
1693
|
+
attr_accessor :project_display_name
|
|
1694
|
+
|
|
1695
|
+
# The full resource name of project that the resource belongs to.
|
|
1696
|
+
# Corresponds to the JSON property `projectName`
|
|
1697
|
+
# @return [String]
|
|
1698
|
+
attr_accessor :project_name
|
|
1699
|
+
|
|
1700
|
+
def initialize(**args)
|
|
1701
|
+
update!(**args)
|
|
1702
|
+
end
|
|
1703
|
+
|
|
1704
|
+
# Update properties of this object
|
|
1705
|
+
def update!(**args)
|
|
1706
|
+
@name = args[:name] if args.key?(:name)
|
|
1707
|
+
@parent_display_name = args[:parent_display_name] if args.key?(:parent_display_name)
|
|
1708
|
+
@parent_name = args[:parent_name] if args.key?(:parent_name)
|
|
1709
|
+
@project_display_name = args[:project_display_name] if args.key?(:project_display_name)
|
|
1710
|
+
@project_name = args[:project_name] if args.key?(:project_name)
|
|
1711
|
+
end
|
|
1712
|
+
end
|
|
1713
|
+
|
|
1714
|
+
# Request message for running asset discovery for an organization.
|
|
1715
|
+
class RunAssetDiscoveryRequest
|
|
1716
|
+
include Google::Apis::Core::Hashable
|
|
1717
|
+
|
|
1718
|
+
def initialize(**args)
|
|
1719
|
+
update!(**args)
|
|
1720
|
+
end
|
|
1721
|
+
|
|
1722
|
+
# Update properties of this object
|
|
1723
|
+
def update!(**args)
|
|
1724
|
+
end
|
|
1725
|
+
end
|
|
1726
|
+
|
|
1727
|
+
# Request message for updating a finding's state.
|
|
1728
|
+
class SetFindingStateRequest
|
|
1729
|
+
include Google::Apis::Core::Hashable
|
|
1730
|
+
|
|
1731
|
+
# Required. The time at which the updated state takes effect.
|
|
1732
|
+
# Corresponds to the JSON property `startTime`
|
|
1733
|
+
# @return [String]
|
|
1734
|
+
attr_accessor :start_time
|
|
1735
|
+
|
|
1736
|
+
# Required. The desired State of the finding.
|
|
1737
|
+
# Corresponds to the JSON property `state`
|
|
1738
|
+
# @return [String]
|
|
1739
|
+
attr_accessor :state
|
|
1740
|
+
|
|
1741
|
+
def initialize(**args)
|
|
1742
|
+
update!(**args)
|
|
1743
|
+
end
|
|
1744
|
+
|
|
1745
|
+
# Update properties of this object
|
|
1746
|
+
def update!(**args)
|
|
1747
|
+
@start_time = args[:start_time] if args.key?(:start_time)
|
|
1748
|
+
@state = args[:state] if args.key?(:state)
|
|
1749
|
+
end
|
|
1750
|
+
end
|
|
1751
|
+
|
|
1752
|
+
# Request message for `SetIamPolicy` method.
|
|
1753
|
+
class SetIamPolicyRequest
|
|
1754
|
+
include Google::Apis::Core::Hashable
|
|
1755
|
+
|
|
1756
|
+
# An Identity and Access Management (IAM) policy, which specifies access
|
|
1757
|
+
# controls for Google Cloud resources.
|
|
1758
|
+
# A `Policy` is a collection of `bindings`. A `binding` binds one or more
|
|
1759
|
+
# `members` to a single `role`. Members can be user accounts, service accounts,
|
|
1760
|
+
# Google groups, and domains (such as G Suite). A `role` is a named list of
|
|
1761
|
+
# permissions; each `role` can be an IAM predefined role or a user-created
|
|
1762
|
+
# custom role.
|
|
1763
|
+
# Optionally, a `binding` can specify a `condition`, which is a logical
|
|
1764
|
+
# expression that allows access to a resource only if the expression evaluates
|
|
1765
|
+
# to `true`. A condition can add constraints based on attributes of the
|
|
1766
|
+
# request, the resource, or both.
|
|
1767
|
+
# **JSON example:**
|
|
1768
|
+
# `
|
|
1769
|
+
# "bindings": [
|
|
1770
|
+
# `
|
|
1771
|
+
# "role": "roles/resourcemanager.organizationAdmin",
|
|
1772
|
+
# "members": [
|
|
1773
|
+
# "user:mike@example.com",
|
|
1774
|
+
# "group:admins@example.com",
|
|
1775
|
+
# "domain:google.com",
|
|
1776
|
+
# "serviceAccount:my-project-id@appspot.gserviceaccount.com"
|
|
1777
|
+
# ]
|
|
1778
|
+
# `,
|
|
1779
|
+
# `
|
|
1780
|
+
# "role": "roles/resourcemanager.organizationViewer",
|
|
1781
|
+
# "members": ["user:eve@example.com"],
|
|
1782
|
+
# "condition": `
|
|
1783
|
+
# "title": "expirable access",
|
|
1784
|
+
# "description": "Does not grant access after Sep 2020",
|
|
1785
|
+
# "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')
|
|
1786
|
+
# ",
|
|
1787
|
+
# `
|
|
1788
|
+
# `
|
|
1789
|
+
# ],
|
|
1790
|
+
# "etag": "BwWWja0YfJA=",
|
|
1791
|
+
# "version": 3
|
|
1792
|
+
# `
|
|
1793
|
+
# **YAML example:**
|
|
1794
|
+
# bindings:
|
|
1795
|
+
# - members:
|
|
1796
|
+
# - user:mike@example.com
|
|
1797
|
+
# - group:admins@example.com
|
|
1798
|
+
# - domain:google.com
|
|
1799
|
+
# - serviceAccount:my-project-id@appspot.gserviceaccount.com
|
|
1800
|
+
# role: roles/resourcemanager.organizationAdmin
|
|
1801
|
+
# - members:
|
|
1802
|
+
# - user:eve@example.com
|
|
1803
|
+
# role: roles/resourcemanager.organizationViewer
|
|
1804
|
+
# condition:
|
|
1805
|
+
# title: expirable access
|
|
1806
|
+
# description: Does not grant access after Sep 2020
|
|
1807
|
+
# expression: request.time < timestamp('2020-10-01T00:00:00.000Z')
|
|
1808
|
+
# - etag: BwWWja0YfJA=
|
|
1809
|
+
# - version: 3
|
|
1810
|
+
# For a description of IAM and its features, see the
|
|
1811
|
+
# [IAM documentation](https://cloud.google.com/iam/docs/).
|
|
1812
|
+
# Corresponds to the JSON property `policy`
|
|
1813
|
+
# @return [Google::Apis::SecuritycenterV1p1beta1::Policy]
|
|
1814
|
+
attr_accessor :policy
|
|
1815
|
+
|
|
1816
|
+
# OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only
|
|
1817
|
+
# the fields in the mask will be modified. If no mask is provided, the
|
|
1818
|
+
# following default mask is used:
|
|
1819
|
+
# paths: "bindings, etag"
|
|
1820
|
+
# This field is only used by Cloud IAM.
|
|
1821
|
+
# Corresponds to the JSON property `updateMask`
|
|
1822
|
+
# @return [String]
|
|
1823
|
+
attr_accessor :update_mask
|
|
1824
|
+
|
|
1825
|
+
def initialize(**args)
|
|
1826
|
+
update!(**args)
|
|
1827
|
+
end
|
|
1828
|
+
|
|
1829
|
+
# Update properties of this object
|
|
1830
|
+
def update!(**args)
|
|
1831
|
+
@policy = args[:policy] if args.key?(:policy)
|
|
1832
|
+
@update_mask = args[:update_mask] if args.key?(:update_mask)
|
|
1833
|
+
end
|
|
1834
|
+
end
|
|
1835
|
+
|
|
1836
|
+
# Cloud Security Command Center's (Cloud SCC) finding source. A finding source
|
|
1837
|
+
# is an entity or a mechanism that can produce a finding. A source is like a
|
|
1838
|
+
# container of findings that come from the same scanner, logger, monitor, etc.
|
|
1839
|
+
class Source
|
|
1840
|
+
include Google::Apis::Core::Hashable
|
|
1841
|
+
|
|
1842
|
+
# The description of the source (max of 1024 characters).
|
|
1843
|
+
# Example:
|
|
1844
|
+
# "Cloud Security Scanner is a web security scanner for common
|
|
1845
|
+
# vulnerabilities in App Engine applications. It can automatically
|
|
1846
|
+
# scan and detect four common vulnerabilities, including cross-site-scripting
|
|
1847
|
+
# (XSS), Flash injection, mixed content (HTTP in HTTPS), and
|
|
1848
|
+
# outdated/insecure libraries."
|
|
1849
|
+
# Corresponds to the JSON property `description`
|
|
1850
|
+
# @return [String]
|
|
1851
|
+
attr_accessor :description
|
|
1852
|
+
|
|
1853
|
+
# The source's display name.
|
|
1854
|
+
# A source's display name must be unique amongst its siblings, for example,
|
|
1855
|
+
# two sources with the same parent can't share the same display name.
|
|
1856
|
+
# The display name must have a length between 1 and 64 characters
|
|
1857
|
+
# (inclusive).
|
|
1858
|
+
# Corresponds to the JSON property `displayName`
|
|
1859
|
+
# @return [String]
|
|
1860
|
+
attr_accessor :display_name
|
|
1861
|
+
|
|
1862
|
+
# The relative resource name of this source. See:
|
|
1863
|
+
# https://cloud.google.com/apis/design/resource_names#relative_resource_name
|
|
1864
|
+
# Example:
|
|
1865
|
+
# "organizations/`organization_id`/sources/`source_id`"
|
|
1866
|
+
# Corresponds to the JSON property `name`
|
|
1867
|
+
# @return [String]
|
|
1868
|
+
attr_accessor :name
|
|
1869
|
+
|
|
1870
|
+
def initialize(**args)
|
|
1871
|
+
update!(**args)
|
|
1872
|
+
end
|
|
1873
|
+
|
|
1874
|
+
# Update properties of this object
|
|
1875
|
+
def update!(**args)
|
|
1876
|
+
@description = args[:description] if args.key?(:description)
|
|
1877
|
+
@display_name = args[:display_name] if args.key?(:display_name)
|
|
1878
|
+
@name = args[:name] if args.key?(:name)
|
|
1879
|
+
end
|
|
1880
|
+
end
|
|
1881
|
+
|
|
1882
|
+
# The `Status` type defines a logical error model that is suitable for
|
|
1883
|
+
# different programming environments, including REST APIs and RPC APIs. It is
|
|
1884
|
+
# used by [gRPC](https://github.com/grpc). Each `Status` message contains
|
|
1885
|
+
# three pieces of data: error code, error message, and error details.
|
|
1886
|
+
# You can find out more about this error model and how to work with it in the
|
|
1887
|
+
# [API Design Guide](https://cloud.google.com/apis/design/errors).
|
|
1888
|
+
class Status
|
|
1889
|
+
include Google::Apis::Core::Hashable
|
|
1890
|
+
|
|
1891
|
+
# The status code, which should be an enum value of google.rpc.Code.
|
|
1892
|
+
# Corresponds to the JSON property `code`
|
|
1893
|
+
# @return [Fixnum]
|
|
1894
|
+
attr_accessor :code
|
|
1895
|
+
|
|
1896
|
+
# A list of messages that carry the error details. There is a common set of
|
|
1897
|
+
# message types for APIs to use.
|
|
1898
|
+
# Corresponds to the JSON property `details`
|
|
1899
|
+
# @return [Array<Hash<String,Object>>]
|
|
1900
|
+
attr_accessor :details
|
|
1901
|
+
|
|
1902
|
+
# A developer-facing error message, which should be in English. Any
|
|
1903
|
+
# user-facing error message should be localized and sent in the
|
|
1904
|
+
# google.rpc.Status.details field, or localized by the client.
|
|
1905
|
+
# Corresponds to the JSON property `message`
|
|
1906
|
+
# @return [String]
|
|
1907
|
+
attr_accessor :message
|
|
1908
|
+
|
|
1909
|
+
def initialize(**args)
|
|
1910
|
+
update!(**args)
|
|
1911
|
+
end
|
|
1912
|
+
|
|
1913
|
+
# Update properties of this object
|
|
1914
|
+
def update!(**args)
|
|
1915
|
+
@code = args[:code] if args.key?(:code)
|
|
1916
|
+
@details = args[:details] if args.key?(:details)
|
|
1917
|
+
@message = args[:message] if args.key?(:message)
|
|
1918
|
+
end
|
|
1919
|
+
end
|
|
1920
|
+
|
|
1921
|
+
# The config for streaming-based notifications, which send each event as soon
|
|
1922
|
+
# as it is detected.
|
|
1923
|
+
class StreamingConfig
|
|
1924
|
+
include Google::Apis::Core::Hashable
|
|
1925
|
+
|
|
1926
|
+
# Expression that defines the filter to apply across create/update events
|
|
1927
|
+
# of assets or findings as specified by the event type. The expression is a
|
|
1928
|
+
# list of zero or more restrictions combined via logical operators `AND`
|
|
1929
|
+
# and `OR`. Parentheses are supported, and `OR` has higher precedence than
|
|
1930
|
+
# `AND`.
|
|
1931
|
+
# Restrictions have the form `<field> <operator> <value>` and may have a
|
|
1932
|
+
# `-` character in front of them to indicate negation. The fields map to
|
|
1933
|
+
# those defined in the corresponding resource.
|
|
1934
|
+
# The supported operators are:
|
|
1935
|
+
# * `=` for all value types.
|
|
1936
|
+
# * `>`, `<`, `>=`, `<=` for integer values.
|
|
1937
|
+
# * `:`, meaning substring matching, for strings.
|
|
1938
|
+
# The supported value types are:
|
|
1939
|
+
# * string literals in quotes.
|
|
1940
|
+
# * integer literals without quotes.
|
|
1941
|
+
# * boolean literals `true` and `false` without quotes.
|
|
1942
|
+
# Corresponds to the JSON property `filter`
|
|
1943
|
+
# @return [String]
|
|
1944
|
+
attr_accessor :filter
|
|
1945
|
+
|
|
1946
|
+
def initialize(**args)
|
|
1947
|
+
update!(**args)
|
|
1948
|
+
end
|
|
1949
|
+
|
|
1950
|
+
# Update properties of this object
|
|
1951
|
+
def update!(**args)
|
|
1952
|
+
@filter = args[:filter] if args.key?(:filter)
|
|
1953
|
+
end
|
|
1954
|
+
end
|
|
1955
|
+
|
|
1956
|
+
# Request message for `TestIamPermissions` method.
|
|
1957
|
+
class TestIamPermissionsRequest
|
|
1958
|
+
include Google::Apis::Core::Hashable
|
|
1959
|
+
|
|
1960
|
+
# The set of permissions to check for the `resource`. Permissions with
|
|
1961
|
+
# wildcards (such as '*' or 'storage.*') are not allowed. For more
|
|
1962
|
+
# information see
|
|
1963
|
+
# [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).
|
|
1964
|
+
# Corresponds to the JSON property `permissions`
|
|
1965
|
+
# @return [Array<String>]
|
|
1966
|
+
attr_accessor :permissions
|
|
1967
|
+
|
|
1968
|
+
def initialize(**args)
|
|
1969
|
+
update!(**args)
|
|
1970
|
+
end
|
|
1971
|
+
|
|
1972
|
+
# Update properties of this object
|
|
1973
|
+
def update!(**args)
|
|
1974
|
+
@permissions = args[:permissions] if args.key?(:permissions)
|
|
1975
|
+
end
|
|
1976
|
+
end
|
|
1977
|
+
|
|
1978
|
+
# Response message for `TestIamPermissions` method.
|
|
1979
|
+
class TestIamPermissionsResponse
|
|
1980
|
+
include Google::Apis::Core::Hashable
|
|
1981
|
+
|
|
1982
|
+
# A subset of `TestPermissionsRequest.permissions` that the caller is
|
|
1983
|
+
# allowed.
|
|
1984
|
+
# Corresponds to the JSON property `permissions`
|
|
1985
|
+
# @return [Array<String>]
|
|
1986
|
+
attr_accessor :permissions
|
|
1987
|
+
|
|
1988
|
+
def initialize(**args)
|
|
1989
|
+
update!(**args)
|
|
1990
|
+
end
|
|
1991
|
+
|
|
1992
|
+
# Update properties of this object
|
|
1993
|
+
def update!(**args)
|
|
1994
|
+
@permissions = args[:permissions] if args.key?(:permissions)
|
|
1995
|
+
end
|
|
1996
|
+
end
|
|
1997
|
+
end
|
|
1998
|
+
end
|
|
1999
|
+
end
|