1 // Copyright 2024 Google LLC. 2 // Use of this source code is governed by a BSD-style 3 // license that can be found in the LICENSE file. 4 5 // Code generated file. DO NOT EDIT. 6 7 // Package securitycenter provides access to the Security Command Center API. 8 // 9 // For product documentation, see: https://cloud.google.com/security-command-center 10 // 11 // # Library status 12 // 13 // These client libraries are officially supported by Google. However, this 14 // library is considered complete and is in maintenance mode. This means 15 // that we will address critical bugs and security issues but will not add 16 // any new features. 17 // 18 // When possible, we recommend using our newer 19 // [Cloud Client Libraries for Go](https://pkg.go.dev/cloud.google.com/go) 20 // that are still actively being worked and iterated on. 21 // 22 // # Creating a client 23 // 24 // Usage example: 25 // 26 // import "google.golang.org/api/securitycenter/v1beta1" 27 // ... 28 // ctx := context.Background() 29 // securitycenterService, err := securitycenter.NewService(ctx) 30 // 31 // In this example, Google Application Default Credentials are used for 32 // authentication. For information on how to create and obtain Application 33 // Default Credentials, see https://developers.google.com/identity/protocols/application-default-credentials. 34 // 35 // # Other authentication options 36 // 37 // To use an API key for authentication (note: some APIs do not support API 38 // keys), use [google.golang.org/api/option.WithAPIKey]: 39 // 40 // securitycenterService, err := securitycenter.NewService(ctx, option.WithAPIKey("AIza...")) 41 // 42 // To use an OAuth token (e.g., a user token obtained via a three-legged OAuth 43 // flow, use [google.golang.org/api/option.WithTokenSource]: 44 // 45 // config := &oauth2.Config{...} 46 // // ... 47 // token, err := config.Exchange(ctx, ...) 48 // securitycenterService, err := securitycenter.NewService(ctx, option.WithTokenSource(config.TokenSource(ctx, token))) 49 // 50 // See [google.golang.org/api/option.ClientOption] for details on options. 51 package securitycenter // import "google.golang.org/api/securitycenter/v1beta1" 52 53 import ( 54 "bytes" 55 "context" 56 "encoding/json" 57 "errors" 58 "fmt" 59 "io" 60 "net/http" 61 "net/url" 62 "strconv" 63 "strings" 64 65 googleapi "google.golang.org/api/googleapi" 66 internal "google.golang.org/api/internal" 67 gensupport "google.golang.org/api/internal/gensupport" 68 option "google.golang.org/api/option" 69 internaloption "google.golang.org/api/option/internaloption" 70 htransport "google.golang.org/api/transport/http" 71 ) 72 73 // Always reference these packages, just in case the auto-generated code 74 // below doesn't. 75 var _ = bytes.NewBuffer 76 var _ = strconv.Itoa 77 var _ = fmt.Sprintf 78 var _ = json.NewDecoder 79 var _ = io.Copy 80 var _ = url.Parse 81 var _ = gensupport.MarshalJSON 82 var _ = googleapi.Version 83 var _ = errors.New 84 var _ = strings.Replace 85 var _ = context.Canceled 86 var _ = internaloption.WithDefaultEndpoint 87 var _ = internal.Version 88 89 const apiId = "securitycenter:v1beta1" 90 const apiName = "securitycenter" 91 const apiVersion = "v1beta1" 92 const basePath = "https://securitycenter.googleapis.com/" 93 const basePathTemplate = "https://securitycenter.UNIVERSE_DOMAIN/" 94 const mtlsBasePath = "https://securitycenter.mtls.googleapis.com/" 95 96 // OAuth2 scopes used by this API. 97 const ( 98 // See, edit, configure, and delete your Google Cloud data and see the email 99 // address for your Google Account. 100 CloudPlatformScope = "https://www.googleapis.com/auth/cloud-platform" 101 ) 102 103 // NewService creates a new Service. 104 func NewService(ctx context.Context, opts ...option.ClientOption) (*Service, error) { 105 scopesOption := internaloption.WithDefaultScopes( 106 "https://www.googleapis.com/auth/cloud-platform", 107 ) 108 // NOTE: prepend, so we don't override user-specified scopes. 109 opts = append([]option.ClientOption{scopesOption}, opts...) 110 opts = append(opts, internaloption.WithDefaultEndpoint(basePath)) 111 opts = append(opts, internaloption.WithDefaultEndpointTemplate(basePathTemplate)) 112 opts = append(opts, internaloption.WithDefaultMTLSEndpoint(mtlsBasePath)) 113 opts = append(opts, internaloption.EnableNewAuthLibrary()) 114 client, endpoint, err := htransport.NewClient(ctx, opts...) 115 if err != nil { 116 return nil, err 117 } 118 s, err := New(client) 119 if err != nil { 120 return nil, err 121 } 122 if endpoint != "" { 123 s.BasePath = endpoint 124 } 125 return s, nil 126 } 127 128 // New creates a new Service. It uses the provided http.Client for requests. 129 // 130 // Deprecated: please use NewService instead. 131 // To provide a custom HTTP client, use option.WithHTTPClient. 132 // If you are using google.golang.org/api/googleapis/transport.APIKey, use option.WithAPIKey with NewService instead. 133 func New(client *http.Client) (*Service, error) { 134 if client == nil { 135 return nil, errors.New("client is nil") 136 } 137 s := &Service{client: client, BasePath: basePath} 138 s.Organizations = NewOrganizationsService(s) 139 return s, nil 140 } 141 142 type Service struct { 143 client *http.Client 144 BasePath string // API endpoint base URL 145 UserAgent string // optional additional User-Agent fragment 146 147 Organizations *OrganizationsService 148 } 149 150 func (s *Service) userAgent() string { 151 if s.UserAgent == "" { 152 return googleapi.UserAgent 153 } 154 return googleapi.UserAgent + " " + s.UserAgent 155 } 156 157 func NewOrganizationsService(s *Service) *OrganizationsService { 158 rs := &OrganizationsService{s: s} 159 rs.Assets = NewOrganizationsAssetsService(s) 160 rs.Operations = NewOrganizationsOperationsService(s) 161 rs.Sources = NewOrganizationsSourcesService(s) 162 return rs 163 } 164 165 type OrganizationsService struct { 166 s *Service 167 168 Assets *OrganizationsAssetsService 169 170 Operations *OrganizationsOperationsService 171 172 Sources *OrganizationsSourcesService 173 } 174 175 func NewOrganizationsAssetsService(s *Service) *OrganizationsAssetsService { 176 rs := &OrganizationsAssetsService{s: s} 177 return rs 178 } 179 180 type OrganizationsAssetsService struct { 181 s *Service 182 } 183 184 func NewOrganizationsOperationsService(s *Service) *OrganizationsOperationsService { 185 rs := &OrganizationsOperationsService{s: s} 186 return rs 187 } 188 189 type OrganizationsOperationsService struct { 190 s *Service 191 } 192 193 func NewOrganizationsSourcesService(s *Service) *OrganizationsSourcesService { 194 rs := &OrganizationsSourcesService{s: s} 195 rs.Findings = NewOrganizationsSourcesFindingsService(s) 196 return rs 197 } 198 199 type OrganizationsSourcesService struct { 200 s *Service 201 202 Findings *OrganizationsSourcesFindingsService 203 } 204 205 func NewOrganizationsSourcesFindingsService(s *Service) *OrganizationsSourcesFindingsService { 206 rs := &OrganizationsSourcesFindingsService{s: s} 207 return rs 208 } 209 210 type OrganizationsSourcesFindingsService struct { 211 s *Service 212 } 213 214 // Access: Represents an access event. 215 type Access struct { 216 // CallerIp: Caller's IP address, such as "1.1.1.1". 217 CallerIp string `json:"callerIp,omitempty"` 218 // CallerIpGeo: The caller IP's geolocation, which identifies where the call 219 // came from. 220 CallerIpGeo *Geolocation `json:"callerIpGeo,omitempty"` 221 // MethodName: The method that the service account called, e.g. "SetIamPolicy". 222 MethodName string `json:"methodName,omitempty"` 223 // PrincipalEmail: Associated email, such as "foo@google.com". The email 224 // address of the authenticated user or a service account acting on behalf of a 225 // third party principal making the request. For third party identity callers, 226 // the `principal_subject` field is populated instead of this field. For 227 // privacy reasons, the principal email address is sometimes redacted. For more 228 // information, see Caller identities in audit logs 229 // (https://cloud.google.com/logging/docs/audit#user-id). 230 PrincipalEmail string `json:"principalEmail,omitempty"` 231 // PrincipalSubject: A string that represents the principal_subject that is 232 // associated with the identity. Unlike `principal_email`, `principal_subject` 233 // supports principals that aren't associated with email addresses, such as 234 // third party principals. For most identities, the format is 235 // `principal://iam.googleapis.com/{identity pool name}/subject/{subject}`. 236 // Some GKE identities, such as GKE_WORKLOAD, FREEFORM, and GKE_HUB_WORKLOAD, 237 // still use the legacy format `serviceAccount:{identity pool 238 // name}[{subject}]`. 239 PrincipalSubject string `json:"principalSubject,omitempty"` 240 // ServiceAccountDelegationInfo: The identity delegation history of an 241 // authenticated service account that made the request. The 242 // `serviceAccountDelegationInfo[]` object contains information about the real 243 // authorities that try to access Google Cloud resources by delegating on a 244 // service account. When multiple authorities are present, they are guaranteed 245 // to be sorted based on the original ordering of the identity delegation 246 // events. 247 ServiceAccountDelegationInfo []*ServiceAccountDelegationInfo `json:"serviceAccountDelegationInfo,omitempty"` 248 // ServiceAccountKeyName: The name of the service account key that was used to 249 // create or exchange credentials when authenticating the service account that 250 // made the request. This is a scheme-less URI full resource name. For example: 251 // "//iam.googleapis.com/projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}/keys/{k 252 // ey}". 253 ServiceAccountKeyName string `json:"serviceAccountKeyName,omitempty"` 254 // ServiceName: This is the API service that the service account made a call 255 // to, e.g. "iam.googleapis.com" 256 ServiceName string `json:"serviceName,omitempty"` 257 // UserAgent: The caller's user agent string associated with the finding. 258 UserAgent string `json:"userAgent,omitempty"` 259 // UserAgentFamily: Type of user agent associated with the finding. For 260 // example, an operating system shell or an embedded or standalone application. 261 UserAgentFamily string `json:"userAgentFamily,omitempty"` 262 // UserName: A string that represents a username. The username provided depends 263 // on the type of the finding and is likely not an IAM principal. For example, 264 // this can be a system username if the finding is related to a virtual 265 // machine, or it can be an application login username. 266 UserName string `json:"userName,omitempty"` 267 // ForceSendFields is a list of field names (e.g. "CallerIp") to 268 // unconditionally include in API requests. By default, fields with empty or 269 // default values are omitted from API requests. See 270 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 271 // details. 272 ForceSendFields []string `json:"-"` 273 // NullFields is a list of field names (e.g. "CallerIp") to include in API 274 // requests with the JSON null value. By default, fields with empty values are 275 // omitted from API requests. See 276 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 277 NullFields []string `json:"-"` 278 } 279 280 func (s *Access) MarshalJSON() ([]byte, error) { 281 type NoMethod Access 282 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 283 } 284 285 // AccessReview: Conveys information about a Kubernetes access review (such as 286 // one returned by a `kubectl auth can-i` 287 // (https://kubernetes.io/docs/reference/access-authn-authz/authorization/#checking-api-access) 288 // command) that was involved in a finding. 289 type AccessReview struct { 290 // Group: The API group of the resource. "*" means all. 291 Group string `json:"group,omitempty"` 292 // Name: The name of the resource being requested. Empty means all. 293 Name string `json:"name,omitempty"` 294 // Ns: Namespace of the action being requested. Currently, there is no 295 // distinction between no namespace and all namespaces. Both are represented by 296 // "" (empty). 297 Ns string `json:"ns,omitempty"` 298 // Resource: The optional resource type requested. "*" means all. 299 Resource string `json:"resource,omitempty"` 300 // Subresource: The optional subresource type. 301 Subresource string `json:"subresource,omitempty"` 302 // Verb: A Kubernetes resource API verb, like get, list, watch, create, update, 303 // delete, proxy. "*" means all. 304 Verb string `json:"verb,omitempty"` 305 // Version: The API version of the resource. "*" means all. 306 Version string `json:"version,omitempty"` 307 // ForceSendFields is a list of field names (e.g. "Group") to unconditionally 308 // include in API requests. By default, fields with empty or default values are 309 // omitted from API requests. See 310 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 311 // details. 312 ForceSendFields []string `json:"-"` 313 // NullFields is a list of field names (e.g. "Group") to include in API 314 // requests with the JSON null value. By default, fields with empty values are 315 // omitted from API requests. See 316 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 317 NullFields []string `json:"-"` 318 } 319 320 func (s *AccessReview) MarshalJSON() ([]byte, error) { 321 type NoMethod AccessReview 322 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 323 } 324 325 // AdaptiveProtection: Information about Google Cloud Armor Adaptive Protection 326 // (https://cloud.google.com/armor/docs/cloud-armor-overview#google-cloud-armor-adaptive-protection). 327 type AdaptiveProtection struct { 328 // Confidence: A score of 0 means that there is low confidence that the 329 // detected event is an actual attack. A score of 1 means that there is high 330 // confidence that the detected event is an attack. See the Adaptive Protection 331 // documentation 332 // (https://cloud.google.com/armor/docs/adaptive-protection-overview#configure-alert-tuning) 333 // for further explanation. 334 Confidence float64 `json:"confidence,omitempty"` 335 // ForceSendFields is a list of field names (e.g. "Confidence") to 336 // unconditionally include in API requests. By default, fields with empty or 337 // default values are omitted from API requests. See 338 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 339 // details. 340 ForceSendFields []string `json:"-"` 341 // NullFields is a list of field names (e.g. "Confidence") to include in API 342 // requests with the JSON null value. By default, fields with empty values are 343 // omitted from API requests. See 344 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 345 NullFields []string `json:"-"` 346 } 347 348 func (s *AdaptiveProtection) MarshalJSON() ([]byte, error) { 349 type NoMethod AdaptiveProtection 350 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 351 } 352 353 func (s *AdaptiveProtection) UnmarshalJSON(data []byte) error { 354 type NoMethod AdaptiveProtection 355 var s1 struct { 356 Confidence gensupport.JSONFloat64 `json:"confidence"` 357 *NoMethod 358 } 359 s1.NoMethod = (*NoMethod)(s) 360 if err := json.Unmarshal(data, &s1); err != nil { 361 return err 362 } 363 s.Confidence = float64(s1.Confidence) 364 return nil 365 } 366 367 // Application: Represents an application associated with a finding. 368 type Application struct { 369 // BaseUri: The base URI that identifies the network location of the 370 // application in which the vulnerability was detected. For example, 371 // `http://example.com`. 372 BaseUri string `json:"baseUri,omitempty"` 373 // FullUri: The full URI with payload that can be used to reproduce the 374 // vulnerability. For example, `http://example.com?p=aMmYgI6H`. 375 FullUri string `json:"fullUri,omitempty"` 376 // ForceSendFields is a list of field names (e.g. "BaseUri") to unconditionally 377 // include in API requests. By default, fields with empty or default values are 378 // omitted from API requests. See 379 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 380 // details. 381 ForceSendFields []string `json:"-"` 382 // NullFields is a list of field names (e.g. "BaseUri") to include in API 383 // requests with the JSON null value. By default, fields with empty values are 384 // omitted from API requests. See 385 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 386 NullFields []string `json:"-"` 387 } 388 389 func (s *Application) MarshalJSON() ([]byte, error) { 390 type NoMethod Application 391 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 392 } 393 394 // Asset: Security Command Center representation of a Google Cloud resource. 395 // The Asset is a Security Command Center resource that captures information 396 // about a single Google Cloud resource. All modifications to an Asset are only 397 // within the context of Security Command Center and don't affect the 398 // referenced Google Cloud resource. 399 type Asset struct { 400 // CreateTime: The time at which the asset was created in Security Command 401 // Center. 402 CreateTime string `json:"createTime,omitempty"` 403 // Name: The relative resource name of this asset. See: 404 // https://cloud.google.com/apis/design/resource_names#relative_resource_name 405 // Example: "organizations/{organization_id}/assets/{asset_id}". 406 Name string `json:"name,omitempty"` 407 // ResourceProperties: Resource managed properties. These properties are 408 // managed and defined by the Google Cloud resource and cannot be modified by 409 // the user. 410 ResourceProperties googleapi.RawMessage `json:"resourceProperties,omitempty"` 411 // SecurityCenterProperties: Security Command Center managed properties. These 412 // properties are managed by Security Command Center and cannot be modified by 413 // the user. 414 SecurityCenterProperties *SecurityCenterProperties `json:"securityCenterProperties,omitempty"` 415 // SecurityMarks: User specified security marks. These marks are entirely 416 // managed by the user and come from the SecurityMarks resource that belongs to 417 // the asset. 418 SecurityMarks *GoogleCloudSecuritycenterV1beta1SecurityMarks `json:"securityMarks,omitempty"` 419 // UpdateTime: The time at which the asset was last updated, added, or deleted 420 // in Security Command Center. 421 UpdateTime string `json:"updateTime,omitempty"` 422 // ForceSendFields is a list of field names (e.g. "CreateTime") to 423 // unconditionally include in API requests. By default, fields with empty or 424 // default values are omitted from API requests. See 425 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 426 // details. 427 ForceSendFields []string `json:"-"` 428 // NullFields is a list of field names (e.g. "CreateTime") to include in API 429 // requests with the JSON null value. By default, fields with empty values are 430 // omitted from API requests. See 431 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 432 NullFields []string `json:"-"` 433 } 434 435 func (s *Asset) MarshalJSON() ([]byte, error) { 436 type NoMethod Asset 437 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 438 } 439 440 // AssetDiscoveryConfig: The configuration used for Asset Discovery runs. 441 type AssetDiscoveryConfig struct { 442 // InclusionMode: The mode to use for filtering asset discovery. 443 // 444 // Possible values: 445 // "INCLUSION_MODE_UNSPECIFIED" - Unspecified. Setting the mode with this 446 // value will disable inclusion/exclusion filtering for Asset Discovery. 447 // "INCLUDE_ONLY" - Asset Discovery will capture only the resources within 448 // the projects specified. All other resources will be ignored. 449 // "EXCLUDE" - Asset Discovery will ignore all resources under the projects 450 // specified. All other resources will be retrieved. 451 InclusionMode string `json:"inclusionMode,omitempty"` 452 // ProjectIds: The project ids to use for filtering asset discovery. 453 ProjectIds []string `json:"projectIds,omitempty"` 454 // ForceSendFields is a list of field names (e.g. "InclusionMode") to 455 // unconditionally include in API requests. By default, fields with empty or 456 // default values are omitted from API requests. See 457 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 458 // details. 459 ForceSendFields []string `json:"-"` 460 // NullFields is a list of field names (e.g. "InclusionMode") to include in API 461 // requests with the JSON null value. By default, fields with empty values are 462 // omitted from API requests. See 463 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 464 NullFields []string `json:"-"` 465 } 466 467 func (s *AssetDiscoveryConfig) MarshalJSON() ([]byte, error) { 468 type NoMethod AssetDiscoveryConfig 469 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 470 } 471 472 // Attack: Information about DDoS attack volume and classification. 473 type Attack struct { 474 // Classification: Type of attack, for example, 'SYN-flood', 'NTP-udp', or 475 // 'CHARGEN-udp'. 476 Classification string `json:"classification,omitempty"` 477 // VolumeBps: Total BPS (bytes per second) volume of attack. 478 VolumeBps int64 `json:"volumeBps,omitempty"` 479 // VolumePps: Total PPS (packets per second) volume of attack. 480 VolumePps int64 `json:"volumePps,omitempty"` 481 // ForceSendFields is a list of field names (e.g. "Classification") to 482 // unconditionally include in API requests. By default, fields with empty or 483 // default values are omitted from API requests. See 484 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 485 // details. 486 ForceSendFields []string `json:"-"` 487 // NullFields is a list of field names (e.g. "Classification") to include in 488 // API requests with the JSON null value. By default, fields with empty values 489 // are omitted from API requests. See 490 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 491 NullFields []string `json:"-"` 492 } 493 494 func (s *Attack) MarshalJSON() ([]byte, error) { 495 type NoMethod Attack 496 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 497 } 498 499 // AttackExposure: An attack exposure contains the results of an attack path 500 // simulation run. 501 type AttackExposure struct { 502 // AttackExposureResult: The resource name of the attack path simulation result 503 // that contains the details regarding this attack exposure score. Example: 504 // organizations/123/simulations/456/attackExposureResults/789 505 AttackExposureResult string `json:"attackExposureResult,omitempty"` 506 // ExposedHighValueResourcesCount: The number of high value resources that are 507 // exposed as a result of this finding. 508 ExposedHighValueResourcesCount int64 `json:"exposedHighValueResourcesCount,omitempty"` 509 // ExposedLowValueResourcesCount: The number of high value resources that are 510 // exposed as a result of this finding. 511 ExposedLowValueResourcesCount int64 `json:"exposedLowValueResourcesCount,omitempty"` 512 // ExposedMediumValueResourcesCount: The number of medium value resources that 513 // are exposed as a result of this finding. 514 ExposedMediumValueResourcesCount int64 `json:"exposedMediumValueResourcesCount,omitempty"` 515 // LatestCalculationTime: The most recent time the attack exposure was updated 516 // on this finding. 517 LatestCalculationTime string `json:"latestCalculationTime,omitempty"` 518 // Score: A number between 0 (inclusive) and infinity that represents how 519 // important this finding is to remediate. The higher the score, the more 520 // important it is to remediate. 521 Score float64 `json:"score,omitempty"` 522 // State: What state this AttackExposure is in. This captures whether or not an 523 // attack exposure has been calculated or not. 524 // 525 // Possible values: 526 // "STATE_UNSPECIFIED" - The state is not specified. 527 // "CALCULATED" - The attack exposure has been calculated. 528 // "NOT_CALCULATED" - The attack exposure has not been calculated. 529 State string `json:"state,omitempty"` 530 // ForceSendFields is a list of field names (e.g. "AttackExposureResult") to 531 // unconditionally include in API requests. By default, fields with empty or 532 // default values are omitted from API requests. See 533 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 534 // details. 535 ForceSendFields []string `json:"-"` 536 // NullFields is a list of field names (e.g. "AttackExposureResult") to include 537 // in API requests with the JSON null value. By default, fields with empty 538 // values are omitted from API requests. See 539 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 540 NullFields []string `json:"-"` 541 } 542 543 func (s *AttackExposure) MarshalJSON() ([]byte, error) { 544 type NoMethod AttackExposure 545 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 546 } 547 548 func (s *AttackExposure) UnmarshalJSON(data []byte) error { 549 type NoMethod AttackExposure 550 var s1 struct { 551 Score gensupport.JSONFloat64 `json:"score"` 552 *NoMethod 553 } 554 s1.NoMethod = (*NoMethod)(s) 555 if err := json.Unmarshal(data, &s1); err != nil { 556 return err 557 } 558 s.Score = float64(s1.Score) 559 return nil 560 } 561 562 // AuditConfig: Specifies the audit configuration for a service. The 563 // configuration determines which permission types are logged, and what 564 // identities, if any, are exempted from logging. An AuditConfig must have one 565 // or more AuditLogConfigs. If there are AuditConfigs for both `allServices` 566 // and a specific service, the union of the two AuditConfigs is used for that 567 // service: the log_types specified in each AuditConfig are enabled, and the 568 // exempted_members in each AuditLogConfig are exempted. Example Policy with 569 // multiple AuditConfigs: { "audit_configs": [ { "service": "allServices", 570 // "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [ 571 // "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" }, { "log_type": 572 // "ADMIN_READ" } ] }, { "service": "sampleservice.googleapis.com", 573 // "audit_log_configs": [ { "log_type": "DATA_READ" }, { "log_type": 574 // "DATA_WRITE", "exempted_members": [ "user:aliya@example.com" ] } ] } ] } For 575 // sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ 576 // logging. It also exempts `jose@example.com` from DATA_READ logging, and 577 // `aliya@example.com` from DATA_WRITE logging. 578 type AuditConfig struct { 579 // AuditLogConfigs: The configuration for logging of each type of permission. 580 AuditLogConfigs []*AuditLogConfig `json:"auditLogConfigs,omitempty"` 581 // Service: Specifies a service that will be enabled for audit logging. For 582 // example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` 583 // is a special value that covers all services. 584 Service string `json:"service,omitempty"` 585 // ForceSendFields is a list of field names (e.g. "AuditLogConfigs") to 586 // unconditionally include in API requests. By default, fields with empty or 587 // default values are omitted from API requests. See 588 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 589 // details. 590 ForceSendFields []string `json:"-"` 591 // NullFields is a list of field names (e.g. "AuditLogConfigs") to include in 592 // API requests with the JSON null value. By default, fields with empty values 593 // are omitted from API requests. See 594 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 595 NullFields []string `json:"-"` 596 } 597 598 func (s *AuditConfig) MarshalJSON() ([]byte, error) { 599 type NoMethod AuditConfig 600 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 601 } 602 603 // AuditLogConfig: Provides the configuration for logging a type of 604 // permissions. Example: { "audit_log_configs": [ { "log_type": "DATA_READ", 605 // "exempted_members": [ "user:jose@example.com" ] }, { "log_type": 606 // "DATA_WRITE" } ] } This enables 'DATA_READ' and 'DATA_WRITE' logging, while 607 // exempting jose@example.com from DATA_READ logging. 608 type AuditLogConfig struct { 609 // ExemptedMembers: Specifies the identities that do not cause logging for this 610 // type of permission. Follows the same format of Binding.members. 611 ExemptedMembers []string `json:"exemptedMembers,omitempty"` 612 // LogType: The log type that this config enables. 613 // 614 // Possible values: 615 // "LOG_TYPE_UNSPECIFIED" - Default case. Should never be this. 616 // "ADMIN_READ" - Admin reads. Example: CloudIAM getIamPolicy 617 // "DATA_WRITE" - Data writes. Example: CloudSQL Users create 618 // "DATA_READ" - Data reads. Example: CloudSQL Users list 619 LogType string `json:"logType,omitempty"` 620 // ForceSendFields is a list of field names (e.g. "ExemptedMembers") to 621 // unconditionally include in API requests. By default, fields with empty or 622 // default values are omitted from API requests. See 623 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 624 // details. 625 ForceSendFields []string `json:"-"` 626 // NullFields is a list of field names (e.g. "ExemptedMembers") to include in 627 // API requests with the JSON null value. By default, fields with empty values 628 // are omitted from API requests. See 629 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 630 NullFields []string `json:"-"` 631 } 632 633 func (s *AuditLogConfig) MarshalJSON() ([]byte, error) { 634 type NoMethod AuditLogConfig 635 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 636 } 637 638 // AwsAccount: An AWS account that is a member of an organization. 639 type AwsAccount struct { 640 // Id: The unique identifier (ID) of the account, containing exactly 12 digits. 641 Id string `json:"id,omitempty"` 642 // Name: The friendly name of this account. 643 Name string `json:"name,omitempty"` 644 // ForceSendFields is a list of field names (e.g. "Id") to unconditionally 645 // include in API requests. By default, fields with empty or default values are 646 // omitted from API requests. See 647 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 648 // details. 649 ForceSendFields []string `json:"-"` 650 // NullFields is a list of field names (e.g. "Id") to include in API requests 651 // with the JSON null value. By default, fields with empty values are omitted 652 // from API requests. See 653 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 654 NullFields []string `json:"-"` 655 } 656 657 func (s *AwsAccount) MarshalJSON() ([]byte, error) { 658 type NoMethod AwsAccount 659 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 660 } 661 662 // AwsMetadata: AWS metadata associated with the resource, only applicable if 663 // the finding's cloud provider is Amazon Web Services. 664 type AwsMetadata struct { 665 // Account: The AWS account associated with the resource. 666 Account *AwsAccount `json:"account,omitempty"` 667 // Organization: The AWS organization associated with the resource. 668 Organization *AwsOrganization `json:"organization,omitempty"` 669 // OrganizationalUnits: A list of AWS organizational units associated with the 670 // resource, ordered from lowest level (closest to the account) to highest 671 // level. 672 OrganizationalUnits []*AwsOrganizationalUnit `json:"organizationalUnits,omitempty"` 673 // ForceSendFields is a list of field names (e.g. "Account") to unconditionally 674 // include in API requests. By default, fields with empty or default values are 675 // omitted from API requests. See 676 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 677 // details. 678 ForceSendFields []string `json:"-"` 679 // NullFields is a list of field names (e.g. "Account") to include in API 680 // requests with the JSON null value. By default, fields with empty values are 681 // omitted from API requests. See 682 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 683 NullFields []string `json:"-"` 684 } 685 686 func (s *AwsMetadata) MarshalJSON() ([]byte, error) { 687 type NoMethod AwsMetadata 688 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 689 } 690 691 // AwsOrganization: An organization is a collection of accounts that are 692 // centrally managed together using consolidated billing, organized 693 // hierarchically with organizational units (OUs), and controlled with 694 // policies. 695 type AwsOrganization struct { 696 // Id: The unique identifier (ID) for the organization. The regex pattern for 697 // an organization ID string requires "o-" followed by from 10 to 32 lowercase 698 // letters or digits. 699 Id string `json:"id,omitempty"` 700 // ForceSendFields is a list of field names (e.g. "Id") to unconditionally 701 // include in API requests. By default, fields with empty or default values are 702 // omitted from API requests. See 703 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 704 // details. 705 ForceSendFields []string `json:"-"` 706 // NullFields is a list of field names (e.g. "Id") to include in API requests 707 // with the JSON null value. By default, fields with empty values are omitted 708 // from API requests. See 709 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 710 NullFields []string `json:"-"` 711 } 712 713 func (s *AwsOrganization) MarshalJSON() ([]byte, error) { 714 type NoMethod AwsOrganization 715 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 716 } 717 718 // AwsOrganizationalUnit: An Organizational Unit (OU) is a container of AWS 719 // accounts within a root of an organization. Policies that are attached to an 720 // OU apply to all accounts contained in that OU and in any child OUs. 721 type AwsOrganizationalUnit struct { 722 // Id: The unique identifier (ID) associated with this OU. The regex pattern 723 // for an organizational unit ID string requires "ou-" followed by from 4 to 32 724 // lowercase letters or digits (the ID of the root that contains the OU). This 725 // string is followed by a second "-" dash and from 8 to 32 additional 726 // lowercase letters or digits. For example, "ou-ab12-cd34ef56". 727 Id string `json:"id,omitempty"` 728 // Name: The friendly name of the OU. 729 Name string `json:"name,omitempty"` 730 // ForceSendFields is a list of field names (e.g. "Id") to unconditionally 731 // include in API requests. By default, fields with empty or default values are 732 // omitted from API requests. See 733 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 734 // details. 735 ForceSendFields []string `json:"-"` 736 // NullFields is a list of field names (e.g. "Id") to include in API requests 737 // with the JSON null value. By default, fields with empty values are omitted 738 // from API requests. See 739 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 740 NullFields []string `json:"-"` 741 } 742 743 func (s *AwsOrganizationalUnit) MarshalJSON() ([]byte, error) { 744 type NoMethod AwsOrganizationalUnit 745 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 746 } 747 748 // BackupDisasterRecovery: Information related to Google Cloud Backup and DR 749 // Service findings. 750 type BackupDisasterRecovery struct { 751 // Appliance: The name of the Backup and DR appliance that captures, moves, and 752 // manages the lifecycle of backup data. For example, `backup-server-57137`. 753 Appliance string `json:"appliance,omitempty"` 754 // Applications: The names of Backup and DR applications. An application is a 755 // VM, database, or file system on a managed host monitored by a backup and 756 // recovery appliance. For example, `centos7-01-vol00`, `centos7-01-vol01`, 757 // `centos7-01-vol02`. 758 Applications []string `json:"applications,omitempty"` 759 // BackupCreateTime: The timestamp at which the Backup and DR backup was 760 // created. 761 BackupCreateTime string `json:"backupCreateTime,omitempty"` 762 // BackupTemplate: The name of a Backup and DR template which comprises one or 763 // more backup policies. See the Backup and DR documentation 764 // (https://cloud.google.com/backup-disaster-recovery/docs/concepts/backup-plan#temp) 765 // for more information. For example, `snap-ov`. 766 BackupTemplate string `json:"backupTemplate,omitempty"` 767 // BackupType: The backup type of the Backup and DR image. For example, 768 // `Snapshot`, `Remote Snapshot`, `OnVault`. 769 BackupType string `json:"backupType,omitempty"` 770 // Host: The name of a Backup and DR host, which is managed by the backup and 771 // recovery appliance and known to the management console. The host can be of 772 // type Generic (for example, Compute Engine, SQL Server, Oracle DB, SMB file 773 // system, etc.), vCenter, or an ESX server. See the Backup and DR 774 // documentation on hosts 775 // (https://cloud.google.com/backup-disaster-recovery/docs/configuration/manage-hosts-and-their-applications) 776 // for more information. For example, `centos7-01`. 777 Host string `json:"host,omitempty"` 778 // Policies: The names of Backup and DR policies that are associated with a 779 // template and that define when to run a backup, how frequently to run a 780 // backup, and how long to retain the backup image. For example, `onvaults`. 781 Policies []string `json:"policies,omitempty"` 782 // PolicyOptions: The names of Backup and DR advanced policy options of a 783 // policy applying to an application. See the Backup and DR documentation on 784 // policy options 785 // (https://cloud.google.com/backup-disaster-recovery/docs/create-plan/policy-settings). 786 // For example, `skipofflineappsincongrp, nounmap`. 787 PolicyOptions []string `json:"policyOptions,omitempty"` 788 // Profile: The name of the Backup and DR resource profile that specifies the 789 // storage media for backups of application and VM data. See the Backup and DR 790 // documentation on profiles 791 // (https://cloud.google.com/backup-disaster-recovery/docs/concepts/backup-plan#profile). 792 // For example, `GCP`. 793 Profile string `json:"profile,omitempty"` 794 // StoragePool: The name of the Backup and DR storage pool that the backup and 795 // recovery appliance is storing data in. The storage pool could be of type 796 // Cloud, Primary, Snapshot, or OnVault. See the Backup and DR documentation on 797 // storage pools 798 // (https://cloud.google.com/backup-disaster-recovery/docs/concepts/storage-pools). 799 // For example, `DiskPoolOne`. 800 StoragePool string `json:"storagePool,omitempty"` 801 // ForceSendFields is a list of field names (e.g. "Appliance") to 802 // unconditionally include in API requests. By default, fields with empty or 803 // default values are omitted from API requests. See 804 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 805 // details. 806 ForceSendFields []string `json:"-"` 807 // NullFields is a list of field names (e.g. "Appliance") to include in API 808 // requests with the JSON null value. By default, fields with empty values are 809 // omitted from API requests. See 810 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 811 NullFields []string `json:"-"` 812 } 813 814 func (s *BackupDisasterRecovery) MarshalJSON() ([]byte, error) { 815 type NoMethod BackupDisasterRecovery 816 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 817 } 818 819 // Binding: Associates `members`, or principals, with a `role`. 820 type Binding struct { 821 // Condition: The condition that is associated with this binding. If the 822 // condition evaluates to `true`, then this binding applies to the current 823 // request. If the condition evaluates to `false`, then this binding does not 824 // apply to the current request. However, a different role binding might grant 825 // the same role to one or more of the principals in this binding. To learn 826 // which resources support conditions in their IAM policies, see the IAM 827 // documentation 828 // (https://cloud.google.com/iam/help/conditions/resource-policies). 829 Condition *Expr `json:"condition,omitempty"` 830 // Members: Specifies the principals requesting access for a Google Cloud 831 // resource. `members` can have the following values: * `allUsers`: A special 832 // identifier that represents anyone who is on the internet; with or without a 833 // Google account. * `allAuthenticatedUsers`: A special identifier that 834 // represents anyone who is authenticated with a Google account or a service 835 // account. Does not include identities that come from external identity 836 // providers (IdPs) through identity federation. * `user:{emailid}`: An email 837 // address that represents a specific Google account. For example, 838 // `alice@example.com` . * `serviceAccount:{emailid}`: An email address that 839 // represents a Google service account. For example, 840 // `my-other-app@appspot.gserviceaccount.com`. * 841 // `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An 842 // identifier for a Kubernetes service account 843 // (https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). 844 // For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * 845 // `group:{emailid}`: An email address that represents a Google group. For 846 // example, `admins@example.com`. * `domain:{domain}`: The G Suite domain 847 // (primary) that represents all the users of that domain. For example, 848 // `google.com` or `example.com`. * 849 // `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/sub 850 // ject/{subject_attribute_value}`: A single identity in a workforce identity 851 // pool. * 852 // `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/ 853 // group/{group_id}`: All workforce identities in a group. * 854 // `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/ 855 // attribute.{attribute_name}/{attribute_value}`: All workforce identities with 856 // a specific attribute value. * 857 // `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/ 858 // *`: All identities in a workforce identity pool. * 859 // `principal://iam.googleapis.com/projects/{project_number}/locations/global/wo 860 // rkloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single 861 // identity in a workload identity pool. * 862 // `principalSet://iam.googleapis.com/projects/{project_number}/locations/global 863 // /workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool 864 // group. * 865 // `principalSet://iam.googleapis.com/projects/{project_number}/locations/global 866 // /workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value} 867 // `: All identities in a workload identity pool with a certain attribute. * 868 // `principalSet://iam.googleapis.com/projects/{project_number}/locations/global 869 // /workloadIdentityPools/{pool_id}/*`: All identities in a workload identity 870 // pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus 871 // unique identifier) representing a user that has been recently deleted. For 872 // example, `alice@example.com?uid=123456789012345678901`. If the user is 873 // recovered, this value reverts to `user:{emailid}` and the recovered user 874 // retains the role in the binding. * 875 // `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus 876 // unique identifier) representing a service account that has been recently 877 // deleted. For example, 878 // `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the 879 // service account is undeleted, this value reverts to 880 // `serviceAccount:{emailid}` and the undeleted service account retains the 881 // role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email 882 // address (plus unique identifier) representing a Google group that has been 883 // recently deleted. For example, 884 // `admins@example.com?uid=123456789012345678901`. If the group is recovered, 885 // this value reverts to `group:{emailid}` and the recovered group retains the 886 // role in the binding. * 887 // `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool 888 // _id}/subject/{subject_attribute_value}`: Deleted single identity in a 889 // workforce identity pool. For example, 890 // `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-po 891 // ol-id/subject/my-subject-attribute-value`. 892 Members []string `json:"members,omitempty"` 893 // Role: Role that is assigned to the list of `members`, or principals. For 894 // example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview 895 // of the IAM roles and permissions, see the IAM documentation 896 // (https://cloud.google.com/iam/docs/roles-overview). For a list of the 897 // available pre-defined roles, see here 898 // (https://cloud.google.com/iam/docs/understanding-roles). 899 Role string `json:"role,omitempty"` 900 // ForceSendFields is a list of field names (e.g. "Condition") to 901 // unconditionally include in API requests. By default, fields with empty or 902 // default values are omitted from API requests. See 903 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 904 // details. 905 ForceSendFields []string `json:"-"` 906 // NullFields is a list of field names (e.g. "Condition") to include in API 907 // requests with the JSON null value. By default, fields with empty values are 908 // omitted from API requests. See 909 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 910 NullFields []string `json:"-"` 911 } 912 913 func (s *Binding) MarshalJSON() ([]byte, error) { 914 type NoMethod Binding 915 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 916 } 917 918 // CancelOperationRequest: The request message for Operations.CancelOperation. 919 type CancelOperationRequest struct { 920 } 921 922 // CloudArmor: Fields related to Google Cloud Armor findings. 923 type CloudArmor struct { 924 // AdaptiveProtection: Information about potential Layer 7 DDoS attacks 925 // identified by Google Cloud Armor Adaptive Protection 926 // (https://cloud.google.com/armor/docs/adaptive-protection-overview). 927 AdaptiveProtection *AdaptiveProtection `json:"adaptiveProtection,omitempty"` 928 // Attack: Information about DDoS attack volume and classification. 929 Attack *Attack `json:"attack,omitempty"` 930 // Duration: Duration of attack from the start until the current moment 931 // (updated every 5 minutes). 932 Duration string `json:"duration,omitempty"` 933 // Requests: Information about incoming requests evaluated by Google Cloud 934 // Armor security policies 935 // (https://cloud.google.com/armor/docs/security-policy-overview). 936 Requests *Requests `json:"requests,omitempty"` 937 // SecurityPolicy: Information about the Google Cloud Armor security policy 938 // (https://cloud.google.com/armor/docs/security-policy-overview) relevant to 939 // the finding. 940 SecurityPolicy *SecurityPolicy `json:"securityPolicy,omitempty"` 941 // ThreatVector: Distinguish between volumetric & protocol DDoS attack and 942 // application layer attacks. For example, "L3_4" for Layer 3 and Layer 4 DDoS 943 // attacks, or "L_7" for Layer 7 DDoS attacks. 944 ThreatVector string `json:"threatVector,omitempty"` 945 // ForceSendFields is a list of field names (e.g. "AdaptiveProtection") to 946 // unconditionally include in API requests. By default, fields with empty or 947 // default values are omitted from API requests. See 948 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 949 // details. 950 ForceSendFields []string `json:"-"` 951 // NullFields is a list of field names (e.g. "AdaptiveProtection") to include 952 // in API requests with the JSON null value. By default, fields with empty 953 // values are omitted from API requests. See 954 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 955 NullFields []string `json:"-"` 956 } 957 958 func (s *CloudArmor) MarshalJSON() ([]byte, error) { 959 type NoMethod CloudArmor 960 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 961 } 962 963 // CloudDlpDataProfile: The data profile 964 // (https://cloud.google.com/dlp/docs/data-profiles) associated with the 965 // finding. 966 type CloudDlpDataProfile struct { 967 // DataProfile: Name of the data profile, for example, 968 // `projects/123/locations/europe/tableProfiles/8383929`. 969 DataProfile string `json:"dataProfile,omitempty"` 970 // ParentType: The resource hierarchy level at which the data profile was 971 // generated. 972 // 973 // Possible values: 974 // "PARENT_TYPE_UNSPECIFIED" - Unspecified parent type. 975 // "ORGANIZATION" - Organization-level configurations. 976 // "PROJECT" - Project-level configurations. 977 ParentType string `json:"parentType,omitempty"` 978 // ForceSendFields is a list of field names (e.g. "DataProfile") to 979 // unconditionally include in API requests. By default, fields with empty or 980 // default values are omitted from API requests. See 981 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 982 // details. 983 ForceSendFields []string `json:"-"` 984 // NullFields is a list of field names (e.g. "DataProfile") to include in API 985 // requests with the JSON null value. By default, fields with empty values are 986 // omitted from API requests. See 987 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 988 NullFields []string `json:"-"` 989 } 990 991 func (s *CloudDlpDataProfile) MarshalJSON() ([]byte, error) { 992 type NoMethod CloudDlpDataProfile 993 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 994 } 995 996 // CloudDlpInspection: Details about the Cloud Data Loss Prevention (Cloud DLP) 997 // inspection job (https://cloud.google.com/dlp/docs/concepts-job-triggers) 998 // that produced the finding. 999 type CloudDlpInspection struct { 1000 // FullScan: Whether Cloud DLP scanned the complete resource or a sampled 1001 // subset. 1002 FullScan bool `json:"fullScan,omitempty"` 1003 // InfoType: The type of information (or *infoType 1004 // (https://cloud.google.com/dlp/docs/infotypes-reference)*) found, for 1005 // example, `EMAIL_ADDRESS` or `STREET_ADDRESS`. 1006 InfoType string `json:"infoType,omitempty"` 1007 // InfoTypeCount: The number of times Cloud DLP found this infoType within this 1008 // job and resource. 1009 InfoTypeCount int64 `json:"infoTypeCount,omitempty,string"` 1010 // InspectJob: Name of the inspection job, for example, 1011 // `projects/123/locations/europe/dlpJobs/i-8383929`. 1012 InspectJob string `json:"inspectJob,omitempty"` 1013 // ForceSendFields is a list of field names (e.g. "FullScan") to 1014 // unconditionally include in API requests. By default, fields with empty or 1015 // default values are omitted from API requests. See 1016 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 1017 // details. 1018 ForceSendFields []string `json:"-"` 1019 // NullFields is a list of field names (e.g. "FullScan") to include in API 1020 // requests with the JSON null value. By default, fields with empty values are 1021 // omitted from API requests. See 1022 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 1023 NullFields []string `json:"-"` 1024 } 1025 1026 func (s *CloudDlpInspection) MarshalJSON() ([]byte, error) { 1027 type NoMethod CloudDlpInspection 1028 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 1029 } 1030 1031 // CloudLoggingEntry: Metadata taken from a Cloud Logging LogEntry 1032 // (https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry) 1033 type CloudLoggingEntry struct { 1034 // InsertId: A unique identifier for the log entry. 1035 InsertId string `json:"insertId,omitempty"` 1036 // LogId: The type of the log (part of `log_name`. `log_name` is the resource 1037 // name of the log to which this log entry belongs). For example: 1038 // `cloudresourcemanager.googleapis.com/activity`. Note that this field is not 1039 // URL-encoded, unlike the `LOG_ID` field in `LogEntry`. 1040 LogId string `json:"logId,omitempty"` 1041 // ResourceContainer: The organization, folder, or project of the monitored 1042 // resource that produced this log entry. 1043 ResourceContainer string `json:"resourceContainer,omitempty"` 1044 // Timestamp: The time the event described by the log entry occurred. 1045 Timestamp string `json:"timestamp,omitempty"` 1046 // ForceSendFields is a list of field names (e.g. "InsertId") to 1047 // unconditionally include in API requests. By default, fields with empty or 1048 // default values are omitted from API requests. See 1049 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 1050 // details. 1051 ForceSendFields []string `json:"-"` 1052 // NullFields is a list of field names (e.g. "InsertId") to include in API 1053 // requests with the JSON null value. By default, fields with empty values are 1054 // omitted from API requests. See 1055 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 1056 NullFields []string `json:"-"` 1057 } 1058 1059 func (s *CloudLoggingEntry) MarshalJSON() ([]byte, error) { 1060 type NoMethod CloudLoggingEntry 1061 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 1062 } 1063 1064 // Compliance: Contains compliance information about a security standard 1065 // indicating unmet recommendations. 1066 type Compliance struct { 1067 // Ids: Policies within the standard or benchmark, for example, A.12.4.1 1068 Ids []string `json:"ids,omitempty"` 1069 // Standard: Industry-wide compliance standards or benchmarks, such as CIS, 1070 // PCI, and OWASP. 1071 Standard string `json:"standard,omitempty"` 1072 // Version: Version of the standard or benchmark, for example, 1.1 1073 Version string `json:"version,omitempty"` 1074 // ForceSendFields is a list of field names (e.g. "Ids") to unconditionally 1075 // include in API requests. By default, fields with empty or default values are 1076 // omitted from API requests. See 1077 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 1078 // details. 1079 ForceSendFields []string `json:"-"` 1080 // NullFields is a list of field names (e.g. "Ids") to include in API requests 1081 // with the JSON null value. By default, fields with empty values are omitted 1082 // from API requests. See 1083 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 1084 NullFields []string `json:"-"` 1085 } 1086 1087 func (s *Compliance) MarshalJSON() ([]byte, error) { 1088 type NoMethod Compliance 1089 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 1090 } 1091 1092 // ComplianceSnapshot: Result containing the properties and count of a 1093 // ComplianceSnapshot request. 1094 type ComplianceSnapshot struct { 1095 // Category: The category of Findings matching. 1096 Category string `json:"category,omitempty"` 1097 // CloudProvider: The cloud provider for the compliance snapshot. 1098 // 1099 // Possible values: 1100 // "CLOUD_PROVIDER_UNSPECIFIED" - The cloud provider is unspecified. 1101 // "GOOGLE_CLOUD_PLATFORM" - The cloud provider is Google Cloud Platform. 1102 // "AMAZON_WEB_SERVICES" - The cloud provider is Amazon Web Services. 1103 // "MICROSOFT_AZURE" - The cloud provider is Microsoft Azure. 1104 CloudProvider string `json:"cloudProvider,omitempty"` 1105 // ComplianceStandard: The compliance standard (ie CIS). 1106 ComplianceStandard string `json:"complianceStandard,omitempty"` 1107 // ComplianceVersion: The compliance version (ie 1.3) in CIS 1.3. 1108 ComplianceVersion string `json:"complianceVersion,omitempty"` 1109 // Count: Total count of findings for the given properties. 1110 Count int64 `json:"count,omitempty,string"` 1111 // LeafContainerResource: The leaf container resource name that is closest to 1112 // the snapshot. 1113 LeafContainerResource string `json:"leafContainerResource,omitempty"` 1114 // Name: The compliance snapshot name. Format: //sources//complianceSnapshots/ 1115 Name string `json:"name,omitempty"` 1116 // SnapshotTime: The snapshot time of the snapshot. 1117 SnapshotTime string `json:"snapshotTime,omitempty"` 1118 // ForceSendFields is a list of field names (e.g. "Category") to 1119 // unconditionally include in API requests. By default, fields with empty or 1120 // default values are omitted from API requests. See 1121 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 1122 // details. 1123 ForceSendFields []string `json:"-"` 1124 // NullFields is a list of field names (e.g. "Category") to include in API 1125 // requests with the JSON null value. By default, fields with empty values are 1126 // omitted from API requests. See 1127 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 1128 NullFields []string `json:"-"` 1129 } 1130 1131 func (s *ComplianceSnapshot) MarshalJSON() ([]byte, error) { 1132 type NoMethod ComplianceSnapshot 1133 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 1134 } 1135 1136 // Connection: Contains information about the IP connection associated with the 1137 // finding. 1138 type Connection struct { 1139 // DestinationIp: Destination IP address. Not present for sockets that are 1140 // listening and not connected. 1141 DestinationIp string `json:"destinationIp,omitempty"` 1142 // DestinationPort: Destination port. Not present for sockets that are 1143 // listening and not connected. 1144 DestinationPort int64 `json:"destinationPort,omitempty"` 1145 // Protocol: IANA Internet Protocol Number such as TCP(6) and UDP(17). 1146 // 1147 // Possible values: 1148 // "PROTOCOL_UNSPECIFIED" - Unspecified protocol (not HOPOPT). 1149 // "ICMP" - Internet Control Message Protocol. 1150 // "TCP" - Transmission Control Protocol. 1151 // "UDP" - User Datagram Protocol. 1152 // "GRE" - Generic Routing Encapsulation. 1153 // "ESP" - Encap Security Payload. 1154 Protocol string `json:"protocol,omitempty"` 1155 // SourceIp: Source IP address. 1156 SourceIp string `json:"sourceIp,omitempty"` 1157 // SourcePort: Source port. 1158 SourcePort int64 `json:"sourcePort,omitempty"` 1159 // ForceSendFields is a list of field names (e.g. "DestinationIp") to 1160 // unconditionally include in API requests. By default, fields with empty or 1161 // default values are omitted from API requests. See 1162 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 1163 // details. 1164 ForceSendFields []string `json:"-"` 1165 // NullFields is a list of field names (e.g. "DestinationIp") to include in API 1166 // requests with the JSON null value. By default, fields with empty values are 1167 // omitted from API requests. See 1168 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 1169 NullFields []string `json:"-"` 1170 } 1171 1172 func (s *Connection) MarshalJSON() ([]byte, error) { 1173 type NoMethod Connection 1174 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 1175 } 1176 1177 // Contact: The email address of a contact. 1178 type Contact struct { 1179 // Email: An email address. For example, "person123@company.com". 1180 Email string `json:"email,omitempty"` 1181 // ForceSendFields is a list of field names (e.g. "Email") to unconditionally 1182 // include in API requests. By default, fields with empty or default values are 1183 // omitted from API requests. See 1184 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 1185 // details. 1186 ForceSendFields []string `json:"-"` 1187 // NullFields is a list of field names (e.g. "Email") to include in API 1188 // requests with the JSON null value. By default, fields with empty values are 1189 // omitted from API requests. See 1190 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 1191 NullFields []string `json:"-"` 1192 } 1193 1194 func (s *Contact) MarshalJSON() ([]byte, error) { 1195 type NoMethod Contact 1196 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 1197 } 1198 1199 // ContactDetails: Details about specific contacts 1200 type ContactDetails struct { 1201 // Contacts: A list of contacts 1202 Contacts []*Contact `json:"contacts,omitempty"` 1203 // ForceSendFields is a list of field names (e.g. "Contacts") to 1204 // unconditionally include in API requests. By default, fields with empty or 1205 // default values are omitted from API requests. See 1206 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 1207 // details. 1208 ForceSendFields []string `json:"-"` 1209 // NullFields is a list of field names (e.g. "Contacts") to include in API 1210 // requests with the JSON null value. By default, fields with empty values are 1211 // omitted from API requests. See 1212 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 1213 NullFields []string `json:"-"` 1214 } 1215 1216 func (s *ContactDetails) MarshalJSON() ([]byte, error) { 1217 type NoMethod ContactDetails 1218 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 1219 } 1220 1221 // Container: Container associated with the finding. 1222 type Container struct { 1223 // CreateTime: The time that the container was created. 1224 CreateTime string `json:"createTime,omitempty"` 1225 // ImageId: Optional container image ID, if provided by the container runtime. 1226 // Uniquely identifies the container image launched using a container image 1227 // digest. 1228 ImageId string `json:"imageId,omitempty"` 1229 // Labels: Container labels, as provided by the container runtime. 1230 Labels []*Label `json:"labels,omitempty"` 1231 // Name: Name of the container. 1232 Name string `json:"name,omitempty"` 1233 // Uri: Container image URI provided when configuring a pod or container. This 1234 // string can identify a container image version using mutable tags. 1235 Uri string `json:"uri,omitempty"` 1236 // ForceSendFields is a list of field names (e.g. "CreateTime") to 1237 // unconditionally include in API requests. By default, fields with empty or 1238 // default values are omitted from API requests. See 1239 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 1240 // details. 1241 ForceSendFields []string `json:"-"` 1242 // NullFields is a list of field names (e.g. "CreateTime") to include in API 1243 // requests with the JSON null value. By default, fields with empty values are 1244 // omitted from API requests. See 1245 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 1246 NullFields []string `json:"-"` 1247 } 1248 1249 func (s *Container) MarshalJSON() ([]byte, error) { 1250 type NoMethod Container 1251 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 1252 } 1253 1254 // Cve: CVE stands for Common Vulnerabilities and Exposures. Information from 1255 // the CVE record (https://www.cve.org/ResourcesSupport/Glossary) that 1256 // describes this vulnerability. 1257 type Cve struct { 1258 // Cvssv3: Describe Common Vulnerability Scoring System specified at 1259 // https://www.first.org/cvss/v3.1/specification-document 1260 Cvssv3 *Cvssv3 `json:"cvssv3,omitempty"` 1261 // ExploitationActivity: The exploitation activity of the vulnerability in the 1262 // wild. 1263 // 1264 // Possible values: 1265 // "EXPLOITATION_ACTIVITY_UNSPECIFIED" - Invalid or empty value. 1266 // "WIDE" - Exploitation has been reported or confirmed to widely occur. 1267 // "CONFIRMED" - Limited reported or confirmed exploitation activities. 1268 // "AVAILABLE" - Exploit is publicly available. 1269 // "ANTICIPATED" - No known exploitation activity, but has a high potential 1270 // for exploitation. 1271 // "NO_KNOWN" - No known exploitation activity. 1272 ExploitationActivity string `json:"exploitationActivity,omitempty"` 1273 // Id: The unique identifier for the vulnerability. e.g. CVE-2021-34527 1274 Id string `json:"id,omitempty"` 1275 // Impact: The potential impact of the vulnerability if it was to be exploited. 1276 // 1277 // Possible values: 1278 // "RISK_RATING_UNSPECIFIED" - Invalid or empty value. 1279 // "LOW" - Exploitation would have little to no security impact. 1280 // "MEDIUM" - Exploitation would enable attackers to perform activities, or 1281 // could allow attackers to have a direct impact, but would require additional 1282 // steps. 1283 // "HIGH" - Exploitation would enable attackers to have a notable direct 1284 // impact without needing to overcome any major mitigating factors. 1285 // "CRITICAL" - Exploitation would fundamentally undermine the security of 1286 // affected systems, enable actors to perform significant attacks with minimal 1287 // effort, with little to no mitigating factors to overcome. 1288 Impact string `json:"impact,omitempty"` 1289 // ObservedInTheWild: Whether or not the vulnerability has been observed in the 1290 // wild. 1291 ObservedInTheWild bool `json:"observedInTheWild,omitempty"` 1292 // References: Additional information about the CVE. e.g. 1293 // https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-34527 1294 References []*Reference `json:"references,omitempty"` 1295 // UpstreamFixAvailable: Whether upstream fix is available for the CVE. 1296 UpstreamFixAvailable bool `json:"upstreamFixAvailable,omitempty"` 1297 // ZeroDay: Whether or not the vulnerability was zero day when the finding was 1298 // published. 1299 ZeroDay bool `json:"zeroDay,omitempty"` 1300 // ForceSendFields is a list of field names (e.g. "Cvssv3") to unconditionally 1301 // include in API requests. By default, fields with empty or default values are 1302 // omitted from API requests. See 1303 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 1304 // details. 1305 ForceSendFields []string `json:"-"` 1306 // NullFields is a list of field names (e.g. "Cvssv3") to include in API 1307 // requests with the JSON null value. By default, fields with empty values are 1308 // omitted from API requests. See 1309 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 1310 NullFields []string `json:"-"` 1311 } 1312 1313 func (s *Cve) MarshalJSON() ([]byte, error) { 1314 type NoMethod Cve 1315 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 1316 } 1317 1318 // Cvssv3: Common Vulnerability Scoring System version 3. 1319 type Cvssv3 struct { 1320 // AttackComplexity: This metric describes the conditions beyond the attacker's 1321 // control that must exist in order to exploit the vulnerability. 1322 // 1323 // Possible values: 1324 // "ATTACK_COMPLEXITY_UNSPECIFIED" - Invalid value. 1325 // "ATTACK_COMPLEXITY_LOW" - Specialized access conditions or extenuating 1326 // circumstances do not exist. An attacker can expect repeatable success when 1327 // attacking the vulnerable component. 1328 // "ATTACK_COMPLEXITY_HIGH" - A successful attack depends on conditions 1329 // beyond the attacker's control. That is, a successful attack cannot be 1330 // accomplished at will, but requires the attacker to invest in some measurable 1331 // amount of effort in preparation or execution against the vulnerable 1332 // component before a successful attack can be expected. 1333 AttackComplexity string `json:"attackComplexity,omitempty"` 1334 // AttackVector: Base Metrics Represents the intrinsic characteristics of a 1335 // vulnerability that are constant over time and across user environments. This 1336 // metric reflects the context by which vulnerability exploitation is possible. 1337 // 1338 // Possible values: 1339 // "ATTACK_VECTOR_UNSPECIFIED" - Invalid value. 1340 // "ATTACK_VECTOR_NETWORK" - The vulnerable component is bound to the network 1341 // stack and the set of possible attackers extends beyond the other options 1342 // listed below, up to and including the entire Internet. 1343 // "ATTACK_VECTOR_ADJACENT" - The vulnerable component is bound to the 1344 // network stack, but the attack is limited at the protocol level to a 1345 // logically adjacent topology. 1346 // "ATTACK_VECTOR_LOCAL" - The vulnerable component is not bound to the 1347 // network stack and the attacker's path is via read/write/execute 1348 // capabilities. 1349 // "ATTACK_VECTOR_PHYSICAL" - The attack requires the attacker to physically 1350 // touch or manipulate the vulnerable component. 1351 AttackVector string `json:"attackVector,omitempty"` 1352 // AvailabilityImpact: This metric measures the impact to the availability of 1353 // the impacted component resulting from a successfully exploited 1354 // vulnerability. 1355 // 1356 // Possible values: 1357 // "IMPACT_UNSPECIFIED" - Invalid value. 1358 // "IMPACT_HIGH" - High impact. 1359 // "IMPACT_LOW" - Low impact. 1360 // "IMPACT_NONE" - No impact. 1361 AvailabilityImpact string `json:"availabilityImpact,omitempty"` 1362 // BaseScore: The base score is a function of the base metric scores. 1363 BaseScore float64 `json:"baseScore,omitempty"` 1364 // ConfidentialityImpact: This metric measures the impact to the 1365 // confidentiality of the information resources managed by a software component 1366 // due to a successfully exploited vulnerability. 1367 // 1368 // Possible values: 1369 // "IMPACT_UNSPECIFIED" - Invalid value. 1370 // "IMPACT_HIGH" - High impact. 1371 // "IMPACT_LOW" - Low impact. 1372 // "IMPACT_NONE" - No impact. 1373 ConfidentialityImpact string `json:"confidentialityImpact,omitempty"` 1374 // IntegrityImpact: This metric measures the impact to integrity of a 1375 // successfully exploited vulnerability. 1376 // 1377 // Possible values: 1378 // "IMPACT_UNSPECIFIED" - Invalid value. 1379 // "IMPACT_HIGH" - High impact. 1380 // "IMPACT_LOW" - Low impact. 1381 // "IMPACT_NONE" - No impact. 1382 IntegrityImpact string `json:"integrityImpact,omitempty"` 1383 // PrivilegesRequired: This metric describes the level of privileges an 1384 // attacker must possess before successfully exploiting the vulnerability. 1385 // 1386 // Possible values: 1387 // "PRIVILEGES_REQUIRED_UNSPECIFIED" - Invalid value. 1388 // "PRIVILEGES_REQUIRED_NONE" - The attacker is unauthorized prior to attack, 1389 // and therefore does not require any access to settings or files of the 1390 // vulnerable system to carry out an attack. 1391 // "PRIVILEGES_REQUIRED_LOW" - The attacker requires privileges that provide 1392 // basic user capabilities that could normally affect only settings and files 1393 // owned by a user. Alternatively, an attacker with Low privileges has the 1394 // ability to access only non-sensitive resources. 1395 // "PRIVILEGES_REQUIRED_HIGH" - The attacker requires privileges that provide 1396 // significant (e.g., administrative) control over the vulnerable component 1397 // allowing access to component-wide settings and files. 1398 PrivilegesRequired string `json:"privilegesRequired,omitempty"` 1399 // Scope: The Scope metric captures whether a vulnerability in one vulnerable 1400 // component impacts resources in components beyond its security scope. 1401 // 1402 // Possible values: 1403 // "SCOPE_UNSPECIFIED" - Invalid value. 1404 // "SCOPE_UNCHANGED" - An exploited vulnerability can only affect resources 1405 // managed by the same security authority. 1406 // "SCOPE_CHANGED" - An exploited vulnerability can affect resources beyond 1407 // the security scope managed by the security authority of the vulnerable 1408 // component. 1409 Scope string `json:"scope,omitempty"` 1410 // UserInteraction: This metric captures the requirement for a human user, 1411 // other than the attacker, to participate in the successful compromise of the 1412 // vulnerable component. 1413 // 1414 // Possible values: 1415 // "USER_INTERACTION_UNSPECIFIED" - Invalid value. 1416 // "USER_INTERACTION_NONE" - The vulnerable system can be exploited without 1417 // interaction from any user. 1418 // "USER_INTERACTION_REQUIRED" - Successful exploitation of this 1419 // vulnerability requires a user to take some action before the vulnerability 1420 // can be exploited. 1421 UserInteraction string `json:"userInteraction,omitempty"` 1422 // ForceSendFields is a list of field names (e.g. "AttackComplexity") to 1423 // unconditionally include in API requests. By default, fields with empty or 1424 // default values are omitted from API requests. See 1425 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 1426 // details. 1427 ForceSendFields []string `json:"-"` 1428 // NullFields is a list of field names (e.g. "AttackComplexity") to include in 1429 // API requests with the JSON null value. By default, fields with empty values 1430 // are omitted from API requests. See 1431 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 1432 NullFields []string `json:"-"` 1433 } 1434 1435 func (s *Cvssv3) MarshalJSON() ([]byte, error) { 1436 type NoMethod Cvssv3 1437 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 1438 } 1439 1440 func (s *Cvssv3) UnmarshalJSON(data []byte) error { 1441 type NoMethod Cvssv3 1442 var s1 struct { 1443 BaseScore gensupport.JSONFloat64 `json:"baseScore"` 1444 *NoMethod 1445 } 1446 s1.NoMethod = (*NoMethod)(s) 1447 if err := json.Unmarshal(data, &s1); err != nil { 1448 return err 1449 } 1450 s.BaseScore = float64(s1.BaseScore) 1451 return nil 1452 } 1453 1454 // Database: Represents database access information, such as queries. A 1455 // database may be a sub-resource of an instance (as in the case of Cloud SQL 1456 // instances or Cloud Spanner instances), or the database instance itself. Some 1457 // database resources might not have the full resource name 1458 // (https://google.aip.dev/122#full-resource-names) populated because these 1459 // resource types, such as Cloud SQL databases, are not yet supported by Cloud 1460 // Asset Inventory. In these cases only the display name is provided. 1461 type Database struct { 1462 // DisplayName: The human-readable name of the database that the user connected 1463 // to. 1464 DisplayName string `json:"displayName,omitempty"` 1465 // Grantees: The target usernames, roles, or groups of an SQL privilege grant, 1466 // which is not an IAM policy change. 1467 Grantees []string `json:"grantees,omitempty"` 1468 // Name: Some database resources may not have the full resource name 1469 // (https://google.aip.dev/122#full-resource-names) populated because these 1470 // resource types are not yet supported by Cloud Asset Inventory (e.g. Cloud 1471 // SQL databases). In these cases only the display name will be provided. The 1472 // full resource name (https://google.aip.dev/122#full-resource-names) of the 1473 // database that the user connected to, if it is supported by Cloud Asset 1474 // Inventory. 1475 Name string `json:"name,omitempty"` 1476 // Query: The SQL statement that is associated with the database access. 1477 Query string `json:"query,omitempty"` 1478 // UserName: The username used to connect to the database. The username might 1479 // not be an IAM principal and does not have a set format. 1480 UserName string `json:"userName,omitempty"` 1481 // Version: The version of the database, for example, POSTGRES_14. See the 1482 // complete list 1483 // (https://cloud.google.com/sql/docs/mysql/admin-api/rest/v1/SqlDatabaseVersion). 1484 Version string `json:"version,omitempty"` 1485 // ForceSendFields is a list of field names (e.g. "DisplayName") to 1486 // unconditionally include in API requests. By default, fields with empty or 1487 // default values are omitted from API requests. See 1488 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 1489 // details. 1490 ForceSendFields []string `json:"-"` 1491 // NullFields is a list of field names (e.g. "DisplayName") to include in API 1492 // requests with the JSON null value. By default, fields with empty values are 1493 // omitted from API requests. See 1494 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 1495 NullFields []string `json:"-"` 1496 } 1497 1498 func (s *Database) MarshalJSON() ([]byte, error) { 1499 type NoMethod Database 1500 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 1501 } 1502 1503 // Detection: Memory hash detection contributing to the binary family match. 1504 type Detection struct { 1505 // Binary: The name of the binary associated with the memory hash signature 1506 // detection. 1507 Binary string `json:"binary,omitempty"` 1508 // PercentPagesMatched: The percentage of memory page hashes in the signature 1509 // that were matched. 1510 PercentPagesMatched float64 `json:"percentPagesMatched,omitempty"` 1511 // ForceSendFields is a list of field names (e.g. "Binary") to unconditionally 1512 // include in API requests. By default, fields with empty or default values are 1513 // omitted from API requests. See 1514 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 1515 // details. 1516 ForceSendFields []string `json:"-"` 1517 // NullFields is a list of field names (e.g. "Binary") to include in API 1518 // requests with the JSON null value. By default, fields with empty values are 1519 // omitted from API requests. See 1520 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 1521 NullFields []string `json:"-"` 1522 } 1523 1524 func (s *Detection) MarshalJSON() ([]byte, error) { 1525 type NoMethod Detection 1526 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 1527 } 1528 1529 func (s *Detection) UnmarshalJSON(data []byte) error { 1530 type NoMethod Detection 1531 var s1 struct { 1532 PercentPagesMatched gensupport.JSONFloat64 `json:"percentPagesMatched"` 1533 *NoMethod 1534 } 1535 s1.NoMethod = (*NoMethod)(s) 1536 if err := json.Unmarshal(data, &s1); err != nil { 1537 return err 1538 } 1539 s.PercentPagesMatched = float64(s1.PercentPagesMatched) 1540 return nil 1541 } 1542 1543 // DiskPath: Path of the file in terms of underlying disk/partition 1544 // identifiers. 1545 type DiskPath struct { 1546 // PartitionUuid: UUID of the partition (format 1547 // https://wiki.archlinux.org/title/persistent_block_device_naming#by-uuid) 1548 PartitionUuid string `json:"partitionUuid,omitempty"` 1549 // RelativePath: Relative path of the file in the partition as a JSON encoded 1550 // string. Example: /home/user1/executable_file.sh 1551 RelativePath string `json:"relativePath,omitempty"` 1552 // ForceSendFields is a list of field names (e.g. "PartitionUuid") to 1553 // unconditionally include in API requests. By default, fields with empty or 1554 // default values are omitted from API requests. See 1555 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 1556 // details. 1557 ForceSendFields []string `json:"-"` 1558 // NullFields is a list of field names (e.g. "PartitionUuid") to include in API 1559 // requests with the JSON null value. By default, fields with empty values are 1560 // omitted from API requests. See 1561 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 1562 NullFields []string `json:"-"` 1563 } 1564 1565 func (s *DiskPath) MarshalJSON() ([]byte, error) { 1566 type NoMethod DiskPath 1567 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 1568 } 1569 1570 // Empty: A generic empty message that you can re-use to avoid defining 1571 // duplicated empty messages in your APIs. A typical example is to use it as 1572 // the request or the response type of an API method. For instance: service Foo 1573 // { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } 1574 type Empty struct { 1575 // ServerResponse contains the HTTP response code and headers from the server. 1576 googleapi.ServerResponse `json:"-"` 1577 } 1578 1579 // EnvironmentVariable: A name-value pair representing an environment variable 1580 // used in an operating system process. 1581 type EnvironmentVariable struct { 1582 // Name: Environment variable name as a JSON encoded string. 1583 Name string `json:"name,omitempty"` 1584 // Val: Environment variable value as a JSON encoded string. 1585 Val string `json:"val,omitempty"` 1586 // ForceSendFields is a list of field names (e.g. "Name") to unconditionally 1587 // include in API requests. By default, fields with empty or default values are 1588 // omitted from API requests. See 1589 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 1590 // details. 1591 ForceSendFields []string `json:"-"` 1592 // NullFields is a list of field names (e.g. "Name") to include in API requests 1593 // with the JSON null value. By default, fields with empty values are omitted 1594 // from API requests. See 1595 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 1596 NullFields []string `json:"-"` 1597 } 1598 1599 func (s *EnvironmentVariable) MarshalJSON() ([]byte, error) { 1600 type NoMethod EnvironmentVariable 1601 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 1602 } 1603 1604 // ExfilResource: Resource where data was exfiltrated from or exfiltrated to. 1605 type ExfilResource struct { 1606 // Components: Subcomponents of the asset that was exfiltrated, like URIs used 1607 // during exfiltration, table names, databases, and filenames. For example, 1608 // multiple tables might have been exfiltrated from the same Cloud SQL 1609 // instance, or multiple files might have been exfiltrated from the same Cloud 1610 // Storage bucket. 1611 Components []string `json:"components,omitempty"` 1612 // Name: The resource's full resource name 1613 // (https://cloud.google.com/apis/design/resource_names#full_resource_name). 1614 Name string `json:"name,omitempty"` 1615 // ForceSendFields is a list of field names (e.g. "Components") to 1616 // unconditionally include in API requests. By default, fields with empty or 1617 // default values are omitted from API requests. See 1618 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 1619 // details. 1620 ForceSendFields []string `json:"-"` 1621 // NullFields is a list of field names (e.g. "Components") to include in API 1622 // requests with the JSON null value. By default, fields with empty values are 1623 // omitted from API requests. See 1624 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 1625 NullFields []string `json:"-"` 1626 } 1627 1628 func (s *ExfilResource) MarshalJSON() ([]byte, error) { 1629 type NoMethod ExfilResource 1630 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 1631 } 1632 1633 // Exfiltration: Exfiltration represents a data exfiltration attempt from one 1634 // or more sources to one or more targets. The `sources` attribute lists the 1635 // sources of the exfiltrated data. The `targets` attribute lists the 1636 // destinations the data was copied to. 1637 type Exfiltration struct { 1638 // Sources: If there are multiple sources, then the data is considered "joined" 1639 // between them. For instance, BigQuery can join multiple tables, and each 1640 // table would be considered a source. 1641 Sources []*ExfilResource `json:"sources,omitempty"` 1642 // Targets: If there are multiple targets, each target would get a complete 1643 // copy of the "joined" source data. 1644 Targets []*ExfilResource `json:"targets,omitempty"` 1645 // TotalExfiltratedBytes: Total exfiltrated bytes processed for the entire job. 1646 TotalExfiltratedBytes int64 `json:"totalExfiltratedBytes,omitempty,string"` 1647 // ForceSendFields is a list of field names (e.g. "Sources") to unconditionally 1648 // include in API requests. By default, fields with empty or default values are 1649 // omitted from API requests. See 1650 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 1651 // details. 1652 ForceSendFields []string `json:"-"` 1653 // NullFields is a list of field names (e.g. "Sources") to include in API 1654 // requests with the JSON null value. By default, fields with empty values are 1655 // omitted from API requests. See 1656 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 1657 NullFields []string `json:"-"` 1658 } 1659 1660 func (s *Exfiltration) MarshalJSON() ([]byte, error) { 1661 type NoMethod Exfiltration 1662 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 1663 } 1664 1665 // Expr: Represents a textual expression in the Common Expression Language 1666 // (CEL) syntax. CEL is a C-like expression language. The syntax and semantics 1667 // of CEL are documented at https://github.com/google/cel-spec. Example 1668 // (Comparison): title: "Summary size limit" description: "Determines if a 1669 // summary is less than 100 chars" expression: "document.summary.size() < 100" 1670 // Example (Equality): title: "Requestor is owner" description: "Determines if 1671 // requestor is the document owner" expression: "document.owner == 1672 // request.auth.claims.email" Example (Logic): title: "Public documents" 1673 // description: "Determine whether the document should be publicly visible" 1674 // expression: "document.type != 'private' && document.type != 'internal'" 1675 // Example (Data Manipulation): title: "Notification string" description: 1676 // "Create a notification string with a timestamp." expression: "'New message 1677 // received at ' + string(document.create_time)" The exact variables and 1678 // functions that may be referenced within an expression are determined by the 1679 // service that evaluates it. See the service documentation for additional 1680 // information. 1681 type Expr struct { 1682 // Description: Optional. Description of the expression. This is a longer text 1683 // which describes the expression, e.g. when hovered over it in a UI. 1684 Description string `json:"description,omitempty"` 1685 // Expression: Textual representation of an expression in Common Expression 1686 // Language syntax. 1687 Expression string `json:"expression,omitempty"` 1688 // Location: Optional. String indicating the location of the expression for 1689 // error reporting, e.g. a file name and a position in the file. 1690 Location string `json:"location,omitempty"` 1691 // Title: Optional. Title for the expression, i.e. a short string describing 1692 // its purpose. This can be used e.g. in UIs which allow to enter the 1693 // expression. 1694 Title string `json:"title,omitempty"` 1695 // ForceSendFields is a list of field names (e.g. "Description") to 1696 // unconditionally include in API requests. By default, fields with empty or 1697 // default values are omitted from API requests. See 1698 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 1699 // details. 1700 ForceSendFields []string `json:"-"` 1701 // NullFields is a list of field names (e.g. "Description") to include in API 1702 // requests with the JSON null value. By default, fields with empty values are 1703 // omitted from API requests. See 1704 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 1705 NullFields []string `json:"-"` 1706 } 1707 1708 func (s *Expr) MarshalJSON() ([]byte, error) { 1709 type NoMethod Expr 1710 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 1711 } 1712 1713 // File: File information about the related binary/library used by an 1714 // executable, or the script used by a script interpreter 1715 type File struct { 1716 // Contents: Prefix of the file contents as a JSON-encoded string. 1717 Contents string `json:"contents,omitempty"` 1718 // DiskPath: Path of the file in terms of underlying disk/partition 1719 // identifiers. 1720 DiskPath *DiskPath `json:"diskPath,omitempty"` 1721 // HashedSize: The length in bytes of the file prefix that was hashed. If 1722 // hashed_size == size, any hashes reported represent the entire file. 1723 HashedSize int64 `json:"hashedSize,omitempty,string"` 1724 // PartiallyHashed: True when the hash covers only a prefix of the file. 1725 PartiallyHashed bool `json:"partiallyHashed,omitempty"` 1726 // Path: Absolute path of the file as a JSON encoded string. 1727 Path string `json:"path,omitempty"` 1728 // Sha256: SHA256 hash of the first hashed_size bytes of the file encoded as a 1729 // hex string. If hashed_size == size, sha256 represents the SHA256 hash of the 1730 // entire file. 1731 Sha256 string `json:"sha256,omitempty"` 1732 // Size: Size of the file in bytes. 1733 Size int64 `json:"size,omitempty,string"` 1734 // ForceSendFields is a list of field names (e.g. "Contents") to 1735 // unconditionally include in API requests. By default, fields with empty or 1736 // default values are omitted from API requests. See 1737 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 1738 // details. 1739 ForceSendFields []string `json:"-"` 1740 // NullFields is a list of field names (e.g. "Contents") to include in API 1741 // requests with the JSON null value. By default, fields with empty values are 1742 // omitted from API requests. See 1743 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 1744 NullFields []string `json:"-"` 1745 } 1746 1747 func (s *File) MarshalJSON() ([]byte, error) { 1748 type NoMethod File 1749 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 1750 } 1751 1752 // Finding: Security Command Center finding. A finding is a record of 1753 // assessment data like security, risk, health, or privacy, that is ingested 1754 // into Security Command Center for presentation, notification, analysis, 1755 // policy testing, and enforcement. For example, a cross-site scripting (XSS) 1756 // vulnerability in an App Engine application is a finding. 1757 type Finding struct { 1758 // Access: Access details associated with the finding, such as more information 1759 // on the caller, which method was accessed, and from where. 1760 Access *Access `json:"access,omitempty"` 1761 // Application: Represents an application associated with the finding. 1762 Application *Application `json:"application,omitempty"` 1763 // AttackExposure: The results of an attack path simulation relevant to this 1764 // finding. 1765 AttackExposure *AttackExposure `json:"attackExposure,omitempty"` 1766 // BackupDisasterRecovery: Fields related to Backup and DR findings. 1767 BackupDisasterRecovery *BackupDisasterRecovery `json:"backupDisasterRecovery,omitempty"` 1768 // CanonicalName: The canonical name of the finding. It's either 1769 // "organizations/{organization_id}/sources/{source_id}/findings/{finding_id}", 1770 // "folders/{folder_id}/sources/{source_id}/findings/{finding_id}" or 1771 // "projects/{project_number}/sources/{source_id}/findings/{finding_id}", 1772 // depending on the closest CRM ancestor of the resource associated with the 1773 // finding. 1774 CanonicalName string `json:"canonicalName,omitempty"` 1775 // Category: The additional taxonomy group within findings from a given source. 1776 // This field is immutable after creation time. Example: "XSS_FLASH_INJECTION" 1777 Category string `json:"category,omitempty"` 1778 // CloudArmor: Fields related to Cloud Armor findings. 1779 CloudArmor *CloudArmor `json:"cloudArmor,omitempty"` 1780 // CloudDlpDataProfile: Cloud DLP data profile that is associated with the 1781 // finding. 1782 CloudDlpDataProfile *CloudDlpDataProfile `json:"cloudDlpDataProfile,omitempty"` 1783 // CloudDlpInspection: Cloud Data Loss Prevention (Cloud DLP) inspection 1784 // results that are associated with the finding. 1785 CloudDlpInspection *CloudDlpInspection `json:"cloudDlpInspection,omitempty"` 1786 // Compliances: Contains compliance information for security standards 1787 // associated to the finding. 1788 Compliances []*Compliance `json:"compliances,omitempty"` 1789 // Connections: Contains information about the IP connection associated with 1790 // the finding. 1791 Connections []*Connection `json:"connections,omitempty"` 1792 // Contacts: Output only. Map containing the points of contact for the given 1793 // finding. The key represents the type of contact, while the value contains a 1794 // list of all the contacts that pertain. Please refer to: 1795 // https://cloud.google.com/resource-manager/docs/managing-notification-contacts#notification-categories 1796 // { "security": { "contacts": [ { "email": "person1@company.com" }, { "email": 1797 // "person2@company.com" } ] } } 1798 Contacts map[string]ContactDetails `json:"contacts,omitempty"` 1799 // Containers: Containers associated with the finding. This field provides 1800 // information for both Kubernetes and non-Kubernetes containers. 1801 Containers []*Container `json:"containers,omitempty"` 1802 // CreateTime: The time at which the finding was created in Security Command 1803 // Center. 1804 CreateTime string `json:"createTime,omitempty"` 1805 // Database: Database associated with the finding. 1806 Database *Database `json:"database,omitempty"` 1807 // Description: Contains more details about the finding. 1808 Description string `json:"description,omitempty"` 1809 // EventTime: The time the finding was first detected. If an existing finding 1810 // is updated, then this is the time the update occurred. For example, if the 1811 // finding represents an open firewall, this property captures the time the 1812 // detector believes the firewall became open. The accuracy is determined by 1813 // the detector. If the finding is later resolved, then this time reflects when 1814 // the finding was resolved. This must not be set to a value greater than the 1815 // current timestamp. 1816 EventTime string `json:"eventTime,omitempty"` 1817 // Exfiltration: Represents exfiltrations associated with the finding. 1818 Exfiltration *Exfiltration `json:"exfiltration,omitempty"` 1819 // ExternalSystems: Output only. Third party SIEM/SOAR fields within SCC, 1820 // contains external system information and external system finding fields. 1821 ExternalSystems map[string]GoogleCloudSecuritycenterV1ExternalSystem `json:"externalSystems,omitempty"` 1822 // ExternalUri: The URI that, if available, points to a web page outside of 1823 // Security Command Center where additional information about the finding can 1824 // be found. This field is guaranteed to be either empty or a well formed URL. 1825 ExternalUri string `json:"externalUri,omitempty"` 1826 // Files: File associated with the finding. 1827 Files []*File `json:"files,omitempty"` 1828 // FindingClass: The class of the finding. 1829 // 1830 // Possible values: 1831 // "FINDING_CLASS_UNSPECIFIED" - Unspecified finding class. 1832 // "THREAT" - Describes unwanted or malicious activity. 1833 // "VULNERABILITY" - Describes a potential weakness in software that 1834 // increases risk to Confidentiality & Integrity & Availability. 1835 // "MISCONFIGURATION" - Describes a potential weakness in cloud 1836 // resource/asset configuration that increases risk. 1837 // "OBSERVATION" - Describes a security observation that is for informational 1838 // purposes. 1839 // "SCC_ERROR" - Describes an error that prevents some SCC functionality. 1840 // "POSTURE_VIOLATION" - Describes a potential security risk due to a change 1841 // in the security posture. 1842 FindingClass string `json:"findingClass,omitempty"` 1843 // IamBindings: Represents IAM bindings associated with the finding. 1844 IamBindings []*IamBinding `json:"iamBindings,omitempty"` 1845 // Indicator: Represents what's commonly known as an *indicator of compromise* 1846 // (IoC) in computer forensics. This is an artifact observed on a network or in 1847 // an operating system that, with high confidence, indicates a computer 1848 // intrusion. For more information, see Indicator of compromise 1849 // (https://en.wikipedia.org/wiki/Indicator_of_compromise). 1850 Indicator *Indicator `json:"indicator,omitempty"` 1851 // KernelRootkit: Signature of the kernel rootkit. 1852 KernelRootkit *KernelRootkit `json:"kernelRootkit,omitempty"` 1853 // Kubernetes: Kubernetes resources associated with the finding. 1854 Kubernetes *Kubernetes `json:"kubernetes,omitempty"` 1855 // LoadBalancers: The load balancers associated with the finding. 1856 LoadBalancers []*LoadBalancer `json:"loadBalancers,omitempty"` 1857 // LogEntries: Log entries that are relevant to the finding. 1858 LogEntries []*LogEntry `json:"logEntries,omitempty"` 1859 // MitreAttack: MITRE ATT&CK tactics and techniques related to this finding. 1860 // See: https://attack.mitre.org 1861 MitreAttack *MitreAttack `json:"mitreAttack,omitempty"` 1862 // ModuleName: Unique identifier of the module which generated the finding. 1863 // Example: 1864 // folders/598186756061/securityHealthAnalyticsSettings/customModules/5679944116 1865 // 1885 1866 ModuleName string `json:"moduleName,omitempty"` 1867 // Mute: Indicates the mute state of a finding (either muted, unmuted or 1868 // undefined). Unlike other attributes of a finding, a finding provider 1869 // shouldn't set the value of mute. 1870 // 1871 // Possible values: 1872 // "MUTE_UNSPECIFIED" - Unspecified. 1873 // "MUTED" - Finding has been muted. 1874 // "UNMUTED" - Finding has been unmuted. 1875 // "UNDEFINED" - Finding has never been muted/unmuted. 1876 Mute string `json:"mute,omitempty"` 1877 // MuteInitiator: Records additional information about the mute operation, for 1878 // example, the mute configuration 1879 // (/security-command-center/docs/how-to-mute-findings) that muted the finding 1880 // and the user who muted the finding. 1881 MuteInitiator string `json:"muteInitiator,omitempty"` 1882 // MuteUpdateTime: Output only. The most recent time this finding was muted or 1883 // unmuted. 1884 MuteUpdateTime string `json:"muteUpdateTime,omitempty"` 1885 // Name: The relative resource name 1886 // (https://cloud.google.com/apis/design/resource_names#relative_resource_name) 1887 // of the finding. Example: 1888 // "organizations/{organization_id}/sources/{source_id}/findings/{finding_id}", 1889 // "folders/{folder_id}/sources/{source_id}/findings/{finding_id}", 1890 // "projects/{project_id}/sources/{source_id}/findings/{finding_id}". 1891 Name string `json:"name,omitempty"` 1892 // NextSteps: Steps to address the finding. 1893 NextSteps string `json:"nextSteps,omitempty"` 1894 // Notebook: Notebook associated with the finding. 1895 Notebook *Notebook `json:"notebook,omitempty"` 1896 // OrgPolicies: Contains information about the org policies associated with the 1897 // finding. 1898 OrgPolicies []*OrgPolicy `json:"orgPolicies,omitempty"` 1899 // Parent: The relative resource name of the source the finding belongs to. 1900 // See: 1901 // https://cloud.google.com/apis/design/resource_names#relative_resource_name 1902 // This field is immutable after creation time. For example: 1903 // "organizations/{organization_id}/sources/{source_id}" 1904 Parent string `json:"parent,omitempty"` 1905 // ParentDisplayName: Output only. The human readable display name of the 1906 // finding source such as "Event Threat Detection" or "Security Health 1907 // Analytics". 1908 ParentDisplayName string `json:"parentDisplayName,omitempty"` 1909 // Processes: Represents operating system processes associated with the 1910 // Finding. 1911 Processes []*Process `json:"processes,omitempty"` 1912 // ResourceName: For findings on Google Cloud resources, the full resource name 1913 // of the Google Cloud resource this finding is for. See: 1914 // https://cloud.google.com/apis/design/resource_names#full_resource_name When 1915 // the finding is for a non-Google Cloud resource, the resourceName can be a 1916 // customer or partner defined string. This field is immutable after creation 1917 // time. 1918 ResourceName string `json:"resourceName,omitempty"` 1919 // SecurityMarks: Output only. User specified security marks. These marks are 1920 // entirely managed by the user and come from the SecurityMarks resource that 1921 // belongs to the finding. 1922 SecurityMarks *SecurityMarks `json:"securityMarks,omitempty"` 1923 // SecurityPosture: The security posture associated with the finding. 1924 SecurityPosture *SecurityPosture `json:"securityPosture,omitempty"` 1925 // Severity: The severity of the finding. This field is managed by the source 1926 // that writes the finding. 1927 // 1928 // Possible values: 1929 // "SEVERITY_UNSPECIFIED" - This value is used for findings when a source 1930 // doesn't write a severity value. 1931 // "CRITICAL" - Vulnerability: A critical vulnerability is easily 1932 // discoverable by an external actor, exploitable, and results in the direct 1933 // ability to execute arbitrary code, exfiltrate data, and otherwise gain 1934 // additional access and privileges to cloud resources and workloads. Examples 1935 // include publicly accessible unprotected user data and public SSH access with 1936 // weak or no passwords. Threat: Indicates a threat that is able to access, 1937 // modify, or delete data or execute unauthorized code within existing 1938 // resources. 1939 // "HIGH" - Vulnerability: A high risk vulnerability can be easily discovered 1940 // and exploited in combination with other vulnerabilities in order to gain 1941 // direct access and the ability to execute arbitrary code, exfiltrate data, 1942 // and otherwise gain additional access and privileges to cloud resources and 1943 // workloads. An example is a database with weak or no passwords that is only 1944 // accessible internally. This database could easily be compromised by an actor 1945 // that had access to the internal network. Threat: Indicates a threat that is 1946 // able to create new computational resources in an environment but not able to 1947 // access data or execute code in existing resources. 1948 // "MEDIUM" - Vulnerability: A medium risk vulnerability could be used by an 1949 // actor to gain access to resources or privileges that enable them to 1950 // eventually (through multiple steps or a complex exploit) gain access and the 1951 // ability to execute arbitrary code or exfiltrate data. An example is a 1952 // service account with access to more projects than it should have. If an 1953 // actor gains access to the service account, they could potentially use that 1954 // access to manipulate a project the service account was not intended to. 1955 // Threat: Indicates a threat that is able to cause operational impact but may 1956 // not access data or execute unauthorized code. 1957 // "LOW" - Vulnerability: A low risk vulnerability hampers a security 1958 // organization's ability to detect vulnerabilities or active threats in their 1959 // deployment, or prevents the root cause investigation of security issues. An 1960 // example is monitoring and logs being disabled for resource configurations 1961 // and access. Threat: Indicates a threat that has obtained minimal access to 1962 // an environment but is not able to access data, execute code, or create 1963 // resources. 1964 Severity string `json:"severity,omitempty"` 1965 // SourceProperties: Source specific properties. These properties are managed 1966 // by the source that writes the finding. The key names in the 1967 // source_properties map must be between 1 and 255 characters, and must start 1968 // with a letter and contain alphanumeric characters or underscores only. 1969 SourceProperties googleapi.RawMessage `json:"sourceProperties,omitempty"` 1970 // State: The state of the finding. 1971 // 1972 // Possible values: 1973 // "STATE_UNSPECIFIED" - Unspecified state. 1974 // "ACTIVE" - The finding requires attention and has not been addressed yet. 1975 // "INACTIVE" - The finding has been fixed, triaged as a non-issue or 1976 // otherwise addressed and is no longer active. 1977 State string `json:"state,omitempty"` 1978 // Vulnerability: Represents vulnerability-specific fields like CVE and CVSS 1979 // scores. CVE stands for Common Vulnerabilities and Exposures 1980 // (https://cve.mitre.org/about/) 1981 Vulnerability *Vulnerability `json:"vulnerability,omitempty"` 1982 // ForceSendFields is a list of field names (e.g. "Access") to unconditionally 1983 // include in API requests. By default, fields with empty or default values are 1984 // omitted from API requests. See 1985 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 1986 // details. 1987 ForceSendFields []string `json:"-"` 1988 // NullFields is a list of field names (e.g. "Access") to include in API 1989 // requests with the JSON null value. By default, fields with empty values are 1990 // omitted from API requests. See 1991 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 1992 NullFields []string `json:"-"` 1993 } 1994 1995 func (s *Finding) MarshalJSON() ([]byte, error) { 1996 type NoMethod Finding 1997 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 1998 } 1999 2000 // Folder: Message that contains the resource name and display name of a folder 2001 // resource. 2002 type Folder struct { 2003 // ResourceFolder: Full resource name of this folder. See: 2004 // https://cloud.google.com/apis/design/resource_names#full_resource_name 2005 ResourceFolder string `json:"resourceFolder,omitempty"` 2006 // ResourceFolderDisplayName: The user defined display name for this folder. 2007 ResourceFolderDisplayName string `json:"resourceFolderDisplayName,omitempty"` 2008 // ForceSendFields is a list of field names (e.g. "ResourceFolder") to 2009 // unconditionally include in API requests. By default, fields with empty or 2010 // default values are omitted from API requests. See 2011 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 2012 // details. 2013 ForceSendFields []string `json:"-"` 2014 // NullFields is a list of field names (e.g. "ResourceFolder") to include in 2015 // API requests with the JSON null value. By default, fields with empty values 2016 // are omitted from API requests. See 2017 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 2018 NullFields []string `json:"-"` 2019 } 2020 2021 func (s *Folder) MarshalJSON() ([]byte, error) { 2022 type NoMethod Folder 2023 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 2024 } 2025 2026 // GcpMetadata: GCP metadata associated with the resource, only applicable if 2027 // the finding's cloud provider is Google Cloud Platform. 2028 type GcpMetadata struct { 2029 // Folders: Output only. Contains a Folder message for each folder in the 2030 // assets ancestry. The first folder is the deepest nested folder, and the last 2031 // folder is the folder directly under the Organization. 2032 Folders []*GoogleCloudSecuritycenterV2Folder `json:"folders,omitempty"` 2033 // Organization: The name of the organization that the resource belongs to. 2034 Organization string `json:"organization,omitempty"` 2035 // Parent: The full resource name of resource's parent. 2036 Parent string `json:"parent,omitempty"` 2037 // ParentDisplayName: The human readable name of resource's parent. 2038 ParentDisplayName string `json:"parentDisplayName,omitempty"` 2039 // Project: The full resource name of project that the resource belongs to. 2040 Project string `json:"project,omitempty"` 2041 // ProjectDisplayName: The project ID that the resource belongs to. 2042 ProjectDisplayName string `json:"projectDisplayName,omitempty"` 2043 // ForceSendFields is a list of field names (e.g. "Folders") to unconditionally 2044 // include in API requests. By default, fields with empty or default values are 2045 // omitted from API requests. See 2046 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 2047 // details. 2048 ForceSendFields []string `json:"-"` 2049 // NullFields is a list of field names (e.g. "Folders") to include in API 2050 // requests with the JSON null value. By default, fields with empty values are 2051 // omitted from API requests. See 2052 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 2053 NullFields []string `json:"-"` 2054 } 2055 2056 func (s *GcpMetadata) MarshalJSON() ([]byte, error) { 2057 type NoMethod GcpMetadata 2058 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 2059 } 2060 2061 // Geolocation: Represents a geographical location for a given access. 2062 type Geolocation struct { 2063 // RegionCode: A CLDR. 2064 RegionCode string `json:"regionCode,omitempty"` 2065 // ForceSendFields is a list of field names (e.g. "RegionCode") to 2066 // unconditionally include in API requests. By default, fields with empty or 2067 // default values are omitted from API requests. See 2068 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 2069 // details. 2070 ForceSendFields []string `json:"-"` 2071 // NullFields is a list of field names (e.g. "RegionCode") to include in API 2072 // requests with the JSON null value. By default, fields with empty values are 2073 // omitted from API requests. See 2074 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 2075 NullFields []string `json:"-"` 2076 } 2077 2078 func (s *Geolocation) MarshalJSON() ([]byte, error) { 2079 type NoMethod Geolocation 2080 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 2081 } 2082 2083 // GetIamPolicyRequest: Request message for `GetIamPolicy` method. 2084 type GetIamPolicyRequest struct { 2085 // Options: OPTIONAL: A `GetPolicyOptions` object for specifying options to 2086 // `GetIamPolicy`. 2087 Options *GetPolicyOptions `json:"options,omitempty"` 2088 // ForceSendFields is a list of field names (e.g. "Options") to unconditionally 2089 // include in API requests. By default, fields with empty or default values are 2090 // omitted from API requests. See 2091 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 2092 // details. 2093 ForceSendFields []string `json:"-"` 2094 // NullFields is a list of field names (e.g. "Options") to include in API 2095 // requests with the JSON null value. By default, fields with empty values are 2096 // omitted from API requests. See 2097 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 2098 NullFields []string `json:"-"` 2099 } 2100 2101 func (s *GetIamPolicyRequest) MarshalJSON() ([]byte, error) { 2102 type NoMethod GetIamPolicyRequest 2103 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 2104 } 2105 2106 // GetPolicyOptions: Encapsulates settings provided to GetIamPolicy. 2107 type GetPolicyOptions struct { 2108 // RequestedPolicyVersion: Optional. The maximum policy version that will be 2109 // used to format the policy. Valid values are 0, 1, and 3. Requests specifying 2110 // an invalid value will be rejected. Requests for policies with any 2111 // conditional role bindings must specify version 3. Policies with no 2112 // conditional role bindings may specify any valid value or leave the field 2113 // unset. The policy in the response might use the policy version that you 2114 // specified, or it might use a lower policy version. For example, if you 2115 // specify version 3, but the policy has no conditional role bindings, the 2116 // response uses version 1. To learn which resources support conditions in 2117 // their IAM policies, see the IAM documentation 2118 // (https://cloud.google.com/iam/help/conditions/resource-policies). 2119 RequestedPolicyVersion int64 `json:"requestedPolicyVersion,omitempty"` 2120 // ForceSendFields is a list of field names (e.g. "RequestedPolicyVersion") to 2121 // unconditionally include in API requests. By default, fields with empty or 2122 // default values are omitted from API requests. See 2123 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 2124 // details. 2125 ForceSendFields []string `json:"-"` 2126 // NullFields is a list of field names (e.g. "RequestedPolicyVersion") to 2127 // include in API requests with the JSON null value. By default, fields with 2128 // empty values are omitted from API requests. See 2129 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 2130 NullFields []string `json:"-"` 2131 } 2132 2133 func (s *GetPolicyOptions) MarshalJSON() ([]byte, error) { 2134 type NoMethod GetPolicyOptions 2135 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 2136 } 2137 2138 // GoogleCloudSecuritycenterV1BigQueryExport: Configures how to deliver 2139 // Findings to BigQuery Instance. 2140 type GoogleCloudSecuritycenterV1BigQueryExport struct { 2141 // CreateTime: Output only. The time at which the BigQuery export was created. 2142 // This field is set by the server and will be ignored if provided on export on 2143 // creation. 2144 CreateTime string `json:"createTime,omitempty"` 2145 // Dataset: The dataset to write findings' updates to. Its format is 2146 // "projects/[project_id]/datasets/[bigquery_dataset_id]". BigQuery Dataset 2147 // unique ID must contain only letters (a-z, A-Z), numbers (0-9), or 2148 // underscores (_). 2149 Dataset string `json:"dataset,omitempty"` 2150 // Description: The description of the export (max of 1024 characters). 2151 Description string `json:"description,omitempty"` 2152 // Filter: Expression that defines the filter to apply across create/update 2153 // events of findings. The expression is a list of zero or more restrictions 2154 // combined via logical operators `AND` and `OR`. Parentheses are supported, 2155 // and `OR` has higher precedence than `AND`. Restrictions have the form ` ` 2156 // and may have a `-` character in front of them to indicate negation. The 2157 // fields map to those defined in the corresponding resource. The supported 2158 // operators are: * `=` for all value types. * `>`, `<`, `>=`, `<=` for integer 2159 // values. * `:`, meaning substring matching, for strings. The supported value 2160 // types are: * string literals in quotes. * integer literals without quotes. * 2161 // boolean literals `true` and `false` without quotes. 2162 Filter string `json:"filter,omitempty"` 2163 // MostRecentEditor: Output only. Email address of the user who last edited the 2164 // BigQuery export. This field is set by the server and will be ignored if 2165 // provided on export creation or update. 2166 MostRecentEditor string `json:"mostRecentEditor,omitempty"` 2167 // Name: The relative resource name of this export. See: 2168 // https://cloud.google.com/apis/design/resource_names#relative_resource_name. 2169 // Example format: 2170 // "organizations/{organization_id}/bigQueryExports/{export_id}" Example 2171 // format: "folders/{folder_id}/bigQueryExports/{export_id}" Example format: 2172 // "projects/{project_id}/bigQueryExports/{export_id}" This field is provided 2173 // in responses, and is ignored when provided in create requests. 2174 Name string `json:"name,omitempty"` 2175 // Principal: Output only. The service account that needs permission to create 2176 // table and upload data to the BigQuery dataset. 2177 Principal string `json:"principal,omitempty"` 2178 // UpdateTime: Output only. The most recent time at which the BigQuery export 2179 // was updated. This field is set by the server and will be ignored if provided 2180 // on export creation or update. 2181 UpdateTime string `json:"updateTime,omitempty"` 2182 // ForceSendFields is a list of field names (e.g. "CreateTime") to 2183 // unconditionally include in API requests. By default, fields with empty or 2184 // default values are omitted from API requests. See 2185 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 2186 // details. 2187 ForceSendFields []string `json:"-"` 2188 // NullFields is a list of field names (e.g. "CreateTime") to include in API 2189 // requests with the JSON null value. By default, fields with empty values are 2190 // omitted from API requests. See 2191 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 2192 NullFields []string `json:"-"` 2193 } 2194 2195 func (s *GoogleCloudSecuritycenterV1BigQueryExport) MarshalJSON() ([]byte, error) { 2196 type NoMethod GoogleCloudSecuritycenterV1BigQueryExport 2197 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 2198 } 2199 2200 // GoogleCloudSecuritycenterV1Binding: Represents a Kubernetes RoleBinding or 2201 // ClusterRoleBinding. 2202 type GoogleCloudSecuritycenterV1Binding struct { 2203 // Name: Name for the binding. 2204 Name string `json:"name,omitempty"` 2205 // Ns: Namespace for the binding. 2206 Ns string `json:"ns,omitempty"` 2207 // Role: The Role or ClusterRole referenced by the binding. 2208 Role *Role `json:"role,omitempty"` 2209 // Subjects: Represents one or more subjects that are bound to the role. Not 2210 // always available for PATCH requests. 2211 Subjects []*Subject `json:"subjects,omitempty"` 2212 // ForceSendFields is a list of field names (e.g. "Name") to unconditionally 2213 // include in API requests. By default, fields with empty or default values are 2214 // omitted from API requests. See 2215 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 2216 // details. 2217 ForceSendFields []string `json:"-"` 2218 // NullFields is a list of field names (e.g. "Name") to include in API requests 2219 // with the JSON null value. By default, fields with empty values are omitted 2220 // from API requests. See 2221 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 2222 NullFields []string `json:"-"` 2223 } 2224 2225 func (s *GoogleCloudSecuritycenterV1Binding) MarshalJSON() ([]byte, error) { 2226 type NoMethod GoogleCloudSecuritycenterV1Binding 2227 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 2228 } 2229 2230 // GoogleCloudSecuritycenterV1BulkMuteFindingsResponse: The response to a 2231 // BulkMute request. Contains the LRO information. 2232 type GoogleCloudSecuritycenterV1BulkMuteFindingsResponse struct { 2233 } 2234 2235 // GoogleCloudSecuritycenterV1CustomConfig: Defines the properties in a custom 2236 // module configuration for Security Health Analytics. Use the custom module 2237 // configuration to create custom detectors that generate custom findings for 2238 // resources that you specify. 2239 type GoogleCloudSecuritycenterV1CustomConfig struct { 2240 // CustomOutput: Custom output properties. 2241 CustomOutput *GoogleCloudSecuritycenterV1CustomOutputSpec `json:"customOutput,omitempty"` 2242 // Description: Text that describes the vulnerability or misconfiguration that 2243 // the custom module detects. This explanation is returned with each finding 2244 // instance to help investigators understand the detected issue. The text must 2245 // be enclosed in quotation marks. 2246 Description string `json:"description,omitempty"` 2247 // Predicate: The CEL expression to evaluate to produce findings. When the 2248 // expression evaluates to true against a resource, a finding is generated. 2249 Predicate *Expr `json:"predicate,omitempty"` 2250 // Recommendation: An explanation of the recommended steps that security teams 2251 // can take to resolve the detected issue. This explanation is returned with 2252 // each finding generated by this module in the `nextSteps` property of the 2253 // finding JSON. 2254 Recommendation string `json:"recommendation,omitempty"` 2255 // ResourceSelector: The resource types that the custom module operates on. 2256 // Each custom module can specify up to 5 resource types. 2257 ResourceSelector *GoogleCloudSecuritycenterV1ResourceSelector `json:"resourceSelector,omitempty"` 2258 // Severity: The severity to assign to findings generated by the module. 2259 // 2260 // Possible values: 2261 // "SEVERITY_UNSPECIFIED" - Unspecified severity. 2262 // "CRITICAL" - Critical severity. 2263 // "HIGH" - High severity. 2264 // "MEDIUM" - Medium severity. 2265 // "LOW" - Low severity. 2266 Severity string `json:"severity,omitempty"` 2267 // ForceSendFields is a list of field names (e.g. "CustomOutput") to 2268 // unconditionally include in API requests. By default, fields with empty or 2269 // default values are omitted from API requests. See 2270 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 2271 // details. 2272 ForceSendFields []string `json:"-"` 2273 // NullFields is a list of field names (e.g. "CustomOutput") to include in API 2274 // requests with the JSON null value. By default, fields with empty values are 2275 // omitted from API requests. See 2276 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 2277 NullFields []string `json:"-"` 2278 } 2279 2280 func (s *GoogleCloudSecuritycenterV1CustomConfig) MarshalJSON() ([]byte, error) { 2281 type NoMethod GoogleCloudSecuritycenterV1CustomConfig 2282 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 2283 } 2284 2285 // GoogleCloudSecuritycenterV1CustomOutputSpec: A set of optional name-value 2286 // pairs that define custom source properties to return with each finding that 2287 // is generated by the custom module. The custom source properties that are 2288 // defined here are included in the finding JSON under `sourceProperties`. 2289 type GoogleCloudSecuritycenterV1CustomOutputSpec struct { 2290 // Properties: A list of custom output properties to add to the finding. 2291 Properties []*GoogleCloudSecuritycenterV1Property `json:"properties,omitempty"` 2292 // ForceSendFields is a list of field names (e.g. "Properties") to 2293 // unconditionally include in API requests. By default, fields with empty or 2294 // default values are omitted from API requests. See 2295 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 2296 // details. 2297 ForceSendFields []string `json:"-"` 2298 // NullFields is a list of field names (e.g. "Properties") to include in API 2299 // requests with the JSON null value. By default, fields with empty values are 2300 // omitted from API requests. See 2301 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 2302 NullFields []string `json:"-"` 2303 } 2304 2305 func (s *GoogleCloudSecuritycenterV1CustomOutputSpec) MarshalJSON() ([]byte, error) { 2306 type NoMethod GoogleCloudSecuritycenterV1CustomOutputSpec 2307 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 2308 } 2309 2310 // GoogleCloudSecuritycenterV1EffectiveSecurityHealthAnalyticsCustomModule: An 2311 // EffectiveSecurityHealthAnalyticsCustomModule is the representation of a 2312 // Security Health Analytics custom module at a specified level of the resource 2313 // hierarchy: organization, folder, or project. If a custom module is inherited 2314 // from a parent organization or folder, the value of the `enablementState` 2315 // property in EffectiveSecurityHealthAnalyticsCustomModule is set to the value 2316 // that is effective in the parent, instead of `INHERITED`. For example, if the 2317 // module is enabled in a parent organization or folder, the effective 2318 // enablement_state for the module in all child folders or projects is also 2319 // `enabled`. EffectiveSecurityHealthAnalyticsCustomModule is read-only. 2320 type GoogleCloudSecuritycenterV1EffectiveSecurityHealthAnalyticsCustomModule struct { 2321 // CustomConfig: Output only. The user-specified configuration for the module. 2322 CustomConfig *GoogleCloudSecuritycenterV1CustomConfig `json:"customConfig,omitempty"` 2323 // DisplayName: Output only. The display name for the custom module. The name 2324 // must be between 1 and 128 characters, start with a lowercase letter, and 2325 // contain alphanumeric characters or underscores only. 2326 DisplayName string `json:"displayName,omitempty"` 2327 // EnablementState: Output only. The effective state of enablement for the 2328 // module at the given level of the hierarchy. 2329 // 2330 // Possible values: 2331 // "ENABLEMENT_STATE_UNSPECIFIED" - Unspecified enablement state. 2332 // "ENABLED" - The module is enabled at the given level. 2333 // "DISABLED" - The module is disabled at the given level. 2334 EnablementState string `json:"enablementState,omitempty"` 2335 // Name: Output only. The resource name of the custom module. Its format is 2336 // "organizations/{organization}/securityHealthAnalyticsSettings/effectiveCustom 2337 // Modules/{customModule}", or 2338 // "folders/{folder}/securityHealthAnalyticsSettings/effectiveCustomModules/{cus 2339 // tomModule}", or 2340 // "projects/{project}/securityHealthAnalyticsSettings/effectiveCustomModules/{c 2341 // ustomModule}" 2342 Name string `json:"name,omitempty"` 2343 // ForceSendFields is a list of field names (e.g. "CustomConfig") to 2344 // unconditionally include in API requests. By default, fields with empty or 2345 // default values are omitted from API requests. See 2346 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 2347 // details. 2348 ForceSendFields []string `json:"-"` 2349 // NullFields is a list of field names (e.g. "CustomConfig") to include in API 2350 // requests with the JSON null value. By default, fields with empty values are 2351 // omitted from API requests. See 2352 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 2353 NullFields []string `json:"-"` 2354 } 2355 2356 func (s *GoogleCloudSecuritycenterV1EffectiveSecurityHealthAnalyticsCustomModule) MarshalJSON() ([]byte, error) { 2357 type NoMethod GoogleCloudSecuritycenterV1EffectiveSecurityHealthAnalyticsCustomModule 2358 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 2359 } 2360 2361 // GoogleCloudSecuritycenterV1ExternalSystem: Representation of third party 2362 // SIEM/SOAR fields within SCC. 2363 type GoogleCloudSecuritycenterV1ExternalSystem struct { 2364 // Assignees: References primary/secondary etc assignees in the external 2365 // system. 2366 Assignees []string `json:"assignees,omitempty"` 2367 // CaseCloseTime: The time when the case was closed, as reported by the 2368 // external system. 2369 CaseCloseTime string `json:"caseCloseTime,omitempty"` 2370 // CaseCreateTime: The time when the case was created, as reported by the 2371 // external system. 2372 CaseCreateTime string `json:"caseCreateTime,omitempty"` 2373 // CasePriority: The priority of the finding's corresponding case in the 2374 // external system. 2375 CasePriority string `json:"casePriority,omitempty"` 2376 // CaseSla: The SLA of the finding's corresponding case in the external system. 2377 CaseSla string `json:"caseSla,omitempty"` 2378 // CaseUri: The link to the finding's corresponding case in the external 2379 // system. 2380 CaseUri string `json:"caseUri,omitempty"` 2381 // ExternalSystemUpdateTime: The time when the case was last updated, as 2382 // reported by the external system. 2383 ExternalSystemUpdateTime string `json:"externalSystemUpdateTime,omitempty"` 2384 // ExternalUid: The identifier that's used to track the finding's corresponding 2385 // case in the external system. 2386 ExternalUid string `json:"externalUid,omitempty"` 2387 // Name: Full resource name of the external system, for example: 2388 // "organizations/1234/sources/5678/findings/123456/externalSystems/jira", 2389 // "folders/1234/sources/5678/findings/123456/externalSystems/jira", 2390 // "projects/1234/sources/5678/findings/123456/externalSystems/jira" 2391 Name string `json:"name,omitempty"` 2392 // Status: The most recent status of the finding's corresponding case, as 2393 // reported by the external system. 2394 Status string `json:"status,omitempty"` 2395 // TicketInfo: Information about the ticket, if any, that is being used to 2396 // track the resolution of the issue that is identified by this finding. 2397 TicketInfo *TicketInfo `json:"ticketInfo,omitempty"` 2398 // ForceSendFields is a list of field names (e.g. "Assignees") to 2399 // unconditionally include in API requests. By default, fields with empty or 2400 // default values are omitted from API requests. See 2401 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 2402 // details. 2403 ForceSendFields []string `json:"-"` 2404 // NullFields is a list of field names (e.g. "Assignees") to include in API 2405 // requests with the JSON null value. By default, fields with empty values are 2406 // omitted from API requests. See 2407 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 2408 NullFields []string `json:"-"` 2409 } 2410 2411 func (s *GoogleCloudSecuritycenterV1ExternalSystem) MarshalJSON() ([]byte, error) { 2412 type NoMethod GoogleCloudSecuritycenterV1ExternalSystem 2413 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 2414 } 2415 2416 // GoogleCloudSecuritycenterV1MuteConfig: A mute config is a Cloud SCC resource 2417 // that contains the configuration to mute create/update events of findings. 2418 type GoogleCloudSecuritycenterV1MuteConfig struct { 2419 // CreateTime: Output only. The time at which the mute config was created. This 2420 // field is set by the server and will be ignored if provided on config 2421 // creation. 2422 CreateTime string `json:"createTime,omitempty"` 2423 // Description: A description of the mute config. 2424 Description string `json:"description,omitempty"` 2425 // DisplayName: The human readable name to be displayed for the mute config. 2426 DisplayName string `json:"displayName,omitempty"` 2427 // Filter: Required. An expression that defines the filter to apply across 2428 // create/update events of findings. While creating a filter string, be mindful 2429 // of the scope in which the mute configuration is being created. E.g., If a 2430 // filter contains project = X but is created under the project = Y scope, it 2431 // might not match any findings. The following field and operator combinations 2432 // are supported: * severity: `=`, `:` * category: `=`, `:` * resource.name: 2433 // `=`, `:` * resource.project_name: `=`, `:` * resource.project_display_name: 2434 // `=`, `:` * resource.folders.resource_folder: `=`, `:` * 2435 // resource.parent_name: `=`, `:` * resource.parent_display_name: `=`, `:` * 2436 // resource.type: `=`, `:` * finding_class: `=`, `:` * indicator.ip_addresses: 2437 // `=`, `:` * indicator.domains: `=`, `:` 2438 Filter string `json:"filter,omitempty"` 2439 // MostRecentEditor: Output only. Email address of the user who last edited the 2440 // mute config. This field is set by the server and will be ignored if provided 2441 // on config creation or update. 2442 MostRecentEditor string `json:"mostRecentEditor,omitempty"` 2443 // Name: This field will be ignored if provided on config creation. Format 2444 // "organizations/{organization}/muteConfigs/{mute_config}" 2445 // "folders/{folder}/muteConfigs/{mute_config}" 2446 // "projects/{project}/muteConfigs/{mute_config}" 2447 // "organizations/{organization}/locations/global/muteConfigs/{mute_config}" 2448 // "folders/{folder}/locations/global/muteConfigs/{mute_config}" 2449 // "projects/{project}/locations/global/muteConfigs/{mute_config}" 2450 Name string `json:"name,omitempty"` 2451 // UpdateTime: Output only. The most recent time at which the mute config was 2452 // updated. This field is set by the server and will be ignored if provided on 2453 // config creation or update. 2454 UpdateTime string `json:"updateTime,omitempty"` 2455 // ForceSendFields is a list of field names (e.g. "CreateTime") to 2456 // unconditionally include in API requests. By default, fields with empty or 2457 // default values are omitted from API requests. See 2458 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 2459 // details. 2460 ForceSendFields []string `json:"-"` 2461 // NullFields is a list of field names (e.g. "CreateTime") to include in API 2462 // requests with the JSON null value. By default, fields with empty values are 2463 // omitted from API requests. See 2464 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 2465 NullFields []string `json:"-"` 2466 } 2467 2468 func (s *GoogleCloudSecuritycenterV1MuteConfig) MarshalJSON() ([]byte, error) { 2469 type NoMethod GoogleCloudSecuritycenterV1MuteConfig 2470 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 2471 } 2472 2473 // GoogleCloudSecuritycenterV1NotificationMessage: Cloud SCC's Notification 2474 type GoogleCloudSecuritycenterV1NotificationMessage struct { 2475 // Finding: If it's a Finding based notification config, this field will be 2476 // populated. 2477 Finding *Finding `json:"finding,omitempty"` 2478 // NotificationConfigName: Name of the notification config that generated 2479 // current notification. 2480 NotificationConfigName string `json:"notificationConfigName,omitempty"` 2481 // Resource: The Cloud resource tied to this notification's Finding. 2482 Resource *GoogleCloudSecuritycenterV1Resource `json:"resource,omitempty"` 2483 // ForceSendFields is a list of field names (e.g. "Finding") to unconditionally 2484 // include in API requests. By default, fields with empty or default values are 2485 // omitted from API requests. See 2486 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 2487 // details. 2488 ForceSendFields []string `json:"-"` 2489 // NullFields is a list of field names (e.g. "Finding") to include in API 2490 // requests with the JSON null value. By default, fields with empty values are 2491 // omitted from API requests. See 2492 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 2493 NullFields []string `json:"-"` 2494 } 2495 2496 func (s *GoogleCloudSecuritycenterV1NotificationMessage) MarshalJSON() ([]byte, error) { 2497 type NoMethod GoogleCloudSecuritycenterV1NotificationMessage 2498 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 2499 } 2500 2501 // GoogleCloudSecuritycenterV1Property: An individual name-value pair that 2502 // defines a custom source property. 2503 type GoogleCloudSecuritycenterV1Property struct { 2504 // Name: Name of the property for the custom output. 2505 Name string `json:"name,omitempty"` 2506 // ValueExpression: The CEL expression for the custom output. A resource 2507 // property can be specified to return the value of the property or a text 2508 // string enclosed in quotation marks. 2509 ValueExpression *Expr `json:"valueExpression,omitempty"` 2510 // ForceSendFields is a list of field names (e.g. "Name") to unconditionally 2511 // include in API requests. By default, fields with empty or default values are 2512 // omitted from API requests. See 2513 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 2514 // details. 2515 ForceSendFields []string `json:"-"` 2516 // NullFields is a list of field names (e.g. "Name") to include in API requests 2517 // with the JSON null value. By default, fields with empty values are omitted 2518 // from API requests. See 2519 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 2520 NullFields []string `json:"-"` 2521 } 2522 2523 func (s *GoogleCloudSecuritycenterV1Property) MarshalJSON() ([]byte, error) { 2524 type NoMethod GoogleCloudSecuritycenterV1Property 2525 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 2526 } 2527 2528 // GoogleCloudSecuritycenterV1Resource: Information related to the Google Cloud 2529 // resource. 2530 type GoogleCloudSecuritycenterV1Resource struct { 2531 // AwsMetadata: The AWS metadata associated with the finding. 2532 AwsMetadata *AwsMetadata `json:"awsMetadata,omitempty"` 2533 // CloudProvider: Indicates which cloud provider the resource resides in. 2534 // 2535 // Possible values: 2536 // "CLOUD_PROVIDER_UNSPECIFIED" - The cloud provider is unspecified. 2537 // "GOOGLE_CLOUD_PLATFORM" - The cloud provider is Google Cloud Platform. 2538 // "AMAZON_WEB_SERVICES" - The cloud provider is Amazon Web Services. 2539 // "MICROSOFT_AZURE" - The cloud provider is Microsoft Azure. 2540 CloudProvider string `json:"cloudProvider,omitempty"` 2541 // DisplayName: The human readable name of the resource. 2542 DisplayName string `json:"displayName,omitempty"` 2543 // Folders: Output only. Contains a Folder message for each folder in the 2544 // assets ancestry. The first folder is the deepest nested folder, and the last 2545 // folder is the folder directly under the Organization. 2546 Folders []*Folder `json:"folders,omitempty"` 2547 // Location: The region or location of the service (if applicable). 2548 Location string `json:"location,omitempty"` 2549 // Name: The full resource name of the resource. See: 2550 // https://cloud.google.com/apis/design/resource_names#full_resource_name 2551 Name string `json:"name,omitempty"` 2552 // Organization: Indicates which organization or tenant in the cloud provider 2553 // the finding applies to. 2554 Organization string `json:"organization,omitempty"` 2555 // Parent: The full resource name of resource's parent. 2556 Parent string `json:"parent,omitempty"` 2557 // ParentDisplayName: The human readable name of resource's parent. 2558 ParentDisplayName string `json:"parentDisplayName,omitempty"` 2559 // Project: The full resource name of project that the resource belongs to. 2560 Project string `json:"project,omitempty"` 2561 // ProjectDisplayName: The project ID that the resource belongs to. 2562 ProjectDisplayName string `json:"projectDisplayName,omitempty"` 2563 // ResourcePath: Provides the path to the resource within the resource 2564 // hierarchy. 2565 ResourcePath *ResourcePath `json:"resourcePath,omitempty"` 2566 // ResourcePathString: A string representation of the resource path. For Google 2567 // Cloud, it has the format of 2568 // organizations/{organization_id}/folders/{folder_id}/folders/{folder_id}/proje 2569 // cts/{project_id} where there can be any number of folders. For AWS, it has 2570 // the format of 2571 // org/{organization_id}/ou/{organizational_unit_id}/ou/{organizational_unit_id} 2572 // /account/{account_id} where there can be any number of organizational units. 2573 // For Azure, it has the format of 2574 // mg/{management_group_id}/mg/{management_group_id}/subscription/{subscription_ 2575 // id}/rg/{resource_group_name} where there can be any number of management 2576 // groups. 2577 ResourcePathString string `json:"resourcePathString,omitempty"` 2578 // Service: The parent service or product from which the resource is provided, 2579 // for example, GKE or SNS. 2580 Service string `json:"service,omitempty"` 2581 // Type: The full resource type of the resource. 2582 Type string `json:"type,omitempty"` 2583 // ForceSendFields is a list of field names (e.g. "AwsMetadata") to 2584 // unconditionally include in API requests. By default, fields with empty or 2585 // default values are omitted from API requests. See 2586 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 2587 // details. 2588 ForceSendFields []string `json:"-"` 2589 // NullFields is a list of field names (e.g. "AwsMetadata") to include in API 2590 // requests with the JSON null value. By default, fields with empty values are 2591 // omitted from API requests. See 2592 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 2593 NullFields []string `json:"-"` 2594 } 2595 2596 func (s *GoogleCloudSecuritycenterV1Resource) MarshalJSON() ([]byte, error) { 2597 type NoMethod GoogleCloudSecuritycenterV1Resource 2598 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 2599 } 2600 2601 // GoogleCloudSecuritycenterV1ResourceSelector: Resource for selecting resource 2602 // type. 2603 type GoogleCloudSecuritycenterV1ResourceSelector struct { 2604 // ResourceTypes: The resource types to run the detector on. 2605 ResourceTypes []string `json:"resourceTypes,omitempty"` 2606 // ForceSendFields is a list of field names (e.g. "ResourceTypes") to 2607 // unconditionally include in API requests. By default, fields with empty or 2608 // default values are omitted from API requests. See 2609 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 2610 // details. 2611 ForceSendFields []string `json:"-"` 2612 // NullFields is a list of field names (e.g. "ResourceTypes") to include in API 2613 // requests with the JSON null value. By default, fields with empty values are 2614 // omitted from API requests. See 2615 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 2616 NullFields []string `json:"-"` 2617 } 2618 2619 func (s *GoogleCloudSecuritycenterV1ResourceSelector) MarshalJSON() ([]byte, error) { 2620 type NoMethod GoogleCloudSecuritycenterV1ResourceSelector 2621 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 2622 } 2623 2624 // GoogleCloudSecuritycenterV1ResourceValueConfig: A resource value config 2625 // (RVC) is a mapping configuration of user's resources to resource values. 2626 // Used in Attack path simulations. 2627 type GoogleCloudSecuritycenterV1ResourceValueConfig struct { 2628 // CloudProvider: Cloud provider this configuration applies to 2629 // 2630 // Possible values: 2631 // "CLOUD_PROVIDER_UNSPECIFIED" - The cloud provider is unspecified. 2632 // "GOOGLE_CLOUD_PLATFORM" - The cloud provider is Google Cloud Platform. 2633 // "AMAZON_WEB_SERVICES" - The cloud provider is Amazon Web Services. 2634 // "MICROSOFT_AZURE" - The cloud provider is Microsoft Azure. 2635 CloudProvider string `json:"cloudProvider,omitempty"` 2636 // CreateTime: Output only. Timestamp this resource value config was created. 2637 CreateTime string `json:"createTime,omitempty"` 2638 // Description: Description of the resource value config. 2639 Description string `json:"description,omitempty"` 2640 // Name: Name for the resource value config 2641 Name string `json:"name,omitempty"` 2642 // ResourceLabelsSelector: List of resource labels to search for, evaluated 2643 // with AND. E.g. "resource_labels_selector": {"key": "value", "env": "prod"} 2644 // will match resources with labels "key": "value" AND "env": "prod" 2645 // https://cloud.google.com/resource-manager/docs/creating-managing-labels 2646 ResourceLabelsSelector map[string]string `json:"resourceLabelsSelector,omitempty"` 2647 // ResourceType: Apply resource_value only to resources that match 2648 // resource_type. resource_type will be checked with "AND" of other resources. 2649 // E.g. "storage.googleapis.com/Bucket" with resource_value "HIGH" will apply 2650 // "HIGH" value only to "storage.googleapis.com/Bucket" resources. 2651 ResourceType string `json:"resourceType,omitempty"` 2652 // ResourceValue: Required. Resource value level this expression represents 2653 // 2654 // Possible values: 2655 // "RESOURCE_VALUE_UNSPECIFIED" - Unspecific value 2656 // "HIGH" - High resource value 2657 // "MEDIUM" - Medium resource value 2658 // "LOW" - Low resource value 2659 // "NONE" - No resource value, e.g. ignore these resources 2660 ResourceValue string `json:"resourceValue,omitempty"` 2661 // Scope: Project or folder to scope this config to. For example, "project/456" 2662 // would apply this config only to resources in "project/456" scope will be 2663 // checked with "AND" of other resources. 2664 Scope string `json:"scope,omitempty"` 2665 // SensitiveDataProtectionMapping: A mapping of the sensitivity on Sensitive 2666 // Data Protection finding to resource values. This mapping can only be used in 2667 // combination with a resource_type that is related to BigQuery, e.g. 2668 // "bigquery.googleapis.com/Dataset". 2669 SensitiveDataProtectionMapping *GoogleCloudSecuritycenterV1SensitiveDataProtectionMapping `json:"sensitiveDataProtectionMapping,omitempty"` 2670 // TagValues: Required. Tag values combined with AND to check against. Values 2671 // in the form "tagValues/123" E.g. [ "tagValues/123", "tagValues/456", 2672 // "tagValues/789" ] 2673 // https://cloud.google.com/resource-manager/docs/tags/tags-creating-and-managing 2674 TagValues []string `json:"tagValues,omitempty"` 2675 // UpdateTime: Output only. Timestamp this resource value config was last 2676 // updated. 2677 UpdateTime string `json:"updateTime,omitempty"` 2678 // ForceSendFields is a list of field names (e.g. "CloudProvider") to 2679 // unconditionally include in API requests. By default, fields with empty or 2680 // default values are omitted from API requests. See 2681 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 2682 // details. 2683 ForceSendFields []string `json:"-"` 2684 // NullFields is a list of field names (e.g. "CloudProvider") to include in API 2685 // requests with the JSON null value. By default, fields with empty values are 2686 // omitted from API requests. See 2687 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 2688 NullFields []string `json:"-"` 2689 } 2690 2691 func (s *GoogleCloudSecuritycenterV1ResourceValueConfig) MarshalJSON() ([]byte, error) { 2692 type NoMethod GoogleCloudSecuritycenterV1ResourceValueConfig 2693 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 2694 } 2695 2696 // GoogleCloudSecuritycenterV1RunAssetDiscoveryResponse: Response of asset 2697 // discovery run 2698 type GoogleCloudSecuritycenterV1RunAssetDiscoveryResponse struct { 2699 // Duration: The duration between asset discovery run start and end 2700 Duration string `json:"duration,omitempty"` 2701 // State: The state of an asset discovery run. 2702 // 2703 // Possible values: 2704 // "STATE_UNSPECIFIED" - Asset discovery run state was unspecified. 2705 // "COMPLETED" - Asset discovery run completed successfully. 2706 // "SUPERSEDED" - Asset discovery run was cancelled with tasks still pending, 2707 // as another run for the same organization was started with a higher priority. 2708 // "TERMINATED" - Asset discovery run was killed and terminated. 2709 State string `json:"state,omitempty"` 2710 // ForceSendFields is a list of field names (e.g. "Duration") to 2711 // unconditionally include in API requests. By default, fields with empty or 2712 // default values are omitted from API requests. See 2713 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 2714 // details. 2715 ForceSendFields []string `json:"-"` 2716 // NullFields is a list of field names (e.g. "Duration") to include in API 2717 // requests with the JSON null value. By default, fields with empty values are 2718 // omitted from API requests. See 2719 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 2720 NullFields []string `json:"-"` 2721 } 2722 2723 func (s *GoogleCloudSecuritycenterV1RunAssetDiscoveryResponse) MarshalJSON() ([]byte, error) { 2724 type NoMethod GoogleCloudSecuritycenterV1RunAssetDiscoveryResponse 2725 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 2726 } 2727 2728 // GoogleCloudSecuritycenterV1SecurityHealthAnalyticsCustomModule: Represents 2729 // an instance of a Security Health Analytics custom module, including its full 2730 // module name, display name, enablement state, and last updated time. You can 2731 // create a custom module at the organization, folder, or project level. Custom 2732 // modules that you create at the organization or folder level are inherited by 2733 // the child folders and projects. 2734 type GoogleCloudSecuritycenterV1SecurityHealthAnalyticsCustomModule struct { 2735 // AncestorModule: Output only. If empty, indicates that the custom module was 2736 // created in the organization, folder, or project in which you are viewing the 2737 // custom module. Otherwise, `ancestor_module` specifies the organization or 2738 // folder from which the custom module is inherited. 2739 AncestorModule string `json:"ancestorModule,omitempty"` 2740 // CustomConfig: The user specified custom configuration for the module. 2741 CustomConfig *GoogleCloudSecuritycenterV1CustomConfig `json:"customConfig,omitempty"` 2742 // DisplayName: The display name of the Security Health Analytics custom 2743 // module. This display name becomes the finding category for all findings that 2744 // are returned by this custom module. The display name must be between 1 and 2745 // 128 characters, start with a lowercase letter, and contain alphanumeric 2746 // characters or underscores only. 2747 DisplayName string `json:"displayName,omitempty"` 2748 // EnablementState: The enablement state of the custom module. 2749 // 2750 // Possible values: 2751 // "ENABLEMENT_STATE_UNSPECIFIED" - Unspecified enablement state. 2752 // "ENABLED" - The module is enabled at the given CRM resource. 2753 // "DISABLED" - The module is disabled at the given CRM resource. 2754 // "INHERITED" - State is inherited from an ancestor module. The module will 2755 // either be effectively ENABLED or DISABLED based on its closest non-inherited 2756 // ancestor module in the CRM hierarchy. 2757 EnablementState string `json:"enablementState,omitempty"` 2758 // LastEditor: Output only. The editor that last updated the custom module. 2759 LastEditor string `json:"lastEditor,omitempty"` 2760 // Name: Immutable. The resource name of the custom module. Its format is 2761 // "organizations/{organization}/securityHealthAnalyticsSettings/customModules/{ 2762 // customModule}", or 2763 // "folders/{folder}/securityHealthAnalyticsSettings/customModules/{customModule 2764 // }", or 2765 // "projects/{project}/securityHealthAnalyticsSettings/customModules/{customModu 2766 // le}" The id {customModule} is server-generated and is not user settable. It 2767 // will be a numeric id containing 1-20 digits. 2768 Name string `json:"name,omitempty"` 2769 // UpdateTime: Output only. The time at which the custom module was last 2770 // updated. 2771 UpdateTime string `json:"updateTime,omitempty"` 2772 // ForceSendFields is a list of field names (e.g. "AncestorModule") to 2773 // unconditionally include in API requests. By default, fields with empty or 2774 // default values are omitted from API requests. See 2775 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 2776 // details. 2777 ForceSendFields []string `json:"-"` 2778 // NullFields is a list of field names (e.g. "AncestorModule") to include in 2779 // API requests with the JSON null value. By default, fields with empty values 2780 // are omitted from API requests. See 2781 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 2782 NullFields []string `json:"-"` 2783 } 2784 2785 func (s *GoogleCloudSecuritycenterV1SecurityHealthAnalyticsCustomModule) MarshalJSON() ([]byte, error) { 2786 type NoMethod GoogleCloudSecuritycenterV1SecurityHealthAnalyticsCustomModule 2787 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 2788 } 2789 2790 // GoogleCloudSecuritycenterV1SensitiveDataProtectionMapping: Resource value 2791 // mapping for Sensitive Data Protection findings. If any of these mappings 2792 // have a resource value that is not unspecified, the resource_value field will 2793 // be ignored when reading this configuration. 2794 type GoogleCloudSecuritycenterV1SensitiveDataProtectionMapping struct { 2795 // HighSensitivityMapping: Resource value mapping for high-sensitivity 2796 // Sensitive Data Protection findings 2797 // 2798 // Possible values: 2799 // "RESOURCE_VALUE_UNSPECIFIED" - Unspecific value 2800 // "HIGH" - High resource value 2801 // "MEDIUM" - Medium resource value 2802 // "LOW" - Low resource value 2803 // "NONE" - No resource value, e.g. ignore these resources 2804 HighSensitivityMapping string `json:"highSensitivityMapping,omitempty"` 2805 // MediumSensitivityMapping: Resource value mapping for medium-sensitivity 2806 // Sensitive Data Protection findings 2807 // 2808 // Possible values: 2809 // "RESOURCE_VALUE_UNSPECIFIED" - Unspecific value 2810 // "HIGH" - High resource value 2811 // "MEDIUM" - Medium resource value 2812 // "LOW" - Low resource value 2813 // "NONE" - No resource value, e.g. ignore these resources 2814 MediumSensitivityMapping string `json:"mediumSensitivityMapping,omitempty"` 2815 // ForceSendFields is a list of field names (e.g. "HighSensitivityMapping") to 2816 // unconditionally include in API requests. By default, fields with empty or 2817 // default values are omitted from API requests. See 2818 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 2819 // details. 2820 ForceSendFields []string `json:"-"` 2821 // NullFields is a list of field names (e.g. "HighSensitivityMapping") to 2822 // include in API requests with the JSON null value. By default, fields with 2823 // empty values are omitted from API requests. See 2824 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 2825 NullFields []string `json:"-"` 2826 } 2827 2828 func (s *GoogleCloudSecuritycenterV1SensitiveDataProtectionMapping) MarshalJSON() ([]byte, error) { 2829 type NoMethod GoogleCloudSecuritycenterV1SensitiveDataProtectionMapping 2830 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 2831 } 2832 2833 // GoogleCloudSecuritycenterV1beta1Finding: Security Command Center finding. A 2834 // finding is a record of assessment data (security, risk, health or privacy) 2835 // ingested into Security Command Center for presentation, notification, 2836 // analysis, policy testing, and enforcement. For example, an XSS vulnerability 2837 // in an App Engine application is a finding. 2838 type GoogleCloudSecuritycenterV1beta1Finding struct { 2839 // Category: The additional taxonomy group within findings from a given source. 2840 // This field is immutable after creation time. Example: "XSS_FLASH_INJECTION" 2841 Category string `json:"category,omitempty"` 2842 // CreateTime: The time at which the finding was created in Security Command 2843 // Center. 2844 CreateTime string `json:"createTime,omitempty"` 2845 // EventTime: The time at which the event took place, or when an update to the 2846 // finding occurred. For example, if the finding represents an open firewall it 2847 // would capture the time the detector believes the firewall became open. The 2848 // accuracy is determined by the detector. If the finding were to be resolved 2849 // afterward, this time would reflect when the finding was resolved. 2850 EventTime string `json:"eventTime,omitempty"` 2851 // ExternalUri: The URI that, if available, points to a web page outside of 2852 // Security Command Center where additional information about the finding can 2853 // be found. This field is guaranteed to be either empty or a well formed URL. 2854 ExternalUri string `json:"externalUri,omitempty"` 2855 // Name: The relative resource name of this finding. See: 2856 // https://cloud.google.com/apis/design/resource_names#relative_resource_name 2857 // Example: 2858 // "organizations/{organization_id}/sources/{source_id}/findings/{finding_id}" 2859 Name string `json:"name,omitempty"` 2860 // Parent: Immutable. The relative resource name of the source the finding 2861 // belongs to. See: 2862 // https://cloud.google.com/apis/design/resource_names#relative_resource_name 2863 // This field is immutable after creation time. For example: 2864 // "organizations/{organization_id}/sources/{source_id}" 2865 Parent string `json:"parent,omitempty"` 2866 // ResourceName: For findings on Google Cloud resources, the full resource name 2867 // of the Google Cloud resource this finding is for. See: 2868 // https://cloud.google.com/apis/design/resource_names#full_resource_name When 2869 // the finding is for a non-Google Cloud resource, the resourceName can be a 2870 // customer or partner defined string. This field is immutable after creation 2871 // time. 2872 ResourceName string `json:"resourceName,omitempty"` 2873 // SecurityMarks: Output only. User specified security marks. These marks are 2874 // entirely managed by the user and come from the SecurityMarks resource that 2875 // belongs to the finding. 2876 SecurityMarks *GoogleCloudSecuritycenterV1beta1SecurityMarks `json:"securityMarks,omitempty"` 2877 // SourceProperties: Source specific properties. These properties are managed 2878 // by the source that writes the finding. The key names in the 2879 // source_properties map must be between 1 and 255 characters, and must start 2880 // with a letter and contain alphanumeric characters or underscores only. 2881 SourceProperties googleapi.RawMessage `json:"sourceProperties,omitempty"` 2882 // State: The state of the finding. 2883 // 2884 // Possible values: 2885 // "STATE_UNSPECIFIED" - Unspecified state. 2886 // "ACTIVE" - The finding requires attention and has not been addressed yet. 2887 // "INACTIVE" - The finding has been fixed, triaged as a non-issue or 2888 // otherwise addressed and is no longer active. 2889 State string `json:"state,omitempty"` 2890 2891 // ServerResponse contains the HTTP response code and headers from the server. 2892 googleapi.ServerResponse `json:"-"` 2893 // ForceSendFields is a list of field names (e.g. "Category") to 2894 // unconditionally include in API requests. By default, fields with empty or 2895 // default values are omitted from API requests. See 2896 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 2897 // details. 2898 ForceSendFields []string `json:"-"` 2899 // NullFields is a list of field names (e.g. "Category") to include in API 2900 // requests with the JSON null value. By default, fields with empty values are 2901 // omitted from API requests. See 2902 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 2903 NullFields []string `json:"-"` 2904 } 2905 2906 func (s *GoogleCloudSecuritycenterV1beta1Finding) MarshalJSON() ([]byte, error) { 2907 type NoMethod GoogleCloudSecuritycenterV1beta1Finding 2908 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 2909 } 2910 2911 // GoogleCloudSecuritycenterV1beta1RunAssetDiscoveryResponse: Response of asset 2912 // discovery run 2913 type GoogleCloudSecuritycenterV1beta1RunAssetDiscoveryResponse struct { 2914 // Duration: The duration between asset discovery run start and end 2915 Duration string `json:"duration,omitempty"` 2916 // State: The state of an asset discovery run. 2917 // 2918 // Possible values: 2919 // "STATE_UNSPECIFIED" - Asset discovery run state was unspecified. 2920 // "COMPLETED" - Asset discovery run completed successfully. 2921 // "SUPERSEDED" - Asset discovery run was cancelled with tasks still pending, 2922 // as another run for the same organization was started with a higher priority. 2923 // "TERMINATED" - Asset discovery run was killed and terminated. 2924 State string `json:"state,omitempty"` 2925 // ForceSendFields is a list of field names (e.g. "Duration") to 2926 // unconditionally include in API requests. By default, fields with empty or 2927 // default values are omitted from API requests. See 2928 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 2929 // details. 2930 ForceSendFields []string `json:"-"` 2931 // NullFields is a list of field names (e.g. "Duration") to include in API 2932 // requests with the JSON null value. By default, fields with empty values are 2933 // omitted from API requests. See 2934 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 2935 NullFields []string `json:"-"` 2936 } 2937 2938 func (s *GoogleCloudSecuritycenterV1beta1RunAssetDiscoveryResponse) MarshalJSON() ([]byte, error) { 2939 type NoMethod GoogleCloudSecuritycenterV1beta1RunAssetDiscoveryResponse 2940 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 2941 } 2942 2943 // GoogleCloudSecuritycenterV1beta1SecurityMarks: User specified security marks 2944 // that are attached to the parent Security Command Center resource. Security 2945 // marks are scoped within a Security Command Center organization -- they can 2946 // be modified and viewed by all users who have proper permissions on the 2947 // organization. 2948 type GoogleCloudSecuritycenterV1beta1SecurityMarks struct { 2949 // Marks: Mutable user specified security marks belonging to the parent 2950 // resource. Constraints are as follows: * Keys and values are treated as case 2951 // insensitive * Keys must be between 1 - 256 characters (inclusive) * Keys 2952 // must be letters, numbers, underscores, or dashes * Values have leading and 2953 // trailing whitespace trimmed, remaining characters must be between 1 - 4096 2954 // characters (inclusive) 2955 Marks map[string]string `json:"marks,omitempty"` 2956 // Name: The relative resource name of the SecurityMarks. See: 2957 // https://cloud.google.com/apis/design/resource_names#relative_resource_name 2958 // Examples: "organizations/{organization_id}/assets/{asset_id}/securityMarks" 2959 // "organizations/{organization_id}/sources/{source_id}/findings/{finding_id}/se 2960 // curityMarks". 2961 Name string `json:"name,omitempty"` 2962 2963 // ServerResponse contains the HTTP response code and headers from the server. 2964 googleapi.ServerResponse `json:"-"` 2965 // ForceSendFields is a list of field names (e.g. "Marks") to unconditionally 2966 // include in API requests. By default, fields with empty or default values are 2967 // omitted from API requests. See 2968 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 2969 // details. 2970 ForceSendFields []string `json:"-"` 2971 // NullFields is a list of field names (e.g. "Marks") to include in API 2972 // requests with the JSON null value. By default, fields with empty values are 2973 // omitted from API requests. See 2974 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 2975 NullFields []string `json:"-"` 2976 } 2977 2978 func (s *GoogleCloudSecuritycenterV1beta1SecurityMarks) MarshalJSON() ([]byte, error) { 2979 type NoMethod GoogleCloudSecuritycenterV1beta1SecurityMarks 2980 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 2981 } 2982 2983 // GoogleCloudSecuritycenterV1p1beta1Finding: Security Command Center finding. 2984 // A finding is a record of assessment data (security, risk, health or privacy) 2985 // ingested into Security Command Center for presentation, notification, 2986 // analysis, policy testing, and enforcement. For example, an XSS vulnerability 2987 // in an App Engine application is a finding. 2988 type GoogleCloudSecuritycenterV1p1beta1Finding struct { 2989 // CanonicalName: The canonical name of the finding. It's either 2990 // "organizations/{organization_id}/sources/{source_id}/findings/{finding_id}", 2991 // "folders/{folder_id}/sources/{source_id}/findings/{finding_id}" or 2992 // "projects/{project_number}/sources/{source_id}/findings/{finding_id}", 2993 // depending on the closest CRM ancestor of the resource associated with the 2994 // finding. 2995 CanonicalName string `json:"canonicalName,omitempty"` 2996 // Category: The additional taxonomy group within findings from a given source. 2997 // This field is immutable after creation time. Example: "XSS_FLASH_INJECTION" 2998 Category string `json:"category,omitempty"` 2999 // CreateTime: The time at which the finding was created in Security Command 3000 // Center. 3001 CreateTime string `json:"createTime,omitempty"` 3002 // EventTime: The time at which the event took place, or when an update to the 3003 // finding occurred. For example, if the finding represents an open firewall it 3004 // would capture the time the detector believes the firewall became open. The 3005 // accuracy is determined by the detector. If the finding were to be resolved 3006 // afterward, this time would reflect when the finding was resolved. Must not 3007 // be set to a value greater than the current timestamp. 3008 EventTime string `json:"eventTime,omitempty"` 3009 // ExternalUri: The URI that, if available, points to a web page outside of 3010 // Security Command Center where additional information about the finding can 3011 // be found. This field is guaranteed to be either empty or a well formed URL. 3012 ExternalUri string `json:"externalUri,omitempty"` 3013 // Name: The relative resource name of this finding. See: 3014 // https://cloud.google.com/apis/design/resource_names#relative_resource_name 3015 // Example: 3016 // "organizations/{organization_id}/sources/{source_id}/findings/{finding_id}" 3017 Name string `json:"name,omitempty"` 3018 // Parent: The relative resource name of the source the finding belongs to. 3019 // See: 3020 // https://cloud.google.com/apis/design/resource_names#relative_resource_name 3021 // This field is immutable after creation time. For example: 3022 // "organizations/{organization_id}/sources/{source_id}" 3023 Parent string `json:"parent,omitempty"` 3024 // ResourceName: For findings on Google Cloud resources, the full resource name 3025 // of the Google Cloud resource this finding is for. See: 3026 // https://cloud.google.com/apis/design/resource_names#full_resource_name When 3027 // the finding is for a non-Google Cloud resource, the resourceName can be a 3028 // customer or partner defined string. This field is immutable after creation 3029 // time. 3030 ResourceName string `json:"resourceName,omitempty"` 3031 // SecurityMarks: Output only. User specified security marks. These marks are 3032 // entirely managed by the user and come from the SecurityMarks resource that 3033 // belongs to the finding. 3034 SecurityMarks *GoogleCloudSecuritycenterV1p1beta1SecurityMarks `json:"securityMarks,omitempty"` 3035 // Severity: The severity of the finding. This field is managed by the source 3036 // that writes the finding. 3037 // 3038 // Possible values: 3039 // "SEVERITY_UNSPECIFIED" - No severity specified. The default value. 3040 // "CRITICAL" - Critical severity. 3041 // "HIGH" - High severity. 3042 // "MEDIUM" - Medium severity. 3043 // "LOW" - Low severity. 3044 Severity string `json:"severity,omitempty"` 3045 // SourceProperties: Source specific properties. These properties are managed 3046 // by the source that writes the finding. The key names in the 3047 // source_properties map must be between 1 and 255 characters, and must start 3048 // with a letter and contain alphanumeric characters or underscores only. 3049 SourceProperties googleapi.RawMessage `json:"sourceProperties,omitempty"` 3050 // State: The state of the finding. 3051 // 3052 // Possible values: 3053 // "STATE_UNSPECIFIED" - Unspecified state. 3054 // "ACTIVE" - The finding requires attention and has not been addressed yet. 3055 // "INACTIVE" - The finding has been fixed, triaged as a non-issue or 3056 // otherwise addressed and is no longer active. 3057 State string `json:"state,omitempty"` 3058 // ForceSendFields is a list of field names (e.g. "CanonicalName") to 3059 // unconditionally include in API requests. By default, fields with empty or 3060 // default values are omitted from API requests. See 3061 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 3062 // details. 3063 ForceSendFields []string `json:"-"` 3064 // NullFields is a list of field names (e.g. "CanonicalName") to include in API 3065 // requests with the JSON null value. By default, fields with empty values are 3066 // omitted from API requests. See 3067 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 3068 NullFields []string `json:"-"` 3069 } 3070 3071 func (s *GoogleCloudSecuritycenterV1p1beta1Finding) MarshalJSON() ([]byte, error) { 3072 type NoMethod GoogleCloudSecuritycenterV1p1beta1Finding 3073 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 3074 } 3075 3076 // GoogleCloudSecuritycenterV1p1beta1Folder: Message that contains the resource 3077 // name and display name of a folder resource. 3078 type GoogleCloudSecuritycenterV1p1beta1Folder struct { 3079 // ResourceFolder: Full resource name of this folder. See: 3080 // https://cloud.google.com/apis/design/resource_names#full_resource_name 3081 ResourceFolder string `json:"resourceFolder,omitempty"` 3082 // ResourceFolderDisplayName: The user defined display name for this folder. 3083 ResourceFolderDisplayName string `json:"resourceFolderDisplayName,omitempty"` 3084 // ForceSendFields is a list of field names (e.g. "ResourceFolder") to 3085 // unconditionally include in API requests. By default, fields with empty or 3086 // default values are omitted from API requests. See 3087 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 3088 // details. 3089 ForceSendFields []string `json:"-"` 3090 // NullFields is a list of field names (e.g. "ResourceFolder") to include in 3091 // API requests with the JSON null value. By default, fields with empty values 3092 // are omitted from API requests. See 3093 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 3094 NullFields []string `json:"-"` 3095 } 3096 3097 func (s *GoogleCloudSecuritycenterV1p1beta1Folder) MarshalJSON() ([]byte, error) { 3098 type NoMethod GoogleCloudSecuritycenterV1p1beta1Folder 3099 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 3100 } 3101 3102 // GoogleCloudSecuritycenterV1p1beta1NotificationMessage: Security Command 3103 // Center's Notification 3104 type GoogleCloudSecuritycenterV1p1beta1NotificationMessage struct { 3105 // Finding: If it's a Finding based notification config, this field will be 3106 // populated. 3107 Finding *GoogleCloudSecuritycenterV1p1beta1Finding `json:"finding,omitempty"` 3108 // NotificationConfigName: Name of the notification config that generated 3109 // current notification. 3110 NotificationConfigName string `json:"notificationConfigName,omitempty"` 3111 // Resource: The Cloud resource tied to the notification. 3112 Resource *GoogleCloudSecuritycenterV1p1beta1Resource `json:"resource,omitempty"` 3113 // ForceSendFields is a list of field names (e.g. "Finding") to unconditionally 3114 // include in API requests. By default, fields with empty or default values are 3115 // omitted from API requests. See 3116 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 3117 // details. 3118 ForceSendFields []string `json:"-"` 3119 // NullFields is a list of field names (e.g. "Finding") to include in API 3120 // requests with the JSON null value. By default, fields with empty values are 3121 // omitted from API requests. See 3122 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 3123 NullFields []string `json:"-"` 3124 } 3125 3126 func (s *GoogleCloudSecuritycenterV1p1beta1NotificationMessage) MarshalJSON() ([]byte, error) { 3127 type NoMethod GoogleCloudSecuritycenterV1p1beta1NotificationMessage 3128 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 3129 } 3130 3131 // GoogleCloudSecuritycenterV1p1beta1Resource: Information related to the 3132 // Google Cloud resource. 3133 type GoogleCloudSecuritycenterV1p1beta1Resource struct { 3134 // Folders: Output only. Contains a Folder message for each folder in the 3135 // assets ancestry. The first folder is the deepest nested folder, and the last 3136 // folder is the folder directly under the Organization. 3137 Folders []*GoogleCloudSecuritycenterV1p1beta1Folder `json:"folders,omitempty"` 3138 // Name: The full resource name of the resource. See: 3139 // https://cloud.google.com/apis/design/resource_names#full_resource_name 3140 Name string `json:"name,omitempty"` 3141 // Parent: The full resource name of resource's parent. 3142 Parent string `json:"parent,omitempty"` 3143 // ParentDisplayName: The human readable name of resource's parent. 3144 ParentDisplayName string `json:"parentDisplayName,omitempty"` 3145 // Project: The full resource name of project that the resource belongs to. 3146 Project string `json:"project,omitempty"` 3147 // ProjectDisplayName: The project id that the resource belongs to. 3148 ProjectDisplayName string `json:"projectDisplayName,omitempty"` 3149 // ForceSendFields is a list of field names (e.g. "Folders") to unconditionally 3150 // include in API requests. By default, fields with empty or default values are 3151 // omitted from API requests. See 3152 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 3153 // details. 3154 ForceSendFields []string `json:"-"` 3155 // NullFields is a list of field names (e.g. "Folders") to include in API 3156 // requests with the JSON null value. By default, fields with empty values are 3157 // omitted from API requests. See 3158 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 3159 NullFields []string `json:"-"` 3160 } 3161 3162 func (s *GoogleCloudSecuritycenterV1p1beta1Resource) MarshalJSON() ([]byte, error) { 3163 type NoMethod GoogleCloudSecuritycenterV1p1beta1Resource 3164 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 3165 } 3166 3167 // GoogleCloudSecuritycenterV1p1beta1RunAssetDiscoveryResponse: Response of 3168 // asset discovery run 3169 type GoogleCloudSecuritycenterV1p1beta1RunAssetDiscoveryResponse struct { 3170 // Duration: The duration between asset discovery run start and end 3171 Duration string `json:"duration,omitempty"` 3172 // State: The state of an asset discovery run. 3173 // 3174 // Possible values: 3175 // "STATE_UNSPECIFIED" - Asset discovery run state was unspecified. 3176 // "COMPLETED" - Asset discovery run completed successfully. 3177 // "SUPERSEDED" - Asset discovery run was cancelled with tasks still pending, 3178 // as another run for the same organization was started with a higher priority. 3179 // "TERMINATED" - Asset discovery run was killed and terminated. 3180 State string `json:"state,omitempty"` 3181 // ForceSendFields is a list of field names (e.g. "Duration") to 3182 // unconditionally include in API requests. By default, fields with empty or 3183 // default values are omitted from API requests. See 3184 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 3185 // details. 3186 ForceSendFields []string `json:"-"` 3187 // NullFields is a list of field names (e.g. "Duration") to include in API 3188 // requests with the JSON null value. By default, fields with empty values are 3189 // omitted from API requests. See 3190 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 3191 NullFields []string `json:"-"` 3192 } 3193 3194 func (s *GoogleCloudSecuritycenterV1p1beta1RunAssetDiscoveryResponse) MarshalJSON() ([]byte, error) { 3195 type NoMethod GoogleCloudSecuritycenterV1p1beta1RunAssetDiscoveryResponse 3196 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 3197 } 3198 3199 // GoogleCloudSecuritycenterV1p1beta1SecurityMarks: User specified security 3200 // marks that are attached to the parent Security Command Center resource. 3201 // Security marks are scoped within a Security Command Center organization -- 3202 // they can be modified and viewed by all users who have proper permissions on 3203 // the organization. 3204 type GoogleCloudSecuritycenterV1p1beta1SecurityMarks struct { 3205 // CanonicalName: The canonical name of the marks. Examples: 3206 // "organizations/{organization_id}/assets/{asset_id}/securityMarks" 3207 // "folders/{folder_id}/assets/{asset_id}/securityMarks" 3208 // "projects/{project_number}/assets/{asset_id}/securityMarks" 3209 // "organizations/{organization_id}/sources/{source_id}/findings/{finding_id}/se 3210 // curityMarks" 3211 // "folders/{folder_id}/sources/{source_id}/findings/{finding_id}/securityMarks" 3212 // 3213 // "projects/{project_number}/sources/{source_id}/findings/{finding_id}/security 3214 // Marks" 3215 CanonicalName string `json:"canonicalName,omitempty"` 3216 // Marks: Mutable user specified security marks belonging to the parent 3217 // resource. Constraints are as follows: * Keys and values are treated as case 3218 // insensitive * Keys must be between 1 - 256 characters (inclusive) * Keys 3219 // must be letters, numbers, underscores, or dashes * Values have leading and 3220 // trailing whitespace trimmed, remaining characters must be between 1 - 4096 3221 // characters (inclusive) 3222 Marks map[string]string `json:"marks,omitempty"` 3223 // Name: The relative resource name of the SecurityMarks. See: 3224 // https://cloud.google.com/apis/design/resource_names#relative_resource_name 3225 // Examples: "organizations/{organization_id}/assets/{asset_id}/securityMarks" 3226 // "organizations/{organization_id}/sources/{source_id}/findings/{finding_id}/se 3227 // curityMarks". 3228 Name string `json:"name,omitempty"` 3229 // ForceSendFields is a list of field names (e.g. "CanonicalName") to 3230 // unconditionally include in API requests. By default, fields with empty or 3231 // default values are omitted from API requests. See 3232 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 3233 // details. 3234 ForceSendFields []string `json:"-"` 3235 // NullFields is a list of field names (e.g. "CanonicalName") to include in API 3236 // requests with the JSON null value. By default, fields with empty values are 3237 // omitted from API requests. See 3238 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 3239 NullFields []string `json:"-"` 3240 } 3241 3242 func (s *GoogleCloudSecuritycenterV1p1beta1SecurityMarks) MarshalJSON() ([]byte, error) { 3243 type NoMethod GoogleCloudSecuritycenterV1p1beta1SecurityMarks 3244 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 3245 } 3246 3247 // GoogleCloudSecuritycenterV2Access: Represents an access event. 3248 type GoogleCloudSecuritycenterV2Access struct { 3249 // CallerIp: Caller's IP address, such as "1.1.1.1". 3250 CallerIp string `json:"callerIp,omitempty"` 3251 // CallerIpGeo: The caller IP's geolocation, which identifies where the call 3252 // came from. 3253 CallerIpGeo *GoogleCloudSecuritycenterV2Geolocation `json:"callerIpGeo,omitempty"` 3254 // MethodName: The method that the service account called, e.g. "SetIamPolicy". 3255 MethodName string `json:"methodName,omitempty"` 3256 // PrincipalEmail: Associated email, such as "foo@google.com". The email 3257 // address of the authenticated user or a service account acting on behalf of a 3258 // third party principal making the request. For third party identity callers, 3259 // the `principal_subject` field is populated instead of this field. For 3260 // privacy reasons, the principal email address is sometimes redacted. For more 3261 // information, see Caller identities in audit logs 3262 // (https://cloud.google.com/logging/docs/audit#user-id). 3263 PrincipalEmail string `json:"principalEmail,omitempty"` 3264 // PrincipalSubject: A string that represents the principal_subject that is 3265 // associated with the identity. Unlike `principal_email`, `principal_subject` 3266 // supports principals that aren't associated with email addresses, such as 3267 // third party principals. For most identities, the format is 3268 // `principal://iam.googleapis.com/{identity pool name}/subject/{subject}`. 3269 // Some GKE identities, such as GKE_WORKLOAD, FREEFORM, and GKE_HUB_WORKLOAD, 3270 // still use the legacy format `serviceAccount:{identity pool 3271 // name}[{subject}]`. 3272 PrincipalSubject string `json:"principalSubject,omitempty"` 3273 // ServiceAccountDelegationInfo: The identity delegation history of an 3274 // authenticated service account that made the request. The 3275 // `serviceAccountDelegationInfo[]` object contains information about the real 3276 // authorities that try to access Google Cloud resources by delegating on a 3277 // service account. When multiple authorities are present, they are guaranteed 3278 // to be sorted based on the original ordering of the identity delegation 3279 // events. 3280 ServiceAccountDelegationInfo []*GoogleCloudSecuritycenterV2ServiceAccountDelegationInfo `json:"serviceAccountDelegationInfo,omitempty"` 3281 // ServiceAccountKeyName: The name of the service account key that was used to 3282 // create or exchange credentials when authenticating the service account that 3283 // made the request. This is a scheme-less URI full resource name. For example: 3284 // "//iam.googleapis.com/projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}/keys/{k 3285 // ey}". 3286 ServiceAccountKeyName string `json:"serviceAccountKeyName,omitempty"` 3287 // ServiceName: This is the API service that the service account made a call 3288 // to, e.g. "iam.googleapis.com" 3289 ServiceName string `json:"serviceName,omitempty"` 3290 // UserAgent: The caller's user agent string associated with the finding. 3291 UserAgent string `json:"userAgent,omitempty"` 3292 // UserAgentFamily: Type of user agent associated with the finding. For 3293 // example, an operating system shell or an embedded or standalone application. 3294 UserAgentFamily string `json:"userAgentFamily,omitempty"` 3295 // UserName: A string that represents a username. The username provided depends 3296 // on the type of the finding and is likely not an IAM principal. For example, 3297 // this can be a system username if the finding is related to a virtual 3298 // machine, or it can be an application login username. 3299 UserName string `json:"userName,omitempty"` 3300 // ForceSendFields is a list of field names (e.g. "CallerIp") to 3301 // unconditionally include in API requests. By default, fields with empty or 3302 // default values are omitted from API requests. See 3303 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 3304 // details. 3305 ForceSendFields []string `json:"-"` 3306 // NullFields is a list of field names (e.g. "CallerIp") to include in API 3307 // requests with the JSON null value. By default, fields with empty values are 3308 // omitted from API requests. See 3309 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 3310 NullFields []string `json:"-"` 3311 } 3312 3313 func (s *GoogleCloudSecuritycenterV2Access) MarshalJSON() ([]byte, error) { 3314 type NoMethod GoogleCloudSecuritycenterV2Access 3315 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 3316 } 3317 3318 // GoogleCloudSecuritycenterV2AccessReview: Conveys information about a 3319 // Kubernetes access review (such as one returned by a `kubectl auth can-i` 3320 // (https://kubernetes.io/docs/reference/access-authn-authz/authorization/#checking-api-access) 3321 // command) that was involved in a finding. 3322 type GoogleCloudSecuritycenterV2AccessReview struct { 3323 // Group: The API group of the resource. "*" means all. 3324 Group string `json:"group,omitempty"` 3325 // Name: The name of the resource being requested. Empty means all. 3326 Name string `json:"name,omitempty"` 3327 // Ns: Namespace of the action being requested. Currently, there is no 3328 // distinction between no namespace and all namespaces. Both are represented by 3329 // "" (empty). 3330 Ns string `json:"ns,omitempty"` 3331 // Resource: The optional resource type requested. "*" means all. 3332 Resource string `json:"resource,omitempty"` 3333 // Subresource: The optional subresource type. 3334 Subresource string `json:"subresource,omitempty"` 3335 // Verb: A Kubernetes resource API verb, like get, list, watch, create, update, 3336 // delete, proxy. "*" means all. 3337 Verb string `json:"verb,omitempty"` 3338 // Version: The API version of the resource. "*" means all. 3339 Version string `json:"version,omitempty"` 3340 // ForceSendFields is a list of field names (e.g. "Group") to unconditionally 3341 // include in API requests. By default, fields with empty or default values are 3342 // omitted from API requests. See 3343 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 3344 // details. 3345 ForceSendFields []string `json:"-"` 3346 // NullFields is a list of field names (e.g. "Group") to include in API 3347 // requests with the JSON null value. By default, fields with empty values are 3348 // omitted from API requests. See 3349 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 3350 NullFields []string `json:"-"` 3351 } 3352 3353 func (s *GoogleCloudSecuritycenterV2AccessReview) MarshalJSON() ([]byte, error) { 3354 type NoMethod GoogleCloudSecuritycenterV2AccessReview 3355 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 3356 } 3357 3358 // GoogleCloudSecuritycenterV2AdaptiveProtection: Information about Google 3359 // Cloud Armor Adaptive Protection 3360 // (https://cloud.google.com/armor/docs/cloud-armor-overview#google-cloud-armor-adaptive-protection). 3361 type GoogleCloudSecuritycenterV2AdaptiveProtection struct { 3362 // Confidence: A score of 0 means that there is low confidence that the 3363 // detected event is an actual attack. A score of 1 means that there is high 3364 // confidence that the detected event is an attack. See the Adaptive Protection 3365 // documentation 3366 // (https://cloud.google.com/armor/docs/adaptive-protection-overview#configure-alert-tuning) 3367 // for further explanation. 3368 Confidence float64 `json:"confidence,omitempty"` 3369 // ForceSendFields is a list of field names (e.g. "Confidence") to 3370 // unconditionally include in API requests. By default, fields with empty or 3371 // default values are omitted from API requests. See 3372 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 3373 // details. 3374 ForceSendFields []string `json:"-"` 3375 // NullFields is a list of field names (e.g. "Confidence") to include in API 3376 // requests with the JSON null value. By default, fields with empty values are 3377 // omitted from API requests. See 3378 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 3379 NullFields []string `json:"-"` 3380 } 3381 3382 func (s *GoogleCloudSecuritycenterV2AdaptiveProtection) MarshalJSON() ([]byte, error) { 3383 type NoMethod GoogleCloudSecuritycenterV2AdaptiveProtection 3384 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 3385 } 3386 3387 func (s *GoogleCloudSecuritycenterV2AdaptiveProtection) UnmarshalJSON(data []byte) error { 3388 type NoMethod GoogleCloudSecuritycenterV2AdaptiveProtection 3389 var s1 struct { 3390 Confidence gensupport.JSONFloat64 `json:"confidence"` 3391 *NoMethod 3392 } 3393 s1.NoMethod = (*NoMethod)(s) 3394 if err := json.Unmarshal(data, &s1); err != nil { 3395 return err 3396 } 3397 s.Confidence = float64(s1.Confidence) 3398 return nil 3399 } 3400 3401 // GoogleCloudSecuritycenterV2Application: Represents an application associated 3402 // with a finding. 3403 type GoogleCloudSecuritycenterV2Application struct { 3404 // BaseUri: The base URI that identifies the network location of the 3405 // application in which the vulnerability was detected. For example, 3406 // `http://example.com`. 3407 BaseUri string `json:"baseUri,omitempty"` 3408 // FullUri: The full URI with payload that could be used to reproduce the 3409 // vulnerability. For example, `http://example.com?p=aMmYgI6H`. 3410 FullUri string `json:"fullUri,omitempty"` 3411 // ForceSendFields is a list of field names (e.g. "BaseUri") to unconditionally 3412 // include in API requests. By default, fields with empty or default values are 3413 // omitted from API requests. See 3414 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 3415 // details. 3416 ForceSendFields []string `json:"-"` 3417 // NullFields is a list of field names (e.g. "BaseUri") to include in API 3418 // requests with the JSON null value. By default, fields with empty values are 3419 // omitted from API requests. See 3420 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 3421 NullFields []string `json:"-"` 3422 } 3423 3424 func (s *GoogleCloudSecuritycenterV2Application) MarshalJSON() ([]byte, error) { 3425 type NoMethod GoogleCloudSecuritycenterV2Application 3426 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 3427 } 3428 3429 // GoogleCloudSecuritycenterV2Attack: Information about DDoS attack volume and 3430 // classification. 3431 type GoogleCloudSecuritycenterV2Attack struct { 3432 // Classification: Type of attack, for example, 'SYN-flood', 'NTP-udp', or 3433 // 'CHARGEN-udp'. 3434 Classification string `json:"classification,omitempty"` 3435 // VolumeBps: Total BPS (bytes per second) volume of attack. 3436 VolumeBps int64 `json:"volumeBps,omitempty"` 3437 // VolumePps: Total PPS (packets per second) volume of attack. 3438 VolumePps int64 `json:"volumePps,omitempty"` 3439 // ForceSendFields is a list of field names (e.g. "Classification") to 3440 // unconditionally include in API requests. By default, fields with empty or 3441 // default values are omitted from API requests. See 3442 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 3443 // details. 3444 ForceSendFields []string `json:"-"` 3445 // NullFields is a list of field names (e.g. "Classification") to include in 3446 // API requests with the JSON null value. By default, fields with empty values 3447 // are omitted from API requests. See 3448 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 3449 NullFields []string `json:"-"` 3450 } 3451 3452 func (s *GoogleCloudSecuritycenterV2Attack) MarshalJSON() ([]byte, error) { 3453 type NoMethod GoogleCloudSecuritycenterV2Attack 3454 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 3455 } 3456 3457 // GoogleCloudSecuritycenterV2AttackExposure: An attack exposure contains the 3458 // results of an attack path simulation run. 3459 type GoogleCloudSecuritycenterV2AttackExposure struct { 3460 // AttackExposureResult: The resource name of the attack path simulation result 3461 // that contains the details regarding this attack exposure score. Example: 3462 // organizations/123/simulations/456/attackExposureResults/789 3463 AttackExposureResult string `json:"attackExposureResult,omitempty"` 3464 // ExposedHighValueResourcesCount: The number of high value resources that are 3465 // exposed as a result of this finding. 3466 ExposedHighValueResourcesCount int64 `json:"exposedHighValueResourcesCount,omitempty"` 3467 // ExposedLowValueResourcesCount: The number of high value resources that are 3468 // exposed as a result of this finding. 3469 ExposedLowValueResourcesCount int64 `json:"exposedLowValueResourcesCount,omitempty"` 3470 // ExposedMediumValueResourcesCount: The number of medium value resources that 3471 // are exposed as a result of this finding. 3472 ExposedMediumValueResourcesCount int64 `json:"exposedMediumValueResourcesCount,omitempty"` 3473 // LatestCalculationTime: The most recent time the attack exposure was updated 3474 // on this finding. 3475 LatestCalculationTime string `json:"latestCalculationTime,omitempty"` 3476 // Score: A number between 0 (inclusive) and infinity that represents how 3477 // important this finding is to remediate. The higher the score, the more 3478 // important it is to remediate. 3479 Score float64 `json:"score,omitempty"` 3480 // State: Output only. What state this AttackExposure is in. This captures 3481 // whether or not an attack exposure has been calculated or not. 3482 // 3483 // Possible values: 3484 // "STATE_UNSPECIFIED" - The state is not specified. 3485 // "CALCULATED" - The attack exposure has been calculated. 3486 // "NOT_CALCULATED" - The attack exposure has not been calculated. 3487 State string `json:"state,omitempty"` 3488 // ForceSendFields is a list of field names (e.g. "AttackExposureResult") to 3489 // unconditionally include in API requests. By default, fields with empty or 3490 // default values are omitted from API requests. See 3491 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 3492 // details. 3493 ForceSendFields []string `json:"-"` 3494 // NullFields is a list of field names (e.g. "AttackExposureResult") to include 3495 // in API requests with the JSON null value. By default, fields with empty 3496 // values are omitted from API requests. See 3497 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 3498 NullFields []string `json:"-"` 3499 } 3500 3501 func (s *GoogleCloudSecuritycenterV2AttackExposure) MarshalJSON() ([]byte, error) { 3502 type NoMethod GoogleCloudSecuritycenterV2AttackExposure 3503 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 3504 } 3505 3506 func (s *GoogleCloudSecuritycenterV2AttackExposure) UnmarshalJSON(data []byte) error { 3507 type NoMethod GoogleCloudSecuritycenterV2AttackExposure 3508 var s1 struct { 3509 Score gensupport.JSONFloat64 `json:"score"` 3510 *NoMethod 3511 } 3512 s1.NoMethod = (*NoMethod)(s) 3513 if err := json.Unmarshal(data, &s1); err != nil { 3514 return err 3515 } 3516 s.Score = float64(s1.Score) 3517 return nil 3518 } 3519 3520 // GoogleCloudSecuritycenterV2AwsAccount: An AWS account that is a member of an 3521 // organization. 3522 type GoogleCloudSecuritycenterV2AwsAccount struct { 3523 // Id: The unique identifier (ID) of the account, containing exactly 12 digits. 3524 Id string `json:"id,omitempty"` 3525 // Name: The friendly name of this account. 3526 Name string `json:"name,omitempty"` 3527 // ForceSendFields is a list of field names (e.g. "Id") to unconditionally 3528 // include in API requests. By default, fields with empty or default values are 3529 // omitted from API requests. See 3530 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 3531 // details. 3532 ForceSendFields []string `json:"-"` 3533 // NullFields is a list of field names (e.g. "Id") to include in API requests 3534 // with the JSON null value. By default, fields with empty values are omitted 3535 // from API requests. See 3536 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 3537 NullFields []string `json:"-"` 3538 } 3539 3540 func (s *GoogleCloudSecuritycenterV2AwsAccount) MarshalJSON() ([]byte, error) { 3541 type NoMethod GoogleCloudSecuritycenterV2AwsAccount 3542 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 3543 } 3544 3545 // GoogleCloudSecuritycenterV2AwsMetadata: AWS metadata associated with the 3546 // resource, only applicable if the finding's cloud provider is Amazon Web 3547 // Services. 3548 type GoogleCloudSecuritycenterV2AwsMetadata struct { 3549 // Account: The AWS account associated with the resource. 3550 Account *GoogleCloudSecuritycenterV2AwsAccount `json:"account,omitempty"` 3551 // Organization: The AWS organization associated with the resource. 3552 Organization *GoogleCloudSecuritycenterV2AwsOrganization `json:"organization,omitempty"` 3553 // OrganizationalUnits: A list of AWS organizational units associated with the 3554 // resource, ordered from lowest level (closest to the account) to highest 3555 // level. 3556 OrganizationalUnits []*GoogleCloudSecuritycenterV2AwsOrganizationalUnit `json:"organizationalUnits,omitempty"` 3557 // ForceSendFields is a list of field names (e.g. "Account") to unconditionally 3558 // include in API requests. By default, fields with empty or default values are 3559 // omitted from API requests. See 3560 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 3561 // details. 3562 ForceSendFields []string `json:"-"` 3563 // NullFields is a list of field names (e.g. "Account") to include in API 3564 // requests with the JSON null value. By default, fields with empty values are 3565 // omitted from API requests. See 3566 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 3567 NullFields []string `json:"-"` 3568 } 3569 3570 func (s *GoogleCloudSecuritycenterV2AwsMetadata) MarshalJSON() ([]byte, error) { 3571 type NoMethod GoogleCloudSecuritycenterV2AwsMetadata 3572 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 3573 } 3574 3575 // GoogleCloudSecuritycenterV2AwsOrganization: An organization is a collection 3576 // of accounts that are centrally managed together using consolidated billing, 3577 // organized hierarchically with organizational units (OUs), and controlled 3578 // with policies. 3579 type GoogleCloudSecuritycenterV2AwsOrganization struct { 3580 // Id: The unique identifier (ID) for the organization. The regex pattern for 3581 // an organization ID string requires "o-" followed by from 10 to 32 lowercase 3582 // letters or digits. 3583 Id string `json:"id,omitempty"` 3584 // ForceSendFields is a list of field names (e.g. "Id") to unconditionally 3585 // include in API requests. By default, fields with empty or default values are 3586 // omitted from API requests. See 3587 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 3588 // details. 3589 ForceSendFields []string `json:"-"` 3590 // NullFields is a list of field names (e.g. "Id") to include in API requests 3591 // with the JSON null value. By default, fields with empty values are omitted 3592 // from API requests. See 3593 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 3594 NullFields []string `json:"-"` 3595 } 3596 3597 func (s *GoogleCloudSecuritycenterV2AwsOrganization) MarshalJSON() ([]byte, error) { 3598 type NoMethod GoogleCloudSecuritycenterV2AwsOrganization 3599 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 3600 } 3601 3602 // GoogleCloudSecuritycenterV2AwsOrganizationalUnit: An Organizational Unit 3603 // (OU) is a container of AWS accounts within a root of an organization. 3604 // Policies that are attached to an OU apply to all accounts contained in that 3605 // OU and in any child OUs. 3606 type GoogleCloudSecuritycenterV2AwsOrganizationalUnit struct { 3607 // Id: The unique identifier (ID) associated with this OU. The regex pattern 3608 // for an organizational unit ID string requires "ou-" followed by from 4 to 32 3609 // lowercase letters or digits (the ID of the root that contains the OU). This 3610 // string is followed by a second "-" dash and from 8 to 32 additional 3611 // lowercase letters or digits. For example, "ou-ab12-cd34ef56". 3612 Id string `json:"id,omitempty"` 3613 // Name: The friendly name of the OU. 3614 Name string `json:"name,omitempty"` 3615 // ForceSendFields is a list of field names (e.g. "Id") to unconditionally 3616 // include in API requests. By default, fields with empty or default values are 3617 // omitted from API requests. See 3618 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 3619 // details. 3620 ForceSendFields []string `json:"-"` 3621 // NullFields is a list of field names (e.g. "Id") to include in API requests 3622 // with the JSON null value. By default, fields with empty values are omitted 3623 // from API requests. See 3624 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 3625 NullFields []string `json:"-"` 3626 } 3627 3628 func (s *GoogleCloudSecuritycenterV2AwsOrganizationalUnit) MarshalJSON() ([]byte, error) { 3629 type NoMethod GoogleCloudSecuritycenterV2AwsOrganizationalUnit 3630 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 3631 } 3632 3633 // GoogleCloudSecuritycenterV2BackupDisasterRecovery: Information related to 3634 // Google Cloud Backup and DR Service findings. 3635 type GoogleCloudSecuritycenterV2BackupDisasterRecovery struct { 3636 // Appliance: The name of the Backup and DR appliance that captures, moves, and 3637 // manages the lifecycle of backup data. For example, `backup-server-57137`. 3638 Appliance string `json:"appliance,omitempty"` 3639 // Applications: The names of Backup and DR applications. An application is a 3640 // VM, database, or file system on a managed host monitored by a backup and 3641 // recovery appliance. For example, `centos7-01-vol00`, `centos7-01-vol01`, 3642 // `centos7-01-vol02`. 3643 Applications []string `json:"applications,omitempty"` 3644 // BackupCreateTime: The timestamp at which the Backup and DR backup was 3645 // created. 3646 BackupCreateTime string `json:"backupCreateTime,omitempty"` 3647 // BackupTemplate: The name of a Backup and DR template which comprises one or 3648 // more backup policies. See the Backup and DR documentation 3649 // (https://cloud.google.com/backup-disaster-recovery/docs/concepts/backup-plan#temp) 3650 // for more information. For example, `snap-ov`. 3651 BackupTemplate string `json:"backupTemplate,omitempty"` 3652 // BackupType: The backup type of the Backup and DR image. For example, 3653 // `Snapshot`, `Remote Snapshot`, `OnVault`. 3654 BackupType string `json:"backupType,omitempty"` 3655 // Host: The name of a Backup and DR host, which is managed by the backup and 3656 // recovery appliance and known to the management console. The host can be of 3657 // type Generic (for example, Compute Engine, SQL Server, Oracle DB, SMB file 3658 // system, etc.), vCenter, or an ESX server. See the Backup and DR 3659 // documentation on hosts 3660 // (https://cloud.google.com/backup-disaster-recovery/docs/configuration/manage-hosts-and-their-applications) 3661 // for more information. For example, `centos7-01`. 3662 Host string `json:"host,omitempty"` 3663 // Policies: The names of Backup and DR policies that are associated with a 3664 // template and that define when to run a backup, how frequently to run a 3665 // backup, and how long to retain the backup image. For example, `onvaults`. 3666 Policies []string `json:"policies,omitempty"` 3667 // PolicyOptions: The names of Backup and DR advanced policy options of a 3668 // policy applying to an application. See the Backup and DR documentation on 3669 // policy options 3670 // (https://cloud.google.com/backup-disaster-recovery/docs/create-plan/policy-settings). 3671 // For example, `skipofflineappsincongrp, nounmap`. 3672 PolicyOptions []string `json:"policyOptions,omitempty"` 3673 // Profile: The name of the Backup and DR resource profile that specifies the 3674 // storage media for backups of application and VM data. See the Backup and DR 3675 // documentation on profiles 3676 // (https://cloud.google.com/backup-disaster-recovery/docs/concepts/backup-plan#profile). 3677 // For example, `GCP`. 3678 Profile string `json:"profile,omitempty"` 3679 // StoragePool: The name of the Backup and DR storage pool that the backup and 3680 // recovery appliance is storing data in. The storage pool could be of type 3681 // Cloud, Primary, Snapshot, or OnVault. See the Backup and DR documentation on 3682 // storage pools 3683 // (https://cloud.google.com/backup-disaster-recovery/docs/concepts/storage-pools). 3684 // For example, `DiskPoolOne`. 3685 StoragePool string `json:"storagePool,omitempty"` 3686 // ForceSendFields is a list of field names (e.g. "Appliance") to 3687 // unconditionally include in API requests. By default, fields with empty or 3688 // default values are omitted from API requests. See 3689 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 3690 // details. 3691 ForceSendFields []string `json:"-"` 3692 // NullFields is a list of field names (e.g. "Appliance") to include in API 3693 // requests with the JSON null value. By default, fields with empty values are 3694 // omitted from API requests. See 3695 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 3696 NullFields []string `json:"-"` 3697 } 3698 3699 func (s *GoogleCloudSecuritycenterV2BackupDisasterRecovery) MarshalJSON() ([]byte, error) { 3700 type NoMethod GoogleCloudSecuritycenterV2BackupDisasterRecovery 3701 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 3702 } 3703 3704 // GoogleCloudSecuritycenterV2BigQueryExport: Configures how to deliver 3705 // Findings to BigQuery Instance. 3706 type GoogleCloudSecuritycenterV2BigQueryExport struct { 3707 // CreateTime: Output only. The time at which the BigQuery export was created. 3708 // This field is set by the server and will be ignored if provided on export on 3709 // creation. 3710 CreateTime string `json:"createTime,omitempty"` 3711 // Dataset: The dataset to write findings' updates to. Its format is 3712 // "projects/[project_id]/datasets/[bigquery_dataset_id]". BigQuery Dataset 3713 // unique ID must contain only letters (a-z, A-Z), numbers (0-9), or 3714 // underscores (_). 3715 Dataset string `json:"dataset,omitempty"` 3716 // Description: The description of the export (max of 1024 characters). 3717 Description string `json:"description,omitempty"` 3718 // Filter: Expression that defines the filter to apply across create/update 3719 // events of findings. The expression is a list of zero or more restrictions 3720 // combined via logical operators `AND` and `OR`. Parentheses are supported, 3721 // and `OR` has higher precedence than `AND`. Restrictions have the form ` ` 3722 // and may have a `-` character in front of them to indicate negation. The 3723 // fields map to those defined in the corresponding resource. The supported 3724 // operators are: * `=` for all value types. * `>`, `<`, `>=`, `<=` for integer 3725 // values. * `:`, meaning substring matching, for strings. The supported value 3726 // types are: * string literals in quotes. * integer literals without quotes. * 3727 // boolean literals `true` and `false` without quotes. 3728 Filter string `json:"filter,omitempty"` 3729 // MostRecentEditor: Output only. Email address of the user who last edited the 3730 // BigQuery export. This field is set by the server and will be ignored if 3731 // provided on export creation or update. 3732 MostRecentEditor string `json:"mostRecentEditor,omitempty"` 3733 // Name: The relative resource name of this export. See: 3734 // https://cloud.google.com/apis/design/resource_names#relative_resource_name. 3735 // The following list shows some examples: + 3736 // `organizations/{organization_id}/locations/{location_id}/bigQueryExports/{exp 3737 // ort_id}` + 3738 // `folders/{folder_id}/locations/{location_id}/bigQueryExports/{export_id}` + 3739 // `projects/{project_id}/locations/{location_id}/bigQueryExports/{export_id}` 3740 // This field is provided in responses, and is ignored when provided in create 3741 // requests. 3742 Name string `json:"name,omitempty"` 3743 // Principal: Output only. The service account that needs permission to create 3744 // table and upload data to the BigQuery dataset. 3745 Principal string `json:"principal,omitempty"` 3746 // UpdateTime: Output only. The most recent time at which the BigQuery export 3747 // was updated. This field is set by the server and will be ignored if provided 3748 // on export creation or update. 3749 UpdateTime string `json:"updateTime,omitempty"` 3750 // ForceSendFields is a list of field names (e.g. "CreateTime") to 3751 // unconditionally include in API requests. By default, fields with empty or 3752 // default values are omitted from API requests. See 3753 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 3754 // details. 3755 ForceSendFields []string `json:"-"` 3756 // NullFields is a list of field names (e.g. "CreateTime") to include in API 3757 // requests with the JSON null value. By default, fields with empty values are 3758 // omitted from API requests. See 3759 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 3760 NullFields []string `json:"-"` 3761 } 3762 3763 func (s *GoogleCloudSecuritycenterV2BigQueryExport) MarshalJSON() ([]byte, error) { 3764 type NoMethod GoogleCloudSecuritycenterV2BigQueryExport 3765 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 3766 } 3767 3768 // GoogleCloudSecuritycenterV2Binding: Represents a Kubernetes RoleBinding or 3769 // ClusterRoleBinding. 3770 type GoogleCloudSecuritycenterV2Binding struct { 3771 // Name: Name for the binding. 3772 Name string `json:"name,omitempty"` 3773 // Ns: Namespace for the binding. 3774 Ns string `json:"ns,omitempty"` 3775 // Role: The Role or ClusterRole referenced by the binding. 3776 Role *GoogleCloudSecuritycenterV2Role `json:"role,omitempty"` 3777 // Subjects: Represents one or more subjects that are bound to the role. Not 3778 // always available for PATCH requests. 3779 Subjects []*GoogleCloudSecuritycenterV2Subject `json:"subjects,omitempty"` 3780 // ForceSendFields is a list of field names (e.g. "Name") to unconditionally 3781 // include in API requests. By default, fields with empty or default values are 3782 // omitted from API requests. See 3783 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 3784 // details. 3785 ForceSendFields []string `json:"-"` 3786 // NullFields is a list of field names (e.g. "Name") to include in API requests 3787 // with the JSON null value. By default, fields with empty values are omitted 3788 // from API requests. See 3789 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 3790 NullFields []string `json:"-"` 3791 } 3792 3793 func (s *GoogleCloudSecuritycenterV2Binding) MarshalJSON() ([]byte, error) { 3794 type NoMethod GoogleCloudSecuritycenterV2Binding 3795 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 3796 } 3797 3798 // GoogleCloudSecuritycenterV2BulkMuteFindingsResponse: The response to a 3799 // BulkMute request. Contains the LRO information. 3800 type GoogleCloudSecuritycenterV2BulkMuteFindingsResponse struct { 3801 } 3802 3803 // GoogleCloudSecuritycenterV2CloudArmor: Fields related to Google Cloud Armor 3804 // findings. 3805 type GoogleCloudSecuritycenterV2CloudArmor struct { 3806 // AdaptiveProtection: Information about potential Layer 7 DDoS attacks 3807 // identified by Google Cloud Armor Adaptive Protection 3808 // (https://cloud.google.com/armor/docs/adaptive-protection-overview). 3809 AdaptiveProtection *GoogleCloudSecuritycenterV2AdaptiveProtection `json:"adaptiveProtection,omitempty"` 3810 // Attack: Information about DDoS attack volume and classification. 3811 Attack *GoogleCloudSecuritycenterV2Attack `json:"attack,omitempty"` 3812 // Duration: Duration of attack from the start until the current moment 3813 // (updated every 5 minutes). 3814 Duration string `json:"duration,omitempty"` 3815 // Requests: Information about incoming requests evaluated by Google Cloud 3816 // Armor security policies 3817 // (https://cloud.google.com/armor/docs/security-policy-overview). 3818 Requests *GoogleCloudSecuritycenterV2Requests `json:"requests,omitempty"` 3819 // SecurityPolicy: Information about the Google Cloud Armor security policy 3820 // (https://cloud.google.com/armor/docs/security-policy-overview) relevant to 3821 // the finding. 3822 SecurityPolicy *GoogleCloudSecuritycenterV2SecurityPolicy `json:"securityPolicy,omitempty"` 3823 // ThreatVector: Distinguish between volumetric & protocol DDoS attack and 3824 // application layer attacks. For example, "L3_4" for Layer 3 and Layer 4 DDoS 3825 // attacks, or "L_7" for Layer 7 DDoS attacks. 3826 ThreatVector string `json:"threatVector,omitempty"` 3827 // ForceSendFields is a list of field names (e.g. "AdaptiveProtection") to 3828 // unconditionally include in API requests. By default, fields with empty or 3829 // default values are omitted from API requests. See 3830 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 3831 // details. 3832 ForceSendFields []string `json:"-"` 3833 // NullFields is a list of field names (e.g. "AdaptiveProtection") to include 3834 // in API requests with the JSON null value. By default, fields with empty 3835 // values are omitted from API requests. See 3836 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 3837 NullFields []string `json:"-"` 3838 } 3839 3840 func (s *GoogleCloudSecuritycenterV2CloudArmor) MarshalJSON() ([]byte, error) { 3841 type NoMethod GoogleCloudSecuritycenterV2CloudArmor 3842 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 3843 } 3844 3845 // GoogleCloudSecuritycenterV2CloudDlpDataProfile: The data profile 3846 // (https://cloud.google.com/dlp/docs/data-profiles) associated with the 3847 // finding. 3848 type GoogleCloudSecuritycenterV2CloudDlpDataProfile struct { 3849 // DataProfile: Name of the data profile, for example, 3850 // `projects/123/locations/europe/tableProfiles/8383929`. 3851 DataProfile string `json:"dataProfile,omitempty"` 3852 // ParentType: The resource hierarchy level at which the data profile was 3853 // generated. 3854 // 3855 // Possible values: 3856 // "PARENT_TYPE_UNSPECIFIED" - Unspecified parent type. 3857 // "ORGANIZATION" - Organization-level configurations. 3858 // "PROJECT" - Project-level configurations. 3859 ParentType string `json:"parentType,omitempty"` 3860 // ForceSendFields is a list of field names (e.g. "DataProfile") to 3861 // unconditionally include in API requests. By default, fields with empty or 3862 // default values are omitted from API requests. See 3863 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 3864 // details. 3865 ForceSendFields []string `json:"-"` 3866 // NullFields is a list of field names (e.g. "DataProfile") to include in API 3867 // requests with the JSON null value. By default, fields with empty values are 3868 // omitted from API requests. See 3869 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 3870 NullFields []string `json:"-"` 3871 } 3872 3873 func (s *GoogleCloudSecuritycenterV2CloudDlpDataProfile) MarshalJSON() ([]byte, error) { 3874 type NoMethod GoogleCloudSecuritycenterV2CloudDlpDataProfile 3875 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 3876 } 3877 3878 // GoogleCloudSecuritycenterV2CloudDlpInspection: Details about the Cloud Data 3879 // Loss Prevention (Cloud DLP) inspection job 3880 // (https://cloud.google.com/dlp/docs/concepts-job-triggers) that produced the 3881 // finding. 3882 type GoogleCloudSecuritycenterV2CloudDlpInspection struct { 3883 // FullScan: Whether Cloud DLP scanned the complete resource or a sampled 3884 // subset. 3885 FullScan bool `json:"fullScan,omitempty"` 3886 // InfoType: The type of information (or *infoType 3887 // (https://cloud.google.com/dlp/docs/infotypes-reference)*) found, for 3888 // example, `EMAIL_ADDRESS` or `STREET_ADDRESS`. 3889 InfoType string `json:"infoType,omitempty"` 3890 // InfoTypeCount: The number of times Cloud DLP found this infoType within this 3891 // job and resource. 3892 InfoTypeCount int64 `json:"infoTypeCount,omitempty,string"` 3893 // InspectJob: Name of the inspection job, for example, 3894 // `projects/123/locations/europe/dlpJobs/i-8383929`. 3895 InspectJob string `json:"inspectJob,omitempty"` 3896 // ForceSendFields is a list of field names (e.g. "FullScan") to 3897 // unconditionally include in API requests. By default, fields with empty or 3898 // default values are omitted from API requests. See 3899 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 3900 // details. 3901 ForceSendFields []string `json:"-"` 3902 // NullFields is a list of field names (e.g. "FullScan") to include in API 3903 // requests with the JSON null value. By default, fields with empty values are 3904 // omitted from API requests. See 3905 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 3906 NullFields []string `json:"-"` 3907 } 3908 3909 func (s *GoogleCloudSecuritycenterV2CloudDlpInspection) MarshalJSON() ([]byte, error) { 3910 type NoMethod GoogleCloudSecuritycenterV2CloudDlpInspection 3911 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 3912 } 3913 3914 // GoogleCloudSecuritycenterV2CloudLoggingEntry: Metadata taken from a Cloud 3915 // Logging LogEntry 3916 // (https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry) 3917 type GoogleCloudSecuritycenterV2CloudLoggingEntry struct { 3918 // InsertId: A unique identifier for the log entry. 3919 InsertId string `json:"insertId,omitempty"` 3920 // LogId: The type of the log (part of `log_name`. `log_name` is the resource 3921 // name of the log to which this log entry belongs). For example: 3922 // `cloudresourcemanager.googleapis.com/activity` Note that this field is not 3923 // URL-encoded, unlike in `LogEntry`. 3924 LogId string `json:"logId,omitempty"` 3925 // ResourceContainer: The organization, folder, or project of the monitored 3926 // resource that produced this log entry. 3927 ResourceContainer string `json:"resourceContainer,omitempty"` 3928 // Timestamp: The time the event described by the log entry occurred. 3929 Timestamp string `json:"timestamp,omitempty"` 3930 // ForceSendFields is a list of field names (e.g. "InsertId") to 3931 // unconditionally include in API requests. By default, fields with empty or 3932 // default values are omitted from API requests. See 3933 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 3934 // details. 3935 ForceSendFields []string `json:"-"` 3936 // NullFields is a list of field names (e.g. "InsertId") to include in API 3937 // requests with the JSON null value. By default, fields with empty values are 3938 // omitted from API requests. See 3939 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 3940 NullFields []string `json:"-"` 3941 } 3942 3943 func (s *GoogleCloudSecuritycenterV2CloudLoggingEntry) MarshalJSON() ([]byte, error) { 3944 type NoMethod GoogleCloudSecuritycenterV2CloudLoggingEntry 3945 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 3946 } 3947 3948 // GoogleCloudSecuritycenterV2Compliance: Contains compliance information about 3949 // a security standard indicating unmet recommendations. 3950 type GoogleCloudSecuritycenterV2Compliance struct { 3951 // Ids: Policies within the standard or benchmark, for example, A.12.4.1 3952 Ids []string `json:"ids,omitempty"` 3953 // Standard: Industry-wide compliance standards or benchmarks, such as CIS, 3954 // PCI, and OWASP. 3955 Standard string `json:"standard,omitempty"` 3956 // Version: Version of the standard or benchmark, for example, 1.1 3957 Version string `json:"version,omitempty"` 3958 // ForceSendFields is a list of field names (e.g. "Ids") to unconditionally 3959 // include in API requests. By default, fields with empty or default values are 3960 // omitted from API requests. See 3961 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 3962 // details. 3963 ForceSendFields []string `json:"-"` 3964 // NullFields is a list of field names (e.g. "Ids") to include in API requests 3965 // with the JSON null value. By default, fields with empty values are omitted 3966 // from API requests. See 3967 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 3968 NullFields []string `json:"-"` 3969 } 3970 3971 func (s *GoogleCloudSecuritycenterV2Compliance) MarshalJSON() ([]byte, error) { 3972 type NoMethod GoogleCloudSecuritycenterV2Compliance 3973 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 3974 } 3975 3976 // GoogleCloudSecuritycenterV2Connection: Contains information about the IP 3977 // connection associated with the finding. 3978 type GoogleCloudSecuritycenterV2Connection struct { 3979 // DestinationIp: Destination IP address. Not present for sockets that are 3980 // listening and not connected. 3981 DestinationIp string `json:"destinationIp,omitempty"` 3982 // DestinationPort: Destination port. Not present for sockets that are 3983 // listening and not connected. 3984 DestinationPort int64 `json:"destinationPort,omitempty"` 3985 // Protocol: IANA Internet Protocol Number such as TCP(6) and UDP(17). 3986 // 3987 // Possible values: 3988 // "PROTOCOL_UNSPECIFIED" - Unspecified protocol (not HOPOPT). 3989 // "ICMP" - Internet Control Message Protocol. 3990 // "TCP" - Transmission Control Protocol. 3991 // "UDP" - User Datagram Protocol. 3992 // "GRE" - Generic Routing Encapsulation. 3993 // "ESP" - Encap Security Payload. 3994 Protocol string `json:"protocol,omitempty"` 3995 // SourceIp: Source IP address. 3996 SourceIp string `json:"sourceIp,omitempty"` 3997 // SourcePort: Source port. 3998 SourcePort int64 `json:"sourcePort,omitempty"` 3999 // ForceSendFields is a list of field names (e.g. "DestinationIp") to 4000 // unconditionally include in API requests. By default, fields with empty or 4001 // default values are omitted from API requests. See 4002 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 4003 // details. 4004 ForceSendFields []string `json:"-"` 4005 // NullFields is a list of field names (e.g. "DestinationIp") to include in API 4006 // requests with the JSON null value. By default, fields with empty values are 4007 // omitted from API requests. See 4008 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 4009 NullFields []string `json:"-"` 4010 } 4011 4012 func (s *GoogleCloudSecuritycenterV2Connection) MarshalJSON() ([]byte, error) { 4013 type NoMethod GoogleCloudSecuritycenterV2Connection 4014 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 4015 } 4016 4017 // GoogleCloudSecuritycenterV2Contact: The email address of a contact. 4018 type GoogleCloudSecuritycenterV2Contact struct { 4019 // Email: An email address. For example, "person123@company.com". 4020 Email string `json:"email,omitempty"` 4021 // ForceSendFields is a list of field names (e.g. "Email") to unconditionally 4022 // include in API requests. By default, fields with empty or default values are 4023 // omitted from API requests. See 4024 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 4025 // details. 4026 ForceSendFields []string `json:"-"` 4027 // NullFields is a list of field names (e.g. "Email") to include in API 4028 // requests with the JSON null value. By default, fields with empty values are 4029 // omitted from API requests. See 4030 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 4031 NullFields []string `json:"-"` 4032 } 4033 4034 func (s *GoogleCloudSecuritycenterV2Contact) MarshalJSON() ([]byte, error) { 4035 type NoMethod GoogleCloudSecuritycenterV2Contact 4036 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 4037 } 4038 4039 // GoogleCloudSecuritycenterV2ContactDetails: Details about specific contacts 4040 type GoogleCloudSecuritycenterV2ContactDetails struct { 4041 // Contacts: A list of contacts 4042 Contacts []*GoogleCloudSecuritycenterV2Contact `json:"contacts,omitempty"` 4043 // ForceSendFields is a list of field names (e.g. "Contacts") to 4044 // unconditionally include in API requests. By default, fields with empty or 4045 // default values are omitted from API requests. See 4046 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 4047 // details. 4048 ForceSendFields []string `json:"-"` 4049 // NullFields is a list of field names (e.g. "Contacts") to include in API 4050 // requests with the JSON null value. By default, fields with empty values are 4051 // omitted from API requests. See 4052 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 4053 NullFields []string `json:"-"` 4054 } 4055 4056 func (s *GoogleCloudSecuritycenterV2ContactDetails) MarshalJSON() ([]byte, error) { 4057 type NoMethod GoogleCloudSecuritycenterV2ContactDetails 4058 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 4059 } 4060 4061 // GoogleCloudSecuritycenterV2Container: Container associated with the finding. 4062 type GoogleCloudSecuritycenterV2Container struct { 4063 // CreateTime: The time that the container was created. 4064 CreateTime string `json:"createTime,omitempty"` 4065 // ImageId: Optional container image ID, if provided by the container runtime. 4066 // Uniquely identifies the container image launched using a container image 4067 // digest. 4068 ImageId string `json:"imageId,omitempty"` 4069 // Labels: Container labels, as provided by the container runtime. 4070 Labels []*GoogleCloudSecuritycenterV2Label `json:"labels,omitempty"` 4071 // Name: Name of the container. 4072 Name string `json:"name,omitempty"` 4073 // Uri: Container image URI provided when configuring a pod or container. This 4074 // string can identify a container image version using mutable tags. 4075 Uri string `json:"uri,omitempty"` 4076 // ForceSendFields is a list of field names (e.g. "CreateTime") to 4077 // unconditionally include in API requests. By default, fields with empty or 4078 // default values are omitted from API requests. See 4079 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 4080 // details. 4081 ForceSendFields []string `json:"-"` 4082 // NullFields is a list of field names (e.g. "CreateTime") to include in API 4083 // requests with the JSON null value. By default, fields with empty values are 4084 // omitted from API requests. See 4085 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 4086 NullFields []string `json:"-"` 4087 } 4088 4089 func (s *GoogleCloudSecuritycenterV2Container) MarshalJSON() ([]byte, error) { 4090 type NoMethod GoogleCloudSecuritycenterV2Container 4091 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 4092 } 4093 4094 // GoogleCloudSecuritycenterV2Cve: CVE stands for Common Vulnerabilities and 4095 // Exposures. Information from the CVE record 4096 // (https://www.cve.org/ResourcesSupport/Glossary) that describes this 4097 // vulnerability. 4098 type GoogleCloudSecuritycenterV2Cve struct { 4099 // Cvssv3: Describe Common Vulnerability Scoring System specified at 4100 // https://www.first.org/cvss/v3.1/specification-document 4101 Cvssv3 *GoogleCloudSecuritycenterV2Cvssv3 `json:"cvssv3,omitempty"` 4102 // ExploitationActivity: The exploitation activity of the vulnerability in the 4103 // wild. 4104 // 4105 // Possible values: 4106 // "EXPLOITATION_ACTIVITY_UNSPECIFIED" - Invalid or empty value. 4107 // "WIDE" - Exploitation has been reported or confirmed to widely occur. 4108 // "CONFIRMED" - Limited reported or confirmed exploitation activities. 4109 // "AVAILABLE" - Exploit is publicly available. 4110 // "ANTICIPATED" - No known exploitation activity, but has a high potential 4111 // for exploitation. 4112 // "NO_KNOWN" - No known exploitation activity. 4113 ExploitationActivity string `json:"exploitationActivity,omitempty"` 4114 // Id: The unique identifier for the vulnerability. e.g. CVE-2021-34527 4115 Id string `json:"id,omitempty"` 4116 // Impact: The potential impact of the vulnerability if it was to be exploited. 4117 // 4118 // Possible values: 4119 // "RISK_RATING_UNSPECIFIED" - Invalid or empty value. 4120 // "LOW" - Exploitation would have little to no security impact. 4121 // "MEDIUM" - Exploitation would enable attackers to perform activities, or 4122 // could allow attackers to have a direct impact, but would require additional 4123 // steps. 4124 // "HIGH" - Exploitation would enable attackers to have a notable direct 4125 // impact without needing to overcome any major mitigating factors. 4126 // "CRITICAL" - Exploitation would fundamentally undermine the security of 4127 // affected systems, enable actors to perform significant attacks with minimal 4128 // effort, with little to no mitigating factors to overcome. 4129 Impact string `json:"impact,omitempty"` 4130 // ObservedInTheWild: Whether or not the vulnerability has been observed in the 4131 // wild. 4132 ObservedInTheWild bool `json:"observedInTheWild,omitempty"` 4133 // References: Additional information about the CVE. e.g. 4134 // https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-34527 4135 References []*GoogleCloudSecuritycenterV2Reference `json:"references,omitempty"` 4136 // UpstreamFixAvailable: Whether upstream fix is available for the CVE. 4137 UpstreamFixAvailable bool `json:"upstreamFixAvailable,omitempty"` 4138 // ZeroDay: Whether or not the vulnerability was zero day when the finding was 4139 // published. 4140 ZeroDay bool `json:"zeroDay,omitempty"` 4141 // ForceSendFields is a list of field names (e.g. "Cvssv3") to unconditionally 4142 // include in API requests. By default, fields with empty or default values are 4143 // omitted from API requests. See 4144 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 4145 // details. 4146 ForceSendFields []string `json:"-"` 4147 // NullFields is a list of field names (e.g. "Cvssv3") to include in API 4148 // requests with the JSON null value. By default, fields with empty values are 4149 // omitted from API requests. See 4150 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 4151 NullFields []string `json:"-"` 4152 } 4153 4154 func (s *GoogleCloudSecuritycenterV2Cve) MarshalJSON() ([]byte, error) { 4155 type NoMethod GoogleCloudSecuritycenterV2Cve 4156 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 4157 } 4158 4159 // GoogleCloudSecuritycenterV2Cvssv3: Common Vulnerability Scoring System 4160 // version 3. 4161 type GoogleCloudSecuritycenterV2Cvssv3 struct { 4162 // AttackComplexity: This metric describes the conditions beyond the attacker's 4163 // control that must exist in order to exploit the vulnerability. 4164 // 4165 // Possible values: 4166 // "ATTACK_COMPLEXITY_UNSPECIFIED" - Invalid value. 4167 // "ATTACK_COMPLEXITY_LOW" - Specialized access conditions or extenuating 4168 // circumstances do not exist. An attacker can expect repeatable success when 4169 // attacking the vulnerable component. 4170 // "ATTACK_COMPLEXITY_HIGH" - A successful attack depends on conditions 4171 // beyond the attacker's control. That is, a successful attack cannot be 4172 // accomplished at will, but requires the attacker to invest in some measurable 4173 // amount of effort in preparation or execution against the vulnerable 4174 // component before a successful attack can be expected. 4175 AttackComplexity string `json:"attackComplexity,omitempty"` 4176 // AttackVector: Base Metrics Represents the intrinsic characteristics of a 4177 // vulnerability that are constant over time and across user environments. This 4178 // metric reflects the context by which vulnerability exploitation is possible. 4179 // 4180 // Possible values: 4181 // "ATTACK_VECTOR_UNSPECIFIED" - Invalid value. 4182 // "ATTACK_VECTOR_NETWORK" - The vulnerable component is bound to the network 4183 // stack and the set of possible attackers extends beyond the other options 4184 // listed below, up to and including the entire Internet. 4185 // "ATTACK_VECTOR_ADJACENT" - The vulnerable component is bound to the 4186 // network stack, but the attack is limited at the protocol level to a 4187 // logically adjacent topology. 4188 // "ATTACK_VECTOR_LOCAL" - The vulnerable component is not bound to the 4189 // network stack and the attacker's path is via read/write/execute 4190 // capabilities. 4191 // "ATTACK_VECTOR_PHYSICAL" - The attack requires the attacker to physically 4192 // touch or manipulate the vulnerable component. 4193 AttackVector string `json:"attackVector,omitempty"` 4194 // AvailabilityImpact: This metric measures the impact to the availability of 4195 // the impacted component resulting from a successfully exploited 4196 // vulnerability. 4197 // 4198 // Possible values: 4199 // "IMPACT_UNSPECIFIED" - Invalid value. 4200 // "IMPACT_HIGH" - High impact. 4201 // "IMPACT_LOW" - Low impact. 4202 // "IMPACT_NONE" - No impact. 4203 AvailabilityImpact string `json:"availabilityImpact,omitempty"` 4204 // BaseScore: The base score is a function of the base metric scores. 4205 BaseScore float64 `json:"baseScore,omitempty"` 4206 // ConfidentialityImpact: This metric measures the impact to the 4207 // confidentiality of the information resources managed by a software component 4208 // due to a successfully exploited vulnerability. 4209 // 4210 // Possible values: 4211 // "IMPACT_UNSPECIFIED" - Invalid value. 4212 // "IMPACT_HIGH" - High impact. 4213 // "IMPACT_LOW" - Low impact. 4214 // "IMPACT_NONE" - No impact. 4215 ConfidentialityImpact string `json:"confidentialityImpact,omitempty"` 4216 // IntegrityImpact: This metric measures the impact to integrity of a 4217 // successfully exploited vulnerability. 4218 // 4219 // Possible values: 4220 // "IMPACT_UNSPECIFIED" - Invalid value. 4221 // "IMPACT_HIGH" - High impact. 4222 // "IMPACT_LOW" - Low impact. 4223 // "IMPACT_NONE" - No impact. 4224 IntegrityImpact string `json:"integrityImpact,omitempty"` 4225 // PrivilegesRequired: This metric describes the level of privileges an 4226 // attacker must possess before successfully exploiting the vulnerability. 4227 // 4228 // Possible values: 4229 // "PRIVILEGES_REQUIRED_UNSPECIFIED" - Invalid value. 4230 // "PRIVILEGES_REQUIRED_NONE" - The attacker is unauthorized prior to attack, 4231 // and therefore does not require any access to settings or files of the 4232 // vulnerable system to carry out an attack. 4233 // "PRIVILEGES_REQUIRED_LOW" - The attacker requires privileges that provide 4234 // basic user capabilities that could normally affect only settings and files 4235 // owned by a user. Alternatively, an attacker with Low privileges has the 4236 // ability to access only non-sensitive resources. 4237 // "PRIVILEGES_REQUIRED_HIGH" - The attacker requires privileges that provide 4238 // significant (e.g., administrative) control over the vulnerable component 4239 // allowing access to component-wide settings and files. 4240 PrivilegesRequired string `json:"privilegesRequired,omitempty"` 4241 // Scope: The Scope metric captures whether a vulnerability in one vulnerable 4242 // component impacts resources in components beyond its security scope. 4243 // 4244 // Possible values: 4245 // "SCOPE_UNSPECIFIED" - Invalid value. 4246 // "SCOPE_UNCHANGED" - An exploited vulnerability can only affect resources 4247 // managed by the same security authority. 4248 // "SCOPE_CHANGED" - An exploited vulnerability can affect resources beyond 4249 // the security scope managed by the security authority of the vulnerable 4250 // component. 4251 Scope string `json:"scope,omitempty"` 4252 // UserInteraction: This metric captures the requirement for a human user, 4253 // other than the attacker, to participate in the successful compromise of the 4254 // vulnerable component. 4255 // 4256 // Possible values: 4257 // "USER_INTERACTION_UNSPECIFIED" - Invalid value. 4258 // "USER_INTERACTION_NONE" - The vulnerable system can be exploited without 4259 // interaction from any user. 4260 // "USER_INTERACTION_REQUIRED" - Successful exploitation of this 4261 // vulnerability requires a user to take some action before the vulnerability 4262 // can be exploited. 4263 UserInteraction string `json:"userInteraction,omitempty"` 4264 // ForceSendFields is a list of field names (e.g. "AttackComplexity") to 4265 // unconditionally include in API requests. By default, fields with empty or 4266 // default values are omitted from API requests. See 4267 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 4268 // details. 4269 ForceSendFields []string `json:"-"` 4270 // NullFields is a list of field names (e.g. "AttackComplexity") to include in 4271 // API requests with the JSON null value. By default, fields with empty values 4272 // are omitted from API requests. See 4273 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 4274 NullFields []string `json:"-"` 4275 } 4276 4277 func (s *GoogleCloudSecuritycenterV2Cvssv3) MarshalJSON() ([]byte, error) { 4278 type NoMethod GoogleCloudSecuritycenterV2Cvssv3 4279 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 4280 } 4281 4282 func (s *GoogleCloudSecuritycenterV2Cvssv3) UnmarshalJSON(data []byte) error { 4283 type NoMethod GoogleCloudSecuritycenterV2Cvssv3 4284 var s1 struct { 4285 BaseScore gensupport.JSONFloat64 `json:"baseScore"` 4286 *NoMethod 4287 } 4288 s1.NoMethod = (*NoMethod)(s) 4289 if err := json.Unmarshal(data, &s1); err != nil { 4290 return err 4291 } 4292 s.BaseScore = float64(s1.BaseScore) 4293 return nil 4294 } 4295 4296 // GoogleCloudSecuritycenterV2Database: Represents database access information, 4297 // such as queries. A database may be a sub-resource of an instance (as in the 4298 // case of Cloud SQL instances or Cloud Spanner instances), or the database 4299 // instance itself. Some database resources might not have the full resource 4300 // name (https://google.aip.dev/122#full-resource-names) populated because 4301 // these resource types, such as Cloud SQL databases, are not yet supported by 4302 // Cloud Asset Inventory. In these cases only the display name is provided. 4303 type GoogleCloudSecuritycenterV2Database struct { 4304 // DisplayName: The human-readable name of the database that the user connected 4305 // to. 4306 DisplayName string `json:"displayName,omitempty"` 4307 // Grantees: The target usernames, roles, or groups of an SQL privilege grant, 4308 // which is not an IAM policy change. 4309 Grantees []string `json:"grantees,omitempty"` 4310 // Name: Some database resources may not have the full resource name 4311 // (https://google.aip.dev/122#full-resource-names) populated because these 4312 // resource types are not yet supported by Cloud Asset Inventory (e.g. Cloud 4313 // SQL databases). In these cases only the display name will be provided. The 4314 // full resource name (https://google.aip.dev/122#full-resource-names) of the 4315 // database that the user connected to, if it is supported by Cloud Asset 4316 // Inventory. 4317 Name string `json:"name,omitempty"` 4318 // Query: The SQL statement that is associated with the database access. 4319 Query string `json:"query,omitempty"` 4320 // UserName: The username used to connect to the database. The username might 4321 // not be an IAM principal and does not have a set format. 4322 UserName string `json:"userName,omitempty"` 4323 // Version: The version of the database, for example, POSTGRES_14. See the 4324 // complete list 4325 // (https://cloud.google.com/sql/docs/mysql/admin-api/rest/v1/SqlDatabaseVersion). 4326 Version string `json:"version,omitempty"` 4327 // ForceSendFields is a list of field names (e.g. "DisplayName") to 4328 // unconditionally include in API requests. By default, fields with empty or 4329 // default values are omitted from API requests. See 4330 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 4331 // details. 4332 ForceSendFields []string `json:"-"` 4333 // NullFields is a list of field names (e.g. "DisplayName") to include in API 4334 // requests with the JSON null value. By default, fields with empty values are 4335 // omitted from API requests. See 4336 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 4337 NullFields []string `json:"-"` 4338 } 4339 4340 func (s *GoogleCloudSecuritycenterV2Database) MarshalJSON() ([]byte, error) { 4341 type NoMethod GoogleCloudSecuritycenterV2Database 4342 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 4343 } 4344 4345 // GoogleCloudSecuritycenterV2Detection: Memory hash detection contributing to 4346 // the binary family match. 4347 type GoogleCloudSecuritycenterV2Detection struct { 4348 // Binary: The name of the binary associated with the memory hash signature 4349 // detection. 4350 Binary string `json:"binary,omitempty"` 4351 // PercentPagesMatched: The percentage of memory page hashes in the signature 4352 // that were matched. 4353 PercentPagesMatched float64 `json:"percentPagesMatched,omitempty"` 4354 // ForceSendFields is a list of field names (e.g. "Binary") to unconditionally 4355 // include in API requests. By default, fields with empty or default values are 4356 // omitted from API requests. See 4357 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 4358 // details. 4359 ForceSendFields []string `json:"-"` 4360 // NullFields is a list of field names (e.g. "Binary") to include in API 4361 // requests with the JSON null value. By default, fields with empty values are 4362 // omitted from API requests. See 4363 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 4364 NullFields []string `json:"-"` 4365 } 4366 4367 func (s *GoogleCloudSecuritycenterV2Detection) MarshalJSON() ([]byte, error) { 4368 type NoMethod GoogleCloudSecuritycenterV2Detection 4369 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 4370 } 4371 4372 func (s *GoogleCloudSecuritycenterV2Detection) UnmarshalJSON(data []byte) error { 4373 type NoMethod GoogleCloudSecuritycenterV2Detection 4374 var s1 struct { 4375 PercentPagesMatched gensupport.JSONFloat64 `json:"percentPagesMatched"` 4376 *NoMethod 4377 } 4378 s1.NoMethod = (*NoMethod)(s) 4379 if err := json.Unmarshal(data, &s1); err != nil { 4380 return err 4381 } 4382 s.PercentPagesMatched = float64(s1.PercentPagesMatched) 4383 return nil 4384 } 4385 4386 // GoogleCloudSecuritycenterV2DiskPath: Path of the file in terms of underlying 4387 // disk/partition identifiers. 4388 type GoogleCloudSecuritycenterV2DiskPath struct { 4389 // PartitionUuid: UUID of the partition (format 4390 // https://wiki.archlinux.org/title/persistent_block_device_naming#by-uuid) 4391 PartitionUuid string `json:"partitionUuid,omitempty"` 4392 // RelativePath: Relative path of the file in the partition as a JSON encoded 4393 // string. Example: /home/user1/executable_file.sh 4394 RelativePath string `json:"relativePath,omitempty"` 4395 // ForceSendFields is a list of field names (e.g. "PartitionUuid") to 4396 // unconditionally include in API requests. By default, fields with empty or 4397 // default values are omitted from API requests. See 4398 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 4399 // details. 4400 ForceSendFields []string `json:"-"` 4401 // NullFields is a list of field names (e.g. "PartitionUuid") to include in API 4402 // requests with the JSON null value. By default, fields with empty values are 4403 // omitted from API requests. See 4404 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 4405 NullFields []string `json:"-"` 4406 } 4407 4408 func (s *GoogleCloudSecuritycenterV2DiskPath) MarshalJSON() ([]byte, error) { 4409 type NoMethod GoogleCloudSecuritycenterV2DiskPath 4410 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 4411 } 4412 4413 // GoogleCloudSecuritycenterV2EnvironmentVariable: A name-value pair 4414 // representing an environment variable used in an operating system process. 4415 type GoogleCloudSecuritycenterV2EnvironmentVariable struct { 4416 // Name: Environment variable name as a JSON encoded string. 4417 Name string `json:"name,omitempty"` 4418 // Val: Environment variable value as a JSON encoded string. 4419 Val string `json:"val,omitempty"` 4420 // ForceSendFields is a list of field names (e.g. "Name") to unconditionally 4421 // include in API requests. By default, fields with empty or default values are 4422 // omitted from API requests. See 4423 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 4424 // details. 4425 ForceSendFields []string `json:"-"` 4426 // NullFields is a list of field names (e.g. "Name") to include in API requests 4427 // with the JSON null value. By default, fields with empty values are omitted 4428 // from API requests. See 4429 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 4430 NullFields []string `json:"-"` 4431 } 4432 4433 func (s *GoogleCloudSecuritycenterV2EnvironmentVariable) MarshalJSON() ([]byte, error) { 4434 type NoMethod GoogleCloudSecuritycenterV2EnvironmentVariable 4435 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 4436 } 4437 4438 // GoogleCloudSecuritycenterV2ExfilResource: Resource where data was 4439 // exfiltrated from or exfiltrated to. 4440 type GoogleCloudSecuritycenterV2ExfilResource struct { 4441 // Components: Subcomponents of the asset that was exfiltrated, like URIs used 4442 // during exfiltration, table names, databases, and filenames. For example, 4443 // multiple tables might have been exfiltrated from the same Cloud SQL 4444 // instance, or multiple files might have been exfiltrated from the same Cloud 4445 // Storage bucket. 4446 Components []string `json:"components,omitempty"` 4447 // Name: The resource's full resource name 4448 // (https://cloud.google.com/apis/design/resource_names#full_resource_name). 4449 Name string `json:"name,omitempty"` 4450 // ForceSendFields is a list of field names (e.g. "Components") to 4451 // unconditionally include in API requests. By default, fields with empty or 4452 // default values are omitted from API requests. See 4453 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 4454 // details. 4455 ForceSendFields []string `json:"-"` 4456 // NullFields is a list of field names (e.g. "Components") to include in API 4457 // requests with the JSON null value. By default, fields with empty values are 4458 // omitted from API requests. See 4459 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 4460 NullFields []string `json:"-"` 4461 } 4462 4463 func (s *GoogleCloudSecuritycenterV2ExfilResource) MarshalJSON() ([]byte, error) { 4464 type NoMethod GoogleCloudSecuritycenterV2ExfilResource 4465 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 4466 } 4467 4468 // GoogleCloudSecuritycenterV2Exfiltration: Exfiltration represents a data 4469 // exfiltration attempt from one or more sources to one or more targets. The 4470 // `sources` attribute lists the sources of the exfiltrated data. The `targets` 4471 // attribute lists the destinations the data was copied to. 4472 type GoogleCloudSecuritycenterV2Exfiltration struct { 4473 // Sources: If there are multiple sources, then the data is considered "joined" 4474 // between them. For instance, BigQuery can join multiple tables, and each 4475 // table would be considered a source. 4476 Sources []*GoogleCloudSecuritycenterV2ExfilResource `json:"sources,omitempty"` 4477 // Targets: If there are multiple targets, each target would get a complete 4478 // copy of the "joined" source data. 4479 Targets []*GoogleCloudSecuritycenterV2ExfilResource `json:"targets,omitempty"` 4480 // TotalExfiltratedBytes: Total exfiltrated bytes processed for the entire job. 4481 TotalExfiltratedBytes int64 `json:"totalExfiltratedBytes,omitempty,string"` 4482 // ForceSendFields is a list of field names (e.g. "Sources") to unconditionally 4483 // include in API requests. By default, fields with empty or default values are 4484 // omitted from API requests. See 4485 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 4486 // details. 4487 ForceSendFields []string `json:"-"` 4488 // NullFields is a list of field names (e.g. "Sources") to include in API 4489 // requests with the JSON null value. By default, fields with empty values are 4490 // omitted from API requests. See 4491 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 4492 NullFields []string `json:"-"` 4493 } 4494 4495 func (s *GoogleCloudSecuritycenterV2Exfiltration) MarshalJSON() ([]byte, error) { 4496 type NoMethod GoogleCloudSecuritycenterV2Exfiltration 4497 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 4498 } 4499 4500 // GoogleCloudSecuritycenterV2ExternalSystem: Representation of third party 4501 // SIEM/SOAR fields within SCC. 4502 type GoogleCloudSecuritycenterV2ExternalSystem struct { 4503 // Assignees: References primary/secondary etc assignees in the external 4504 // system. 4505 Assignees []string `json:"assignees,omitempty"` 4506 // CaseCloseTime: The time when the case was closed, as reported by the 4507 // external system. 4508 CaseCloseTime string `json:"caseCloseTime,omitempty"` 4509 // CaseCreateTime: The time when the case was created, as reported by the 4510 // external system. 4511 CaseCreateTime string `json:"caseCreateTime,omitempty"` 4512 // CasePriority: The priority of the finding's corresponding case in the 4513 // external system. 4514 CasePriority string `json:"casePriority,omitempty"` 4515 // CaseSla: The SLA of the finding's corresponding case in the external system. 4516 CaseSla string `json:"caseSla,omitempty"` 4517 // CaseUri: The link to the finding's corresponding case in the external 4518 // system. 4519 CaseUri string `json:"caseUri,omitempty"` 4520 // ExternalSystemUpdateTime: The time when the case was last updated, as 4521 // reported by the external system. 4522 ExternalSystemUpdateTime string `json:"externalSystemUpdateTime,omitempty"` 4523 // ExternalUid: The identifier that's used to track the finding's corresponding 4524 // case in the external system. 4525 ExternalUid string `json:"externalUid,omitempty"` 4526 // Name: Full resource name of the external system. The following list shows 4527 // some examples: + 4528 // `organizations/1234/sources/5678/findings/123456/externalSystems/jira` + 4529 // `organizations/1234/sources/5678/locations/us/findings/123456/externalSystems 4530 // /jira` + `folders/1234/sources/5678/findings/123456/externalSystems/jira` + 4531 // `folders/1234/sources/5678/locations/us/findings/123456/externalSystems/jira` 4532 // + `projects/1234/sources/5678/findings/123456/externalSystems/jira` + 4533 // `projects/1234/sources/5678/locations/us/findings/123456/externalSystems/jira 4534 // ` 4535 Name string `json:"name,omitempty"` 4536 // Status: The most recent status of the finding's corresponding case, as 4537 // reported by the external system. 4538 Status string `json:"status,omitempty"` 4539 // TicketInfo: Information about the ticket, if any, that is being used to 4540 // track the resolution of the issue that is identified by this finding. 4541 TicketInfo *GoogleCloudSecuritycenterV2TicketInfo `json:"ticketInfo,omitempty"` 4542 // ForceSendFields is a list of field names (e.g. "Assignees") to 4543 // unconditionally include in API requests. By default, fields with empty or 4544 // default values are omitted from API requests. See 4545 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 4546 // details. 4547 ForceSendFields []string `json:"-"` 4548 // NullFields is a list of field names (e.g. "Assignees") to include in API 4549 // requests with the JSON null value. By default, fields with empty values are 4550 // omitted from API requests. See 4551 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 4552 NullFields []string `json:"-"` 4553 } 4554 4555 func (s *GoogleCloudSecuritycenterV2ExternalSystem) MarshalJSON() ([]byte, error) { 4556 type NoMethod GoogleCloudSecuritycenterV2ExternalSystem 4557 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 4558 } 4559 4560 // GoogleCloudSecuritycenterV2File: File information about the related 4561 // binary/library used by an executable, or the script used by a script 4562 // interpreter 4563 type GoogleCloudSecuritycenterV2File struct { 4564 // Contents: Prefix of the file contents as a JSON-encoded string. 4565 Contents string `json:"contents,omitempty"` 4566 // DiskPath: Path of the file in terms of underlying disk/partition 4567 // identifiers. 4568 DiskPath *GoogleCloudSecuritycenterV2DiskPath `json:"diskPath,omitempty"` 4569 // HashedSize: The length in bytes of the file prefix that was hashed. If 4570 // hashed_size == size, any hashes reported represent the entire file. 4571 HashedSize int64 `json:"hashedSize,omitempty,string"` 4572 // PartiallyHashed: True when the hash covers only a prefix of the file. 4573 PartiallyHashed bool `json:"partiallyHashed,omitempty"` 4574 // Path: Absolute path of the file as a JSON encoded string. 4575 Path string `json:"path,omitempty"` 4576 // Sha256: SHA256 hash of the first hashed_size bytes of the file encoded as a 4577 // hex string. If hashed_size == size, sha256 represents the SHA256 hash of the 4578 // entire file. 4579 Sha256 string `json:"sha256,omitempty"` 4580 // Size: Size of the file in bytes. 4581 Size int64 `json:"size,omitempty,string"` 4582 // ForceSendFields is a list of field names (e.g. "Contents") to 4583 // unconditionally include in API requests. By default, fields with empty or 4584 // default values are omitted from API requests. See 4585 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 4586 // details. 4587 ForceSendFields []string `json:"-"` 4588 // NullFields is a list of field names (e.g. "Contents") to include in API 4589 // requests with the JSON null value. By default, fields with empty values are 4590 // omitted from API requests. See 4591 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 4592 NullFields []string `json:"-"` 4593 } 4594 4595 func (s *GoogleCloudSecuritycenterV2File) MarshalJSON() ([]byte, error) { 4596 type NoMethod GoogleCloudSecuritycenterV2File 4597 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 4598 } 4599 4600 // GoogleCloudSecuritycenterV2Finding: Security Command Center finding. A 4601 // finding is a record of assessment data like security, risk, health, or 4602 // privacy, that is ingested into Security Command Center for presentation, 4603 // notification, analysis, policy testing, and enforcement. For example, a 4604 // cross-site scripting (XSS) vulnerability in an App Engine application is a 4605 // finding. 4606 type GoogleCloudSecuritycenterV2Finding struct { 4607 // Access: Access details associated with the finding, such as more information 4608 // on the caller, which method was accessed, and from where. 4609 Access *GoogleCloudSecuritycenterV2Access `json:"access,omitempty"` 4610 // Application: Represents an application associated with the finding. 4611 Application *GoogleCloudSecuritycenterV2Application `json:"application,omitempty"` 4612 // AttackExposure: The results of an attack path simulation relevant to this 4613 // finding. 4614 AttackExposure *GoogleCloudSecuritycenterV2AttackExposure `json:"attackExposure,omitempty"` 4615 // BackupDisasterRecovery: Fields related to Backup and DR findings. 4616 BackupDisasterRecovery *GoogleCloudSecuritycenterV2BackupDisasterRecovery `json:"backupDisasterRecovery,omitempty"` 4617 // CanonicalName: Output only. The canonical name of the finding. The following 4618 // list shows some examples: + 4619 // `organizations/{organization_id}/sources/{source_id}/findings/{finding_id}` 4620 // + 4621 // `organizations/{organization_id}/sources/{source_id}/locations/{location_id}/ 4622 // findings/{finding_id}` + 4623 // `folders/{folder_id}/sources/{source_id}/findings/{finding_id}` + 4624 // `folders/{folder_id}/sources/{source_id}/locations/{location_id}/findings/{fi 4625 // nding_id}` + 4626 // `projects/{project_id}/sources/{source_id}/findings/{finding_id}` + 4627 // `projects/{project_id}/sources/{source_id}/locations/{location_id}/findings/{ 4628 // finding_id}` The prefix is the closest CRM ancestor of the resource 4629 // associated with the finding. 4630 CanonicalName string `json:"canonicalName,omitempty"` 4631 // Category: Immutable. The additional taxonomy group within findings from a 4632 // given source. Example: "XSS_FLASH_INJECTION" 4633 Category string `json:"category,omitempty"` 4634 // CloudArmor: Fields related to Cloud Armor findings. 4635 CloudArmor *GoogleCloudSecuritycenterV2CloudArmor `json:"cloudArmor,omitempty"` 4636 // CloudDlpDataProfile: Cloud DLP data profile that is associated with the 4637 // finding. 4638 CloudDlpDataProfile *GoogleCloudSecuritycenterV2CloudDlpDataProfile `json:"cloudDlpDataProfile,omitempty"` 4639 // CloudDlpInspection: Cloud Data Loss Prevention (Cloud DLP) inspection 4640 // results that are associated with the finding. 4641 CloudDlpInspection *GoogleCloudSecuritycenterV2CloudDlpInspection `json:"cloudDlpInspection,omitempty"` 4642 // Compliances: Contains compliance information for security standards 4643 // associated to the finding. 4644 Compliances []*GoogleCloudSecuritycenterV2Compliance `json:"compliances,omitempty"` 4645 // Connections: Contains information about the IP connection associated with 4646 // the finding. 4647 Connections []*GoogleCloudSecuritycenterV2Connection `json:"connections,omitempty"` 4648 // Contacts: Output only. Map containing the points of contact for the given 4649 // finding. The key represents the type of contact, while the value contains a 4650 // list of all the contacts that pertain. Please refer to: 4651 // https://cloud.google.com/resource-manager/docs/managing-notification-contacts#notification-categories 4652 // { "security": { "contacts": [ { "email": "person1@company.com" }, { "email": 4653 // "person2@company.com" } ] } } 4654 Contacts map[string]GoogleCloudSecuritycenterV2ContactDetails `json:"contacts,omitempty"` 4655 // Containers: Containers associated with the finding. This field provides 4656 // information for both Kubernetes and non-Kubernetes containers. 4657 Containers []*GoogleCloudSecuritycenterV2Container `json:"containers,omitempty"` 4658 // CreateTime: Output only. The time at which the finding was created in 4659 // Security Command Center. 4660 CreateTime string `json:"createTime,omitempty"` 4661 // Database: Database associated with the finding. 4662 Database *GoogleCloudSecuritycenterV2Database `json:"database,omitempty"` 4663 // Description: Contains more details about the finding. 4664 Description string `json:"description,omitempty"` 4665 // EventTime: The time the finding was first detected. If an existing finding 4666 // is updated, then this is the time the update occurred. For example, if the 4667 // finding represents an open firewall, this property captures the time the 4668 // detector believes the firewall became open. The accuracy is determined by 4669 // the detector. If the finding is later resolved, then this time reflects when 4670 // the finding was resolved. This must not be set to a value greater than the 4671 // current timestamp. 4672 EventTime string `json:"eventTime,omitempty"` 4673 // Exfiltration: Represents exfiltrations associated with the finding. 4674 Exfiltration *GoogleCloudSecuritycenterV2Exfiltration `json:"exfiltration,omitempty"` 4675 // ExternalSystems: Output only. Third party SIEM/SOAR fields within SCC, 4676 // contains external system information and external system finding fields. 4677 ExternalSystems map[string]GoogleCloudSecuritycenterV2ExternalSystem `json:"externalSystems,omitempty"` 4678 // ExternalUri: The URI that, if available, points to a web page outside of 4679 // Security Command Center where additional information about the finding can 4680 // be found. This field is guaranteed to be either empty or a well formed URL. 4681 ExternalUri string `json:"externalUri,omitempty"` 4682 // Files: File associated with the finding. 4683 Files []*GoogleCloudSecuritycenterV2File `json:"files,omitempty"` 4684 // FindingClass: The class of the finding. 4685 // 4686 // Possible values: 4687 // "FINDING_CLASS_UNSPECIFIED" - Unspecified finding class. 4688 // "THREAT" - Describes unwanted or malicious activity. 4689 // "VULNERABILITY" - Describes a potential weakness in software that 4690 // increases risk to Confidentiality & Integrity & Availability. 4691 // "MISCONFIGURATION" - Describes a potential weakness in cloud 4692 // resource/asset configuration that increases risk. 4693 // "OBSERVATION" - Describes a security observation that is for informational 4694 // purposes. 4695 // "SCC_ERROR" - Describes an error that prevents some SCC functionality. 4696 // "POSTURE_VIOLATION" - Describes a potential security risk due to a change 4697 // in the security posture. 4698 FindingClass string `json:"findingClass,omitempty"` 4699 // IamBindings: Represents IAM bindings associated with the finding. 4700 IamBindings []*GoogleCloudSecuritycenterV2IamBinding `json:"iamBindings,omitempty"` 4701 // Indicator: Represents what's commonly known as an *indicator of compromise* 4702 // (IoC) in computer forensics. This is an artifact observed on a network or in 4703 // an operating system that, with high confidence, indicates a computer 4704 // intrusion. For more information, see Indicator of compromise 4705 // (https://en.wikipedia.org/wiki/Indicator_of_compromise). 4706 Indicator *GoogleCloudSecuritycenterV2Indicator `json:"indicator,omitempty"` 4707 // KernelRootkit: Signature of the kernel rootkit. 4708 KernelRootkit *GoogleCloudSecuritycenterV2KernelRootkit `json:"kernelRootkit,omitempty"` 4709 // Kubernetes: Kubernetes resources associated with the finding. 4710 Kubernetes *GoogleCloudSecuritycenterV2Kubernetes `json:"kubernetes,omitempty"` 4711 // LoadBalancers: The load balancers associated with the finding. 4712 LoadBalancers []*GoogleCloudSecuritycenterV2LoadBalancer `json:"loadBalancers,omitempty"` 4713 // LogEntries: Log entries that are relevant to the finding. 4714 LogEntries []*GoogleCloudSecuritycenterV2LogEntry `json:"logEntries,omitempty"` 4715 // MitreAttack: MITRE ATT&CK tactics and techniques related to this finding. 4716 // See: https://attack.mitre.org 4717 MitreAttack *GoogleCloudSecuritycenterV2MitreAttack `json:"mitreAttack,omitempty"` 4718 // ModuleName: Unique identifier of the module which generated the finding. 4719 // Example: 4720 // folders/598186756061/securityHealthAnalyticsSettings/customModules/5679944116 4721 // 1885 4722 ModuleName string `json:"moduleName,omitempty"` 4723 // Mute: Indicates the mute state of a finding (either muted, unmuted or 4724 // undefined). Unlike other attributes of a finding, a finding provider 4725 // shouldn't set the value of mute. 4726 // 4727 // Possible values: 4728 // "MUTE_UNSPECIFIED" - Unspecified. 4729 // "MUTED" - Finding has been muted. 4730 // "UNMUTED" - Finding has been unmuted. 4731 // "UNDEFINED" - Finding has never been muted/unmuted. 4732 Mute string `json:"mute,omitempty"` 4733 // MuteInitiator: Records additional information about the mute operation, for 4734 // example, the mute configuration 4735 // (https://cloud.google.com/security-command-center/docs/how-to-mute-findings) 4736 // that muted the finding and the user who muted the finding. 4737 MuteInitiator string `json:"muteInitiator,omitempty"` 4738 // MuteUpdateTime: Output only. The most recent time this finding was muted or 4739 // unmuted. 4740 MuteUpdateTime string `json:"muteUpdateTime,omitempty"` 4741 // Name: The relative resource name 4742 // (https://cloud.google.com/apis/design/resource_names#relative_resource_name) 4743 // of the finding. The following list shows some examples: + 4744 // `organizations/{organization_id}/sources/{source_id}/findings/{finding_id}` 4745 // + 4746 // `organizations/{organization_id}/sources/{source_id}/locations/{location_id}/ 4747 // findings/{finding_id}` + 4748 // `folders/{folder_id}/sources/{source_id}/findings/{finding_id}` + 4749 // `folders/{folder_id}/sources/{source_id}/locations/{location_id}/findings/{fi 4750 // nding_id}` + 4751 // `projects/{project_id}/sources/{source_id}/findings/{finding_id}` + 4752 // `projects/{project_id}/sources/{source_id}/locations/{location_id}/findings/{ 4753 // finding_id}` 4754 Name string `json:"name,omitempty"` 4755 // NextSteps: Steps to address the finding. 4756 NextSteps string `json:"nextSteps,omitempty"` 4757 // Notebook: Notebook associated with the finding. 4758 Notebook *GoogleCloudSecuritycenterV2Notebook `json:"notebook,omitempty"` 4759 // OrgPolicies: Contains information about the org policies associated with the 4760 // finding. 4761 OrgPolicies []*GoogleCloudSecuritycenterV2OrgPolicy `json:"orgPolicies,omitempty"` 4762 // Parent: The relative resource name of the source and location the finding 4763 // belongs to. See: 4764 // https://cloud.google.com/apis/design/resource_names#relative_resource_name 4765 // This field is immutable after creation time. The following list shows some 4766 // examples: + `organizations/{organization_id}/sources/{source_id}` + 4767 // `folders/{folders_id}/sources/{source_id}` + 4768 // `projects/{projects_id}/sources/{source_id}` + 4769 // `organizations/{organization_id}/sources/{source_id}/locations/{location_id}` 4770 // + `folders/{folders_id}/sources/{source_id}/locations/{location_id}` + 4771 // `projects/{projects_id}/sources/{source_id}/locations/{location_id}` 4772 Parent string `json:"parent,omitempty"` 4773 // ParentDisplayName: Output only. The human readable display name of the 4774 // finding source such as "Event Threat Detection" or "Security Health 4775 // Analytics". 4776 ParentDisplayName string `json:"parentDisplayName,omitempty"` 4777 // Processes: Represents operating system processes associated with the 4778 // Finding. 4779 Processes []*GoogleCloudSecuritycenterV2Process `json:"processes,omitempty"` 4780 // ResourceName: Immutable. For findings on Google Cloud resources, the full 4781 // resource name of the Google Cloud resource this finding is for. See: 4782 // https://cloud.google.com/apis/design/resource_names#full_resource_name When 4783 // the finding is for a non-Google Cloud resource, the resourceName can be a 4784 // customer or partner defined string. 4785 ResourceName string `json:"resourceName,omitempty"` 4786 // SecurityMarks: Output only. User specified security marks. These marks are 4787 // entirely managed by the user and come from the SecurityMarks resource that 4788 // belongs to the finding. 4789 SecurityMarks *GoogleCloudSecuritycenterV2SecurityMarks `json:"securityMarks,omitempty"` 4790 // SecurityPosture: The security posture associated with the finding. 4791 SecurityPosture *GoogleCloudSecuritycenterV2SecurityPosture `json:"securityPosture,omitempty"` 4792 // Severity: The severity of the finding. This field is managed by the source 4793 // that writes the finding. 4794 // 4795 // Possible values: 4796 // "SEVERITY_UNSPECIFIED" - This value is used for findings when a source 4797 // doesn't write a severity value. 4798 // "CRITICAL" - Vulnerability: A critical vulnerability is easily 4799 // discoverable by an external actor, exploitable, and results in the direct 4800 // ability to execute arbitrary code, exfiltrate data, and otherwise gain 4801 // additional access and privileges to cloud resources and workloads. Examples 4802 // include publicly accessible unprotected user data and public SSH access with 4803 // weak or no passwords. Threat: Indicates a threat that is able to access, 4804 // modify, or delete data or execute unauthorized code within existing 4805 // resources. 4806 // "HIGH" - Vulnerability: A high risk vulnerability can be easily discovered 4807 // and exploited in combination with other vulnerabilities in order to gain 4808 // direct access and the ability to execute arbitrary code, exfiltrate data, 4809 // and otherwise gain additional access and privileges to cloud resources and 4810 // workloads. An example is a database with weak or no passwords that is only 4811 // accessible internally. This database could easily be compromised by an actor 4812 // that had access to the internal network. Threat: Indicates a threat that is 4813 // able to create new computational resources in an environment but not able to 4814 // access data or execute code in existing resources. 4815 // "MEDIUM" - Vulnerability: A medium risk vulnerability could be used by an 4816 // actor to gain access to resources or privileges that enable them to 4817 // eventually (through multiple steps or a complex exploit) gain access and the 4818 // ability to execute arbitrary code or exfiltrate data. An example is a 4819 // service account with access to more projects than it should have. If an 4820 // actor gains access to the service account, they could potentially use that 4821 // access to manipulate a project the service account was not intended to. 4822 // Threat: Indicates a threat that is able to cause operational impact but may 4823 // not access data or execute unauthorized code. 4824 // "LOW" - Vulnerability: A low risk vulnerability hampers a security 4825 // organization's ability to detect vulnerabilities or active threats in their 4826 // deployment, or prevents the root cause investigation of security issues. An 4827 // example is monitoring and logs being disabled for resource configurations 4828 // and access. Threat: Indicates a threat that has obtained minimal access to 4829 // an environment but is not able to access data, execute code, or create 4830 // resources. 4831 Severity string `json:"severity,omitempty"` 4832 // SourceProperties: Source specific properties. These properties are managed 4833 // by the source that writes the finding. The key names in the 4834 // source_properties map must be between 1 and 255 characters, and must start 4835 // with a letter and contain alphanumeric characters or underscores only. 4836 SourceProperties googleapi.RawMessage `json:"sourceProperties,omitempty"` 4837 // State: Output only. The state of the finding. 4838 // 4839 // Possible values: 4840 // "STATE_UNSPECIFIED" - Unspecified state. 4841 // "ACTIVE" - The finding requires attention and has not been addressed yet. 4842 // "INACTIVE" - The finding has been fixed, triaged as a non-issue or 4843 // otherwise addressed and is no longer active. 4844 State string `json:"state,omitempty"` 4845 // Vulnerability: Represents vulnerability-specific fields like CVE and CVSS 4846 // scores. CVE stands for Common Vulnerabilities and Exposures 4847 // (https://cve.mitre.org/about/) 4848 Vulnerability *GoogleCloudSecuritycenterV2Vulnerability `json:"vulnerability,omitempty"` 4849 // ForceSendFields is a list of field names (e.g. "Access") to unconditionally 4850 // include in API requests. By default, fields with empty or default values are 4851 // omitted from API requests. See 4852 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 4853 // details. 4854 ForceSendFields []string `json:"-"` 4855 // NullFields is a list of field names (e.g. "Access") to include in API 4856 // requests with the JSON null value. By default, fields with empty values are 4857 // omitted from API requests. See 4858 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 4859 NullFields []string `json:"-"` 4860 } 4861 4862 func (s *GoogleCloudSecuritycenterV2Finding) MarshalJSON() ([]byte, error) { 4863 type NoMethod GoogleCloudSecuritycenterV2Finding 4864 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 4865 } 4866 4867 // GoogleCloudSecuritycenterV2Folder: Message that contains the resource name 4868 // and display name of a folder resource. 4869 type GoogleCloudSecuritycenterV2Folder struct { 4870 // ResourceFolder: Full resource name of this folder. See: 4871 // https://cloud.google.com/apis/design/resource_names#full_resource_name 4872 ResourceFolder string `json:"resourceFolder,omitempty"` 4873 // ResourceFolderDisplayName: The user defined display name for this folder. 4874 ResourceFolderDisplayName string `json:"resourceFolderDisplayName,omitempty"` 4875 // ForceSendFields is a list of field names (e.g. "ResourceFolder") to 4876 // unconditionally include in API requests. By default, fields with empty or 4877 // default values are omitted from API requests. See 4878 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 4879 // details. 4880 ForceSendFields []string `json:"-"` 4881 // NullFields is a list of field names (e.g. "ResourceFolder") to include in 4882 // API requests with the JSON null value. By default, fields with empty values 4883 // are omitted from API requests. See 4884 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 4885 NullFields []string `json:"-"` 4886 } 4887 4888 func (s *GoogleCloudSecuritycenterV2Folder) MarshalJSON() ([]byte, error) { 4889 type NoMethod GoogleCloudSecuritycenterV2Folder 4890 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 4891 } 4892 4893 // GoogleCloudSecuritycenterV2Geolocation: Represents a geographical location 4894 // for a given access. 4895 type GoogleCloudSecuritycenterV2Geolocation struct { 4896 // RegionCode: A CLDR. 4897 RegionCode string `json:"regionCode,omitempty"` 4898 // ForceSendFields is a list of field names (e.g. "RegionCode") to 4899 // unconditionally include in API requests. By default, fields with empty or 4900 // default values are omitted from API requests. See 4901 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 4902 // details. 4903 ForceSendFields []string `json:"-"` 4904 // NullFields is a list of field names (e.g. "RegionCode") to include in API 4905 // requests with the JSON null value. By default, fields with empty values are 4906 // omitted from API requests. See 4907 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 4908 NullFields []string `json:"-"` 4909 } 4910 4911 func (s *GoogleCloudSecuritycenterV2Geolocation) MarshalJSON() ([]byte, error) { 4912 type NoMethod GoogleCloudSecuritycenterV2Geolocation 4913 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 4914 } 4915 4916 // GoogleCloudSecuritycenterV2IamBinding: Represents a particular IAM binding, 4917 // which captures a member's role addition, removal, or state. 4918 type GoogleCloudSecuritycenterV2IamBinding struct { 4919 // Action: The action that was performed on a Binding. 4920 // 4921 // Possible values: 4922 // "ACTION_UNSPECIFIED" - Unspecified. 4923 // "ADD" - Addition of a Binding. 4924 // "REMOVE" - Removal of a Binding. 4925 Action string `json:"action,omitempty"` 4926 // Member: A single identity requesting access for a Cloud Platform resource, 4927 // for example, "foo@google.com". 4928 Member string `json:"member,omitempty"` 4929 // Role: Role that is assigned to "members". For example, "roles/viewer", 4930 // "roles/editor", or "roles/owner". 4931 Role string `json:"role,omitempty"` 4932 // ForceSendFields is a list of field names (e.g. "Action") to unconditionally 4933 // include in API requests. By default, fields with empty or default values are 4934 // omitted from API requests. See 4935 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 4936 // details. 4937 ForceSendFields []string `json:"-"` 4938 // NullFields is a list of field names (e.g. "Action") to include in API 4939 // requests with the JSON null value. By default, fields with empty values are 4940 // omitted from API requests. See 4941 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 4942 NullFields []string `json:"-"` 4943 } 4944 4945 func (s *GoogleCloudSecuritycenterV2IamBinding) MarshalJSON() ([]byte, error) { 4946 type NoMethod GoogleCloudSecuritycenterV2IamBinding 4947 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 4948 } 4949 4950 // GoogleCloudSecuritycenterV2Indicator: Represents what's commonly known as an 4951 // _indicator of compromise_ (IoC) in computer forensics. This is an artifact 4952 // observed on a network or in an operating system that, with high confidence, 4953 // indicates a computer intrusion. For more information, see Indicator of 4954 // compromise (https://en.wikipedia.org/wiki/Indicator_of_compromise). 4955 type GoogleCloudSecuritycenterV2Indicator struct { 4956 // Domains: List of domains associated to the Finding. 4957 Domains []string `json:"domains,omitempty"` 4958 // IpAddresses: The list of IP addresses that are associated with the finding. 4959 IpAddresses []string `json:"ipAddresses,omitempty"` 4960 // Signatures: The list of matched signatures indicating that the given process 4961 // is present in the environment. 4962 Signatures []*GoogleCloudSecuritycenterV2ProcessSignature `json:"signatures,omitempty"` 4963 // Uris: The list of URIs associated to the Findings. 4964 Uris []string `json:"uris,omitempty"` 4965 // ForceSendFields is a list of field names (e.g. "Domains") to unconditionally 4966 // include in API requests. By default, fields with empty or default values are 4967 // omitted from API requests. See 4968 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 4969 // details. 4970 ForceSendFields []string `json:"-"` 4971 // NullFields is a list of field names (e.g. "Domains") to include in API 4972 // requests with the JSON null value. By default, fields with empty values are 4973 // omitted from API requests. See 4974 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 4975 NullFields []string `json:"-"` 4976 } 4977 4978 func (s *GoogleCloudSecuritycenterV2Indicator) MarshalJSON() ([]byte, error) { 4979 type NoMethod GoogleCloudSecuritycenterV2Indicator 4980 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 4981 } 4982 4983 // GoogleCloudSecuritycenterV2KernelRootkit: Kernel mode rootkit signatures. 4984 type GoogleCloudSecuritycenterV2KernelRootkit struct { 4985 // Name: Rootkit name, when available. 4986 Name string `json:"name,omitempty"` 4987 // UnexpectedCodeModification: True if unexpected modifications of kernel code 4988 // memory are present. 4989 UnexpectedCodeModification bool `json:"unexpectedCodeModification,omitempty"` 4990 // UnexpectedFtraceHandler: True if `ftrace` points are present with callbacks 4991 // pointing to regions that are not in the expected kernel or module code 4992 // range. 4993 UnexpectedFtraceHandler bool `json:"unexpectedFtraceHandler,omitempty"` 4994 // UnexpectedInterruptHandler: True if interrupt handlers that are are not in 4995 // the expected kernel or module code regions are present. 4996 UnexpectedInterruptHandler bool `json:"unexpectedInterruptHandler,omitempty"` 4997 // UnexpectedKernelCodePages: True if kernel code pages that are not in the 4998 // expected kernel or module code regions are present. 4999 UnexpectedKernelCodePages bool `json:"unexpectedKernelCodePages,omitempty"` 5000 // UnexpectedKprobeHandler: True if `kprobe` points are present with callbacks 5001 // pointing to regions that are not in the expected kernel or module code 5002 // range. 5003 UnexpectedKprobeHandler bool `json:"unexpectedKprobeHandler,omitempty"` 5004 // UnexpectedProcessesInRunqueue: True if unexpected processes in the scheduler 5005 // run queue are present. Such processes are in the run queue, but not in the 5006 // process task list. 5007 UnexpectedProcessesInRunqueue bool `json:"unexpectedProcessesInRunqueue,omitempty"` 5008 // UnexpectedReadOnlyDataModification: True if unexpected modifications of 5009 // kernel read-only data memory are present. 5010 UnexpectedReadOnlyDataModification bool `json:"unexpectedReadOnlyDataModification,omitempty"` 5011 // UnexpectedSystemCallHandler: True if system call handlers that are are not 5012 // in the expected kernel or module code regions are present. 5013 UnexpectedSystemCallHandler bool `json:"unexpectedSystemCallHandler,omitempty"` 5014 // ForceSendFields is a list of field names (e.g. "Name") to unconditionally 5015 // include in API requests. By default, fields with empty or default values are 5016 // omitted from API requests. See 5017 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 5018 // details. 5019 ForceSendFields []string `json:"-"` 5020 // NullFields is a list of field names (e.g. "Name") to include in API requests 5021 // with the JSON null value. By default, fields with empty values are omitted 5022 // from API requests. See 5023 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 5024 NullFields []string `json:"-"` 5025 } 5026 5027 func (s *GoogleCloudSecuritycenterV2KernelRootkit) MarshalJSON() ([]byte, error) { 5028 type NoMethod GoogleCloudSecuritycenterV2KernelRootkit 5029 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 5030 } 5031 5032 // GoogleCloudSecuritycenterV2Kubernetes: Kubernetes-related attributes. 5033 type GoogleCloudSecuritycenterV2Kubernetes struct { 5034 // AccessReviews: Provides information on any Kubernetes access reviews 5035 // (privilege checks) relevant to the finding. 5036 AccessReviews []*GoogleCloudSecuritycenterV2AccessReview `json:"accessReviews,omitempty"` 5037 // Bindings: Provides Kubernetes role binding information for findings that 5038 // involve RoleBindings or ClusterRoleBindings 5039 // (https://cloud.google.com/kubernetes-engine/docs/how-to/role-based-access-control). 5040 Bindings []*GoogleCloudSecuritycenterV2Binding `json:"bindings,omitempty"` 5041 // NodePools: GKE node pools 5042 // (https://cloud.google.com/kubernetes-engine/docs/concepts/node-pools) 5043 // associated with the finding. This field contains node pool information for 5044 // each node, when it is available. 5045 NodePools []*GoogleCloudSecuritycenterV2NodePool `json:"nodePools,omitempty"` 5046 // Nodes: Provides Kubernetes node 5047 // (https://cloud.google.com/kubernetes-engine/docs/concepts/cluster-architecture#nodes) 5048 // information. 5049 Nodes []*GoogleCloudSecuritycenterV2Node `json:"nodes,omitempty"` 5050 // Objects: Kubernetes objects related to the finding. 5051 Objects []*GoogleCloudSecuritycenterV2Object `json:"objects,omitempty"` 5052 // Pods: Kubernetes Pods 5053 // (https://cloud.google.com/kubernetes-engine/docs/concepts/pod) associated 5054 // with the finding. This field contains Pod records for each container that is 5055 // owned by a Pod. 5056 Pods []*GoogleCloudSecuritycenterV2Pod `json:"pods,omitempty"` 5057 // Roles: Provides Kubernetes role information for findings that involve Roles 5058 // or ClusterRoles 5059 // (https://cloud.google.com/kubernetes-engine/docs/how-to/role-based-access-control). 5060 Roles []*GoogleCloudSecuritycenterV2Role `json:"roles,omitempty"` 5061 // ForceSendFields is a list of field names (e.g. "AccessReviews") to 5062 // unconditionally include in API requests. By default, fields with empty or 5063 // default values are omitted from API requests. See 5064 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 5065 // details. 5066 ForceSendFields []string `json:"-"` 5067 // NullFields is a list of field names (e.g. "AccessReviews") to include in API 5068 // requests with the JSON null value. By default, fields with empty values are 5069 // omitted from API requests. See 5070 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 5071 NullFields []string `json:"-"` 5072 } 5073 5074 func (s *GoogleCloudSecuritycenterV2Kubernetes) MarshalJSON() ([]byte, error) { 5075 type NoMethod GoogleCloudSecuritycenterV2Kubernetes 5076 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 5077 } 5078 5079 // GoogleCloudSecuritycenterV2Label: Represents a generic name-value label. A 5080 // label has separate name and value fields to support filtering with the 5081 // `contains()` function. For more information, see Filtering on array-type 5082 // fields 5083 // (https://cloud.google.com/security-command-center/docs/how-to-api-list-findings#array-contains-filtering). 5084 type GoogleCloudSecuritycenterV2Label struct { 5085 // Name: Name of the label. 5086 Name string `json:"name,omitempty"` 5087 // Value: Value that corresponds to the label's name. 5088 Value string `json:"value,omitempty"` 5089 // ForceSendFields is a list of field names (e.g. "Name") to unconditionally 5090 // include in API requests. By default, fields with empty or default values are 5091 // omitted from API requests. See 5092 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 5093 // details. 5094 ForceSendFields []string `json:"-"` 5095 // NullFields is a list of field names (e.g. "Name") to include in API requests 5096 // with the JSON null value. By default, fields with empty values are omitted 5097 // from API requests. See 5098 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 5099 NullFields []string `json:"-"` 5100 } 5101 5102 func (s *GoogleCloudSecuritycenterV2Label) MarshalJSON() ([]byte, error) { 5103 type NoMethod GoogleCloudSecuritycenterV2Label 5104 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 5105 } 5106 5107 // GoogleCloudSecuritycenterV2LoadBalancer: Contains information related to the 5108 // load balancer associated with the finding. 5109 type GoogleCloudSecuritycenterV2LoadBalancer struct { 5110 // Name: The name of the load balancer associated with the finding. 5111 Name string `json:"name,omitempty"` 5112 // ForceSendFields is a list of field names (e.g. "Name") to unconditionally 5113 // include in API requests. By default, fields with empty or default values are 5114 // omitted from API requests. See 5115 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 5116 // details. 5117 ForceSendFields []string `json:"-"` 5118 // NullFields is a list of field names (e.g. "Name") to include in API requests 5119 // with the JSON null value. By default, fields with empty values are omitted 5120 // from API requests. See 5121 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 5122 NullFields []string `json:"-"` 5123 } 5124 5125 func (s *GoogleCloudSecuritycenterV2LoadBalancer) MarshalJSON() ([]byte, error) { 5126 type NoMethod GoogleCloudSecuritycenterV2LoadBalancer 5127 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 5128 } 5129 5130 // GoogleCloudSecuritycenterV2LogEntry: An individual entry in a log. 5131 type GoogleCloudSecuritycenterV2LogEntry struct { 5132 // CloudLoggingEntry: An individual entry in a log stored in Cloud Logging. 5133 CloudLoggingEntry *GoogleCloudSecuritycenterV2CloudLoggingEntry `json:"cloudLoggingEntry,omitempty"` 5134 // ForceSendFields is a list of field names (e.g. "CloudLoggingEntry") to 5135 // unconditionally include in API requests. By default, fields with empty or 5136 // default values are omitted from API requests. See 5137 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 5138 // details. 5139 ForceSendFields []string `json:"-"` 5140 // NullFields is a list of field names (e.g. "CloudLoggingEntry") to include in 5141 // API requests with the JSON null value. By default, fields with empty values 5142 // are omitted from API requests. See 5143 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 5144 NullFields []string `json:"-"` 5145 } 5146 5147 func (s *GoogleCloudSecuritycenterV2LogEntry) MarshalJSON() ([]byte, error) { 5148 type NoMethod GoogleCloudSecuritycenterV2LogEntry 5149 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 5150 } 5151 5152 // GoogleCloudSecuritycenterV2MemoryHashSignature: A signature corresponding to 5153 // memory page hashes. 5154 type GoogleCloudSecuritycenterV2MemoryHashSignature struct { 5155 // BinaryFamily: The binary family. 5156 BinaryFamily string `json:"binaryFamily,omitempty"` 5157 // Detections: The list of memory hash detections contributing to the binary 5158 // family match. 5159 Detections []*GoogleCloudSecuritycenterV2Detection `json:"detections,omitempty"` 5160 // ForceSendFields is a list of field names (e.g. "BinaryFamily") to 5161 // unconditionally include in API requests. By default, fields with empty or 5162 // default values are omitted from API requests. See 5163 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 5164 // details. 5165 ForceSendFields []string `json:"-"` 5166 // NullFields is a list of field names (e.g. "BinaryFamily") to include in API 5167 // requests with the JSON null value. By default, fields with empty values are 5168 // omitted from API requests. See 5169 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 5170 NullFields []string `json:"-"` 5171 } 5172 5173 func (s *GoogleCloudSecuritycenterV2MemoryHashSignature) MarshalJSON() ([]byte, error) { 5174 type NoMethod GoogleCloudSecuritycenterV2MemoryHashSignature 5175 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 5176 } 5177 5178 // GoogleCloudSecuritycenterV2MitreAttack: MITRE ATT&CK tactics and techniques 5179 // related to this finding. See: https://attack.mitre.org 5180 type GoogleCloudSecuritycenterV2MitreAttack struct { 5181 // AdditionalTactics: Additional MITRE ATT&CK tactics related to this finding, 5182 // if any. 5183 // 5184 // Possible values: 5185 // "TACTIC_UNSPECIFIED" - Unspecified value. 5186 // "RECONNAISSANCE" - TA0043 5187 // "RESOURCE_DEVELOPMENT" - TA0042 5188 // "INITIAL_ACCESS" - TA0001 5189 // "EXECUTION" - TA0002 5190 // "PERSISTENCE" - TA0003 5191 // "PRIVILEGE_ESCALATION" - TA0004 5192 // "DEFENSE_EVASION" - TA0005 5193 // "CREDENTIAL_ACCESS" - TA0006 5194 // "DISCOVERY" - TA0007 5195 // "LATERAL_MOVEMENT" - TA0008 5196 // "COLLECTION" - TA0009 5197 // "COMMAND_AND_CONTROL" - TA0011 5198 // "EXFILTRATION" - TA0010 5199 // "IMPACT" - TA0040 5200 AdditionalTactics []string `json:"additionalTactics,omitempty"` 5201 // AdditionalTechniques: Additional MITRE ATT&CK techniques related to this 5202 // finding, if any, along with any of their respective parent techniques. 5203 // 5204 // Possible values: 5205 // "TECHNIQUE_UNSPECIFIED" - Unspecified value. 5206 // "MASQUERADING" - T1036 5207 // "MATCH_LEGITIMATE_NAME_OR_LOCATION" - T1036.005 5208 // "BOOT_OR_LOGON_INITIALIZATION_SCRIPTS" - T1037 5209 // "STARTUP_ITEMS" - T1037.005 5210 // "NETWORK_SERVICE_DISCOVERY" - T1046 5211 // "PROCESS_DISCOVERY" - T1057 5212 // "COMMAND_AND_SCRIPTING_INTERPRETER" - T1059 5213 // "UNIX_SHELL" - T1059.004 5214 // "PYTHON" - T1059.006 5215 // "PERMISSION_GROUPS_DISCOVERY" - T1069 5216 // "CLOUD_GROUPS" - T1069.003 5217 // "APPLICATION_LAYER_PROTOCOL" - T1071 5218 // "DNS" - T1071.004 5219 // "SOFTWARE_DEPLOYMENT_TOOLS" - T1072 5220 // "VALID_ACCOUNTS" - T1078 5221 // "DEFAULT_ACCOUNTS" - T1078.001 5222 // "LOCAL_ACCOUNTS" - T1078.003 5223 // "CLOUD_ACCOUNTS" - T1078.004 5224 // "PROXY" - T1090 5225 // "EXTERNAL_PROXY" - T1090.002 5226 // "MULTI_HOP_PROXY" - T1090.003 5227 // "ACCOUNT_MANIPULATION" - T1098 5228 // "ADDITIONAL_CLOUD_CREDENTIALS" - T1098.001 5229 // "SSH_AUTHORIZED_KEYS" - T1098.004 5230 // "ADDITIONAL_CONTAINER_CLUSTER_ROLES" - T1098.006 5231 // "INGRESS_TOOL_TRANSFER" - T1105 5232 // "NATIVE_API" - T1106 5233 // "BRUTE_FORCE" - T1110 5234 // "SHARED_MODULES" - T1129 5235 // "ACCESS_TOKEN_MANIPULATION" - T1134 5236 // "TOKEN_IMPERSONATION_OR_THEFT" - T1134.001 5237 // "EXPLOIT_PUBLIC_FACING_APPLICATION" - T1190 5238 // "DOMAIN_POLICY_MODIFICATION" - T1484 5239 // "DATA_DESTRUCTION" - T1485 5240 // "SERVICE_STOP" - T1489 5241 // "INHIBIT_SYSTEM_RECOVERY" - T1490 5242 // "RESOURCE_HIJACKING" - T1496 5243 // "NETWORK_DENIAL_OF_SERVICE" - T1498 5244 // "CLOUD_SERVICE_DISCOVERY" - T1526 5245 // "STEAL_APPLICATION_ACCESS_TOKEN" - T1528 5246 // "ACCOUNT_ACCESS_REMOVAL" - T1531 5247 // "STEAL_WEB_SESSION_COOKIE" - T1539 5248 // "CREATE_OR_MODIFY_SYSTEM_PROCESS" - T1543 5249 // "ABUSE_ELEVATION_CONTROL_MECHANISM" - T1548 5250 // "UNSECURED_CREDENTIALS" - T1552 5251 // "MODIFY_AUTHENTICATION_PROCESS" - T1556 5252 // "IMPAIR_DEFENSES" - T1562 5253 // "DISABLE_OR_MODIFY_TOOLS" - T1562.001 5254 // "EXFILTRATION_OVER_WEB_SERVICE" - T1567 5255 // "EXFILTRATION_TO_CLOUD_STORAGE" - T1567.002 5256 // "DYNAMIC_RESOLUTION" - T1568 5257 // "LATERAL_TOOL_TRANSFER" - T1570 5258 // "MODIFY_CLOUD_COMPUTE_INFRASTRUCTURE" - T1578 5259 // "CREATE_SNAPSHOT" - T1578.001 5260 // "CLOUD_INFRASTRUCTURE_DISCOVERY" - T1580 5261 // "OBTAIN_CAPABILITIES" - T1588 5262 // "ACTIVE_SCANNING" - T1595 5263 // "SCANNING_IP_BLOCKS" - T1595.001 5264 // "CONTAINER_AND_RESOURCE_DISCOVERY" - T1613 5265 AdditionalTechniques []string `json:"additionalTechniques,omitempty"` 5266 // PrimaryTactic: The MITRE ATT&CK tactic most closely represented by this 5267 // finding, if any. 5268 // 5269 // Possible values: 5270 // "TACTIC_UNSPECIFIED" - Unspecified value. 5271 // "RECONNAISSANCE" - TA0043 5272 // "RESOURCE_DEVELOPMENT" - TA0042 5273 // "INITIAL_ACCESS" - TA0001 5274 // "EXECUTION" - TA0002 5275 // "PERSISTENCE" - TA0003 5276 // "PRIVILEGE_ESCALATION" - TA0004 5277 // "DEFENSE_EVASION" - TA0005 5278 // "CREDENTIAL_ACCESS" - TA0006 5279 // "DISCOVERY" - TA0007 5280 // "LATERAL_MOVEMENT" - TA0008 5281 // "COLLECTION" - TA0009 5282 // "COMMAND_AND_CONTROL" - TA0011 5283 // "EXFILTRATION" - TA0010 5284 // "IMPACT" - TA0040 5285 PrimaryTactic string `json:"primaryTactic,omitempty"` 5286 // PrimaryTechniques: The MITRE ATT&CK technique most closely represented by 5287 // this finding, if any. primary_techniques is a repeated field because there 5288 // are multiple levels of MITRE ATT&CK techniques. If the technique most 5289 // closely represented by this finding is a sub-technique (e.g. 5290 // `SCANNING_IP_BLOCKS`), both the sub-technique and its parent technique(s) 5291 // will be listed (e.g. `SCANNING_IP_BLOCKS`, `ACTIVE_SCANNING`). 5292 // 5293 // Possible values: 5294 // "TECHNIQUE_UNSPECIFIED" - Unspecified value. 5295 // "MASQUERADING" - T1036 5296 // "MATCH_LEGITIMATE_NAME_OR_LOCATION" - T1036.005 5297 // "BOOT_OR_LOGON_INITIALIZATION_SCRIPTS" - T1037 5298 // "STARTUP_ITEMS" - T1037.005 5299 // "NETWORK_SERVICE_DISCOVERY" - T1046 5300 // "PROCESS_DISCOVERY" - T1057 5301 // "COMMAND_AND_SCRIPTING_INTERPRETER" - T1059 5302 // "UNIX_SHELL" - T1059.004 5303 // "PYTHON" - T1059.006 5304 // "PERMISSION_GROUPS_DISCOVERY" - T1069 5305 // "CLOUD_GROUPS" - T1069.003 5306 // "APPLICATION_LAYER_PROTOCOL" - T1071 5307 // "DNS" - T1071.004 5308 // "SOFTWARE_DEPLOYMENT_TOOLS" - T1072 5309 // "VALID_ACCOUNTS" - T1078 5310 // "DEFAULT_ACCOUNTS" - T1078.001 5311 // "LOCAL_ACCOUNTS" - T1078.003 5312 // "CLOUD_ACCOUNTS" - T1078.004 5313 // "PROXY" - T1090 5314 // "EXTERNAL_PROXY" - T1090.002 5315 // "MULTI_HOP_PROXY" - T1090.003 5316 // "ACCOUNT_MANIPULATION" - T1098 5317 // "ADDITIONAL_CLOUD_CREDENTIALS" - T1098.001 5318 // "SSH_AUTHORIZED_KEYS" - T1098.004 5319 // "ADDITIONAL_CONTAINER_CLUSTER_ROLES" - T1098.006 5320 // "INGRESS_TOOL_TRANSFER" - T1105 5321 // "NATIVE_API" - T1106 5322 // "BRUTE_FORCE" - T1110 5323 // "SHARED_MODULES" - T1129 5324 // "ACCESS_TOKEN_MANIPULATION" - T1134 5325 // "TOKEN_IMPERSONATION_OR_THEFT" - T1134.001 5326 // "EXPLOIT_PUBLIC_FACING_APPLICATION" - T1190 5327 // "DOMAIN_POLICY_MODIFICATION" - T1484 5328 // "DATA_DESTRUCTION" - T1485 5329 // "SERVICE_STOP" - T1489 5330 // "INHIBIT_SYSTEM_RECOVERY" - T1490 5331 // "RESOURCE_HIJACKING" - T1496 5332 // "NETWORK_DENIAL_OF_SERVICE" - T1498 5333 // "CLOUD_SERVICE_DISCOVERY" - T1526 5334 // "STEAL_APPLICATION_ACCESS_TOKEN" - T1528 5335 // "ACCOUNT_ACCESS_REMOVAL" - T1531 5336 // "STEAL_WEB_SESSION_COOKIE" - T1539 5337 // "CREATE_OR_MODIFY_SYSTEM_PROCESS" - T1543 5338 // "ABUSE_ELEVATION_CONTROL_MECHANISM" - T1548 5339 // "UNSECURED_CREDENTIALS" - T1552 5340 // "MODIFY_AUTHENTICATION_PROCESS" - T1556 5341 // "IMPAIR_DEFENSES" - T1562 5342 // "DISABLE_OR_MODIFY_TOOLS" - T1562.001 5343 // "EXFILTRATION_OVER_WEB_SERVICE" - T1567 5344 // "EXFILTRATION_TO_CLOUD_STORAGE" - T1567.002 5345 // "DYNAMIC_RESOLUTION" - T1568 5346 // "LATERAL_TOOL_TRANSFER" - T1570 5347 // "MODIFY_CLOUD_COMPUTE_INFRASTRUCTURE" - T1578 5348 // "CREATE_SNAPSHOT" - T1578.001 5349 // "CLOUD_INFRASTRUCTURE_DISCOVERY" - T1580 5350 // "OBTAIN_CAPABILITIES" - T1588 5351 // "ACTIVE_SCANNING" - T1595 5352 // "SCANNING_IP_BLOCKS" - T1595.001 5353 // "CONTAINER_AND_RESOURCE_DISCOVERY" - T1613 5354 PrimaryTechniques []string `json:"primaryTechniques,omitempty"` 5355 // Version: The MITRE ATT&CK version referenced by the above fields. E.g. "8". 5356 Version string `json:"version,omitempty"` 5357 // ForceSendFields is a list of field names (e.g. "AdditionalTactics") to 5358 // unconditionally include in API requests. By default, fields with empty or 5359 // default values are omitted from API requests. See 5360 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 5361 // details. 5362 ForceSendFields []string `json:"-"` 5363 // NullFields is a list of field names (e.g. "AdditionalTactics") to include in 5364 // API requests with the JSON null value. By default, fields with empty values 5365 // are omitted from API requests. See 5366 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 5367 NullFields []string `json:"-"` 5368 } 5369 5370 func (s *GoogleCloudSecuritycenterV2MitreAttack) MarshalJSON() ([]byte, error) { 5371 type NoMethod GoogleCloudSecuritycenterV2MitreAttack 5372 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 5373 } 5374 5375 // GoogleCloudSecuritycenterV2MuteConfig: A mute config is a Cloud SCC resource 5376 // that contains the configuration to mute create/update events of findings. 5377 type GoogleCloudSecuritycenterV2MuteConfig struct { 5378 // CreateTime: Output only. The time at which the mute config was created. This 5379 // field is set by the server and will be ignored if provided on config 5380 // creation. 5381 CreateTime string `json:"createTime,omitempty"` 5382 // Description: A description of the mute config. 5383 Description string `json:"description,omitempty"` 5384 // Filter: Required. An expression that defines the filter to apply across 5385 // create/update events of findings. While creating a filter string, be mindful 5386 // of the scope in which the mute configuration is being created. E.g., If a 5387 // filter contains project = X but is created under the project = Y scope, it 5388 // might not match any findings. The following field and operator combinations 5389 // are supported: * severity: `=`, `:` * category: `=`, `:` * resource.name: 5390 // `=`, `:` * resource.project_name: `=`, `:` * resource.project_display_name: 5391 // `=`, `:` * resource.folders.resource_folder: `=`, `:` * 5392 // resource.parent_name: `=`, `:` * resource.parent_display_name: `=`, `:` * 5393 // resource.type: `=`, `:` * finding_class: `=`, `:` * indicator.ip_addresses: 5394 // `=`, `:` * indicator.domains: `=`, `:` 5395 Filter string `json:"filter,omitempty"` 5396 // MostRecentEditor: Output only. Email address of the user who last edited the 5397 // mute config. This field is set by the server and will be ignored if provided 5398 // on config creation or update. 5399 MostRecentEditor string `json:"mostRecentEditor,omitempty"` 5400 // Name: This field will be ignored if provided on config creation. The 5401 // following list shows some examples of the format: + 5402 // `organizations/{organization}/muteConfigs/{mute_config}` + 5403 // `organizations/{organization}locations/{location}//muteConfigs/{mute_config}` 5404 // + `folders/{folder}/muteConfigs/{mute_config}` + 5405 // `folders/{folder}/locations/{location}/muteConfigs/{mute_config}` + 5406 // `projects/{project}/muteConfigs/{mute_config}` + 5407 // `projects/{project}/locations/{location}/muteConfigs/{mute_config}` 5408 Name string `json:"name,omitempty"` 5409 // Type: Required. The type of the mute config, which determines what type of 5410 // mute state the config affects. Immutable after creation. 5411 // 5412 // Possible values: 5413 // "MUTE_CONFIG_TYPE_UNSPECIFIED" - Unused. 5414 // "STATIC" - A static mute config, which sets the static mute state of 5415 // future matching findings to muted. Once the static mute state has been set, 5416 // finding or config modifications will not affect the state. 5417 Type string `json:"type,omitempty"` 5418 // UpdateTime: Output only. The most recent time at which the mute config was 5419 // updated. This field is set by the server and will be ignored if provided on 5420 // config creation or update. 5421 UpdateTime string `json:"updateTime,omitempty"` 5422 // ForceSendFields is a list of field names (e.g. "CreateTime") to 5423 // unconditionally include in API requests. By default, fields with empty or 5424 // default values are omitted from API requests. See 5425 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 5426 // details. 5427 ForceSendFields []string `json:"-"` 5428 // NullFields is a list of field names (e.g. "CreateTime") to include in API 5429 // requests with the JSON null value. By default, fields with empty values are 5430 // omitted from API requests. See 5431 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 5432 NullFields []string `json:"-"` 5433 } 5434 5435 func (s *GoogleCloudSecuritycenterV2MuteConfig) MarshalJSON() ([]byte, error) { 5436 type NoMethod GoogleCloudSecuritycenterV2MuteConfig 5437 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 5438 } 5439 5440 // GoogleCloudSecuritycenterV2Node: Kubernetes nodes associated with the 5441 // finding. 5442 type GoogleCloudSecuritycenterV2Node struct { 5443 // Name: Full resource name (https://google.aip.dev/122#full-resource-names) of 5444 // the Compute Engine VM running the cluster node. 5445 Name string `json:"name,omitempty"` 5446 // ForceSendFields is a list of field names (e.g. "Name") to unconditionally 5447 // include in API requests. By default, fields with empty or default values are 5448 // omitted from API requests. See 5449 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 5450 // details. 5451 ForceSendFields []string `json:"-"` 5452 // NullFields is a list of field names (e.g. "Name") to include in API requests 5453 // with the JSON null value. By default, fields with empty values are omitted 5454 // from API requests. See 5455 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 5456 NullFields []string `json:"-"` 5457 } 5458 5459 func (s *GoogleCloudSecuritycenterV2Node) MarshalJSON() ([]byte, error) { 5460 type NoMethod GoogleCloudSecuritycenterV2Node 5461 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 5462 } 5463 5464 // GoogleCloudSecuritycenterV2NodePool: Provides GKE node pool information. 5465 type GoogleCloudSecuritycenterV2NodePool struct { 5466 // Name: Kubernetes node pool name. 5467 Name string `json:"name,omitempty"` 5468 // Nodes: Nodes associated with the finding. 5469 Nodes []*GoogleCloudSecuritycenterV2Node `json:"nodes,omitempty"` 5470 // ForceSendFields is a list of field names (e.g. "Name") to unconditionally 5471 // include in API requests. By default, fields with empty or default values are 5472 // omitted from API requests. See 5473 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 5474 // details. 5475 ForceSendFields []string `json:"-"` 5476 // NullFields is a list of field names (e.g. "Name") to include in API requests 5477 // with the JSON null value. By default, fields with empty values are omitted 5478 // from API requests. See 5479 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 5480 NullFields []string `json:"-"` 5481 } 5482 5483 func (s *GoogleCloudSecuritycenterV2NodePool) MarshalJSON() ([]byte, error) { 5484 type NoMethod GoogleCloudSecuritycenterV2NodePool 5485 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 5486 } 5487 5488 // GoogleCloudSecuritycenterV2Notebook: Represents a Jupyter notebook IPYNB 5489 // file, such as a Colab Enterprise notebook 5490 // (https://cloud.google.com/colab/docs/introduction) file, that is associated 5491 // with a finding. 5492 type GoogleCloudSecuritycenterV2Notebook struct { 5493 // LastAuthor: The user ID of the latest author to modify the notebook. 5494 LastAuthor string `json:"lastAuthor,omitempty"` 5495 // Name: The name of the notebook. 5496 Name string `json:"name,omitempty"` 5497 // NotebookUpdateTime: The most recent time the notebook was updated. 5498 NotebookUpdateTime string `json:"notebookUpdateTime,omitempty"` 5499 // Service: The source notebook service, for example, "Colab Enterprise". 5500 Service string `json:"service,omitempty"` 5501 // ForceSendFields is a list of field names (e.g. "LastAuthor") to 5502 // unconditionally include in API requests. By default, fields with empty or 5503 // default values are omitted from API requests. See 5504 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 5505 // details. 5506 ForceSendFields []string `json:"-"` 5507 // NullFields is a list of field names (e.g. "LastAuthor") to include in API 5508 // requests with the JSON null value. By default, fields with empty values are 5509 // omitted from API requests. See 5510 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 5511 NullFields []string `json:"-"` 5512 } 5513 5514 func (s *GoogleCloudSecuritycenterV2Notebook) MarshalJSON() ([]byte, error) { 5515 type NoMethod GoogleCloudSecuritycenterV2Notebook 5516 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 5517 } 5518 5519 // GoogleCloudSecuritycenterV2NotificationMessage: Cloud SCC's Notification 5520 type GoogleCloudSecuritycenterV2NotificationMessage struct { 5521 // Finding: If it's a Finding based notification config, this field will be 5522 // populated. 5523 Finding *GoogleCloudSecuritycenterV2Finding `json:"finding,omitempty"` 5524 // NotificationConfigName: Name of the notification config that generated 5525 // current notification. 5526 NotificationConfigName string `json:"notificationConfigName,omitempty"` 5527 // Resource: The Cloud resource tied to this notification's Finding. 5528 Resource *GoogleCloudSecuritycenterV2Resource `json:"resource,omitempty"` 5529 // ForceSendFields is a list of field names (e.g. "Finding") to unconditionally 5530 // include in API requests. By default, fields with empty or default values are 5531 // omitted from API requests. See 5532 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 5533 // details. 5534 ForceSendFields []string `json:"-"` 5535 // NullFields is a list of field names (e.g. "Finding") to include in API 5536 // requests with the JSON null value. By default, fields with empty values are 5537 // omitted from API requests. See 5538 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 5539 NullFields []string `json:"-"` 5540 } 5541 5542 func (s *GoogleCloudSecuritycenterV2NotificationMessage) MarshalJSON() ([]byte, error) { 5543 type NoMethod GoogleCloudSecuritycenterV2NotificationMessage 5544 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 5545 } 5546 5547 // GoogleCloudSecuritycenterV2Object: Kubernetes object related to the finding, 5548 // uniquely identified by GKNN. Used if the object Kind is not one of Pod, 5549 // Node, NodePool, Binding, or AccessReview. 5550 type GoogleCloudSecuritycenterV2Object struct { 5551 // Containers: Pod containers associated with this finding, if any. 5552 Containers []*GoogleCloudSecuritycenterV2Container `json:"containers,omitempty"` 5553 // Group: Kubernetes object group, such as "policy.k8s.io/v1". 5554 Group string `json:"group,omitempty"` 5555 // Kind: Kubernetes object kind, such as "Namespace". 5556 Kind string `json:"kind,omitempty"` 5557 // Name: Kubernetes object name. For details see 5558 // https://kubernetes.io/docs/concepts/overview/working-with-objects/names/. 5559 Name string `json:"name,omitempty"` 5560 // Ns: Kubernetes object namespace. Must be a valid DNS label. Named "ns" to 5561 // avoid collision with C++ namespace keyword. For details see 5562 // https://kubernetes.io/docs/tasks/administer-cluster/namespaces/. 5563 Ns string `json:"ns,omitempty"` 5564 // ForceSendFields is a list of field names (e.g. "Containers") to 5565 // unconditionally include in API requests. By default, fields with empty or 5566 // default values are omitted from API requests. See 5567 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 5568 // details. 5569 ForceSendFields []string `json:"-"` 5570 // NullFields is a list of field names (e.g. "Containers") to include in API 5571 // requests with the JSON null value. By default, fields with empty values are 5572 // omitted from API requests. See 5573 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 5574 NullFields []string `json:"-"` 5575 } 5576 5577 func (s *GoogleCloudSecuritycenterV2Object) MarshalJSON() ([]byte, error) { 5578 type NoMethod GoogleCloudSecuritycenterV2Object 5579 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 5580 } 5581 5582 // GoogleCloudSecuritycenterV2OrgPolicy: Contains information about the org 5583 // policies associated with the finding. 5584 type GoogleCloudSecuritycenterV2OrgPolicy struct { 5585 // Name: The resource name of the org policy. Example: 5586 // "organizations/{organization_id}/policies/{constraint_name}" 5587 Name string `json:"name,omitempty"` 5588 // ForceSendFields is a list of field names (e.g. "Name") to unconditionally 5589 // include in API requests. By default, fields with empty or default values are 5590 // omitted from API requests. See 5591 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 5592 // details. 5593 ForceSendFields []string `json:"-"` 5594 // NullFields is a list of field names (e.g. "Name") to include in API requests 5595 // with the JSON null value. By default, fields with empty values are omitted 5596 // from API requests. See 5597 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 5598 NullFields []string `json:"-"` 5599 } 5600 5601 func (s *GoogleCloudSecuritycenterV2OrgPolicy) MarshalJSON() ([]byte, error) { 5602 type NoMethod GoogleCloudSecuritycenterV2OrgPolicy 5603 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 5604 } 5605 5606 // GoogleCloudSecuritycenterV2Package: Package is a generic definition of a 5607 // package. 5608 type GoogleCloudSecuritycenterV2Package struct { 5609 // CpeUri: The CPE URI where the vulnerability was detected. 5610 CpeUri string `json:"cpeUri,omitempty"` 5611 // PackageName: The name of the package where the vulnerability was detected. 5612 PackageName string `json:"packageName,omitempty"` 5613 // PackageType: Type of package, for example, os, maven, or go. 5614 PackageType string `json:"packageType,omitempty"` 5615 // PackageVersion: The version of the package. 5616 PackageVersion string `json:"packageVersion,omitempty"` 5617 // ForceSendFields is a list of field names (e.g. "CpeUri") to unconditionally 5618 // include in API requests. By default, fields with empty or default values are 5619 // omitted from API requests. See 5620 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 5621 // details. 5622 ForceSendFields []string `json:"-"` 5623 // NullFields is a list of field names (e.g. "CpeUri") to include in API 5624 // requests with the JSON null value. By default, fields with empty values are 5625 // omitted from API requests. See 5626 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 5627 NullFields []string `json:"-"` 5628 } 5629 5630 func (s *GoogleCloudSecuritycenterV2Package) MarshalJSON() ([]byte, error) { 5631 type NoMethod GoogleCloudSecuritycenterV2Package 5632 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 5633 } 5634 5635 // GoogleCloudSecuritycenterV2Pod: A Kubernetes Pod. 5636 type GoogleCloudSecuritycenterV2Pod struct { 5637 // Containers: Pod containers associated with this finding, if any. 5638 Containers []*GoogleCloudSecuritycenterV2Container `json:"containers,omitempty"` 5639 // Labels: Pod labels. For Kubernetes containers, these are applied to the 5640 // container. 5641 Labels []*GoogleCloudSecuritycenterV2Label `json:"labels,omitempty"` 5642 // Name: Kubernetes Pod name. 5643 Name string `json:"name,omitempty"` 5644 // Ns: Kubernetes Pod namespace. 5645 Ns string `json:"ns,omitempty"` 5646 // ForceSendFields is a list of field names (e.g. "Containers") to 5647 // unconditionally include in API requests. By default, fields with empty or 5648 // default values are omitted from API requests. See 5649 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 5650 // details. 5651 ForceSendFields []string `json:"-"` 5652 // NullFields is a list of field names (e.g. "Containers") to include in API 5653 // requests with the JSON null value. By default, fields with empty values are 5654 // omitted from API requests. See 5655 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 5656 NullFields []string `json:"-"` 5657 } 5658 5659 func (s *GoogleCloudSecuritycenterV2Pod) MarshalJSON() ([]byte, error) { 5660 type NoMethod GoogleCloudSecuritycenterV2Pod 5661 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 5662 } 5663 5664 // GoogleCloudSecuritycenterV2PolicyDriftDetails: The policy field that 5665 // violates the deployed posture and its expected and detected values. 5666 type GoogleCloudSecuritycenterV2PolicyDriftDetails struct { 5667 // DetectedValue: The detected value that violates the deployed posture, for 5668 // example, `false` or `allowed_values={"projects/22831892"}`. 5669 DetectedValue string `json:"detectedValue,omitempty"` 5670 // ExpectedValue: The value of this field that was configured in a posture, for 5671 // example, `true` or `allowed_values={"projects/29831892"}`. 5672 ExpectedValue string `json:"expectedValue,omitempty"` 5673 // Field: The name of the updated field, for example 5674 // constraint.implementation.policy_rules[0].enforce 5675 Field string `json:"field,omitempty"` 5676 // ForceSendFields is a list of field names (e.g. "DetectedValue") to 5677 // unconditionally include in API requests. By default, fields with empty or 5678 // default values are omitted from API requests. See 5679 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 5680 // details. 5681 ForceSendFields []string `json:"-"` 5682 // NullFields is a list of field names (e.g. "DetectedValue") to include in API 5683 // requests with the JSON null value. By default, fields with empty values are 5684 // omitted from API requests. See 5685 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 5686 NullFields []string `json:"-"` 5687 } 5688 5689 func (s *GoogleCloudSecuritycenterV2PolicyDriftDetails) MarshalJSON() ([]byte, error) { 5690 type NoMethod GoogleCloudSecuritycenterV2PolicyDriftDetails 5691 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 5692 } 5693 5694 // GoogleCloudSecuritycenterV2Process: Represents an operating system process. 5695 type GoogleCloudSecuritycenterV2Process struct { 5696 // Args: Process arguments as JSON encoded strings. 5697 Args []string `json:"args,omitempty"` 5698 // ArgumentsTruncated: True if `args` is incomplete. 5699 ArgumentsTruncated bool `json:"argumentsTruncated,omitempty"` 5700 // Binary: File information for the process executable. 5701 Binary *GoogleCloudSecuritycenterV2File `json:"binary,omitempty"` 5702 // EnvVariables: Process environment variables. 5703 EnvVariables []*GoogleCloudSecuritycenterV2EnvironmentVariable `json:"envVariables,omitempty"` 5704 // EnvVariablesTruncated: True if `env_variables` is incomplete. 5705 EnvVariablesTruncated bool `json:"envVariablesTruncated,omitempty"` 5706 // Libraries: File information for libraries loaded by the process. 5707 Libraries []*GoogleCloudSecuritycenterV2File `json:"libraries,omitempty"` 5708 // Name: The process name, as displayed in utilities like `top` and `ps`. This 5709 // name can be accessed through `/proc/[pid]/comm` and changed with 5710 // `prctl(PR_SET_NAME)`. 5711 Name string `json:"name,omitempty"` 5712 // ParentPid: The parent process ID. 5713 ParentPid int64 `json:"parentPid,omitempty,string"` 5714 // Pid: The process ID. 5715 Pid int64 `json:"pid,omitempty,string"` 5716 // Script: When the process represents the invocation of a script, `binary` 5717 // provides information about the interpreter, while `script` provides 5718 // information about the script file provided to the interpreter. 5719 Script *GoogleCloudSecuritycenterV2File `json:"script,omitempty"` 5720 // ForceSendFields is a list of field names (e.g. "Args") to unconditionally 5721 // include in API requests. By default, fields with empty or default values are 5722 // omitted from API requests. See 5723 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 5724 // details. 5725 ForceSendFields []string `json:"-"` 5726 // NullFields is a list of field names (e.g. "Args") to include in API requests 5727 // with the JSON null value. By default, fields with empty values are omitted 5728 // from API requests. See 5729 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 5730 NullFields []string `json:"-"` 5731 } 5732 5733 func (s *GoogleCloudSecuritycenterV2Process) MarshalJSON() ([]byte, error) { 5734 type NoMethod GoogleCloudSecuritycenterV2Process 5735 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 5736 } 5737 5738 // GoogleCloudSecuritycenterV2ProcessSignature: Indicates what signature 5739 // matched this process. 5740 type GoogleCloudSecuritycenterV2ProcessSignature struct { 5741 // MemoryHashSignature: Signature indicating that a binary family was matched. 5742 MemoryHashSignature *GoogleCloudSecuritycenterV2MemoryHashSignature `json:"memoryHashSignature,omitempty"` 5743 // SignatureType: Describes the type of resource associated with the signature. 5744 // 5745 // Possible values: 5746 // "SIGNATURE_TYPE_UNSPECIFIED" - The default signature type. 5747 // "SIGNATURE_TYPE_PROCESS" - Used for signatures concerning processes. 5748 // "SIGNATURE_TYPE_FILE" - Used for signatures concerning disks. 5749 SignatureType string `json:"signatureType,omitempty"` 5750 // YaraRuleSignature: Signature indicating that a YARA rule was matched. 5751 YaraRuleSignature *GoogleCloudSecuritycenterV2YaraRuleSignature `json:"yaraRuleSignature,omitempty"` 5752 // ForceSendFields is a list of field names (e.g. "MemoryHashSignature") to 5753 // unconditionally include in API requests. By default, fields with empty or 5754 // default values are omitted from API requests. See 5755 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 5756 // details. 5757 ForceSendFields []string `json:"-"` 5758 // NullFields is a list of field names (e.g. "MemoryHashSignature") to include 5759 // in API requests with the JSON null value. By default, fields with empty 5760 // values are omitted from API requests. See 5761 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 5762 NullFields []string `json:"-"` 5763 } 5764 5765 func (s *GoogleCloudSecuritycenterV2ProcessSignature) MarshalJSON() ([]byte, error) { 5766 type NoMethod GoogleCloudSecuritycenterV2ProcessSignature 5767 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 5768 } 5769 5770 // GoogleCloudSecuritycenterV2Reference: Additional Links 5771 type GoogleCloudSecuritycenterV2Reference struct { 5772 // Source: Source of the reference e.g. NVD 5773 Source string `json:"source,omitempty"` 5774 // Uri: Uri for the mentioned source e.g. 5775 // https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-34527. 5776 Uri string `json:"uri,omitempty"` 5777 // ForceSendFields is a list of field names (e.g. "Source") to unconditionally 5778 // include in API requests. By default, fields with empty or default values are 5779 // omitted from API requests. See 5780 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 5781 // details. 5782 ForceSendFields []string `json:"-"` 5783 // NullFields is a list of field names (e.g. "Source") to include in API 5784 // requests with the JSON null value. By default, fields with empty values are 5785 // omitted from API requests. See 5786 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 5787 NullFields []string `json:"-"` 5788 } 5789 5790 func (s *GoogleCloudSecuritycenterV2Reference) MarshalJSON() ([]byte, error) { 5791 type NoMethod GoogleCloudSecuritycenterV2Reference 5792 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 5793 } 5794 5795 // GoogleCloudSecuritycenterV2Requests: Information about the requests relevant 5796 // to the finding. 5797 type GoogleCloudSecuritycenterV2Requests struct { 5798 // LongTermAllowed: Allowed RPS (requests per second) over the long term. 5799 LongTermAllowed int64 `json:"longTermAllowed,omitempty"` 5800 // LongTermDenied: Denied RPS (requests per second) over the long term. 5801 LongTermDenied int64 `json:"longTermDenied,omitempty"` 5802 // Ratio: For 'Increasing deny ratio', the ratio is the denied traffic divided 5803 // by the allowed traffic. For 'Allowed traffic spike', the ratio is the 5804 // allowed traffic in the short term divided by allowed traffic in the long 5805 // term. 5806 Ratio float64 `json:"ratio,omitempty"` 5807 // ShortTermAllowed: Allowed RPS (requests per second) in the short term. 5808 ShortTermAllowed int64 `json:"shortTermAllowed,omitempty"` 5809 // ForceSendFields is a list of field names (e.g. "LongTermAllowed") to 5810 // unconditionally include in API requests. By default, fields with empty or 5811 // default values are omitted from API requests. See 5812 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 5813 // details. 5814 ForceSendFields []string `json:"-"` 5815 // NullFields is a list of field names (e.g. "LongTermAllowed") to include in 5816 // API requests with the JSON null value. By default, fields with empty values 5817 // are omitted from API requests. See 5818 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 5819 NullFields []string `json:"-"` 5820 } 5821 5822 func (s *GoogleCloudSecuritycenterV2Requests) MarshalJSON() ([]byte, error) { 5823 type NoMethod GoogleCloudSecuritycenterV2Requests 5824 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 5825 } 5826 5827 func (s *GoogleCloudSecuritycenterV2Requests) UnmarshalJSON(data []byte) error { 5828 type NoMethod GoogleCloudSecuritycenterV2Requests 5829 var s1 struct { 5830 Ratio gensupport.JSONFloat64 `json:"ratio"` 5831 *NoMethod 5832 } 5833 s1.NoMethod = (*NoMethod)(s) 5834 if err := json.Unmarshal(data, &s1); err != nil { 5835 return err 5836 } 5837 s.Ratio = float64(s1.Ratio) 5838 return nil 5839 } 5840 5841 // GoogleCloudSecuritycenterV2Resource: Information related to the Google Cloud 5842 // resource. 5843 type GoogleCloudSecuritycenterV2Resource struct { 5844 // AwsMetadata: The AWS metadata associated with the finding. 5845 AwsMetadata *GoogleCloudSecuritycenterV2AwsMetadata `json:"awsMetadata,omitempty"` 5846 // CloudProvider: Indicates which cloud provider the finding is from. 5847 // 5848 // Possible values: 5849 // "CLOUD_PROVIDER_UNSPECIFIED" - The cloud provider is unspecified. 5850 // "GOOGLE_CLOUD_PLATFORM" - The cloud provider is Google Cloud Platform. 5851 // "AMAZON_WEB_SERVICES" - The cloud provider is Amazon Web Services. 5852 // "MICROSOFT_AZURE" - The cloud provider is Microsoft Azure. 5853 CloudProvider string `json:"cloudProvider,omitempty"` 5854 // DisplayName: The human readable name of the resource. 5855 DisplayName string `json:"displayName,omitempty"` 5856 // GcpMetadata: The GCP metadata associated with the finding. 5857 GcpMetadata *GcpMetadata `json:"gcpMetadata,omitempty"` 5858 // Location: The region or location of the service (if applicable). 5859 Location string `json:"location,omitempty"` 5860 // Name: The full resource name of the resource. See: 5861 // https://cloud.google.com/apis/design/resource_names#full_resource_name 5862 Name string `json:"name,omitempty"` 5863 // ResourcePath: Provides the path to the resource within the resource 5864 // hierarchy. 5865 ResourcePath *GoogleCloudSecuritycenterV2ResourcePath `json:"resourcePath,omitempty"` 5866 // ResourcePathString: A string representation of the resource path. For Google 5867 // Cloud, it has the format of 5868 // organizations/{organization_id}/folders/{folder_id}/folders/{folder_id}/proje 5869 // cts/{project_id} where there can be any number of folders. For AWS, it has 5870 // the format of 5871 // org/{organization_id}/ou/{organizational_unit_id}/ou/{organizational_unit_id} 5872 // /account/{account_id} where there can be any number of organizational units. 5873 // For Azure, it has the format of 5874 // mg/{management_group_id}/mg/{management_group_id}/subscription/{subscription_ 5875 // id}/rg/{resource_group_name} where there can be any number of management 5876 // groups. 5877 ResourcePathString string `json:"resourcePathString,omitempty"` 5878 // Service: The service or resource provider associated with the resource. 5879 Service string `json:"service,omitempty"` 5880 // Type: The full resource type of the resource. 5881 Type string `json:"type,omitempty"` 5882 // ForceSendFields is a list of field names (e.g. "AwsMetadata") to 5883 // unconditionally include in API requests. By default, fields with empty or 5884 // default values are omitted from API requests. See 5885 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 5886 // details. 5887 ForceSendFields []string `json:"-"` 5888 // NullFields is a list of field names (e.g. "AwsMetadata") to include in API 5889 // requests with the JSON null value. By default, fields with empty values are 5890 // omitted from API requests. See 5891 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 5892 NullFields []string `json:"-"` 5893 } 5894 5895 func (s *GoogleCloudSecuritycenterV2Resource) MarshalJSON() ([]byte, error) { 5896 type NoMethod GoogleCloudSecuritycenterV2Resource 5897 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 5898 } 5899 5900 // GoogleCloudSecuritycenterV2ResourcePath: Represents the path of resources 5901 // leading up to the resource this finding is about. 5902 type GoogleCloudSecuritycenterV2ResourcePath struct { 5903 // Nodes: The list of nodes that make the up resource path, ordered from lowest 5904 // level to highest level. 5905 Nodes []*GoogleCloudSecuritycenterV2ResourcePathNode `json:"nodes,omitempty"` 5906 // ForceSendFields is a list of field names (e.g. "Nodes") to unconditionally 5907 // include in API requests. By default, fields with empty or default values are 5908 // omitted from API requests. See 5909 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 5910 // details. 5911 ForceSendFields []string `json:"-"` 5912 // NullFields is a list of field names (e.g. "Nodes") to include in API 5913 // requests with the JSON null value. By default, fields with empty values are 5914 // omitted from API requests. See 5915 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 5916 NullFields []string `json:"-"` 5917 } 5918 5919 func (s *GoogleCloudSecuritycenterV2ResourcePath) MarshalJSON() ([]byte, error) { 5920 type NoMethod GoogleCloudSecuritycenterV2ResourcePath 5921 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 5922 } 5923 5924 // GoogleCloudSecuritycenterV2ResourcePathNode: A node within the resource 5925 // path. Each node represents a resource within the resource hierarchy. 5926 type GoogleCloudSecuritycenterV2ResourcePathNode struct { 5927 // DisplayName: The display name of the resource this node represents. 5928 DisplayName string `json:"displayName,omitempty"` 5929 // Id: The ID of the resource this node represents. 5930 Id string `json:"id,omitempty"` 5931 // NodeType: The type of resource this node represents. 5932 // 5933 // Possible values: 5934 // "RESOURCE_PATH_NODE_TYPE_UNSPECIFIED" - Node type is unspecified. 5935 // "GCP_ORGANIZATION" - The node represents a Google Cloud organization. 5936 // "GCP_FOLDER" - The node represents a Google Cloud folder. 5937 // "GCP_PROJECT" - The node represents a Google Cloud project. 5938 // "AWS_ORGANIZATION" - The node represents an AWS organization. 5939 // "AWS_ORGANIZATIONAL_UNIT" - The node represents an AWS organizational 5940 // unit. 5941 // "AWS_ACCOUNT" - The node represents an AWS account. 5942 // "AZURE_MANAGEMENT_GROUP" - The node represents an Azure management group. 5943 // "AZURE_SUBSCRIPTION" - The node represents an Azure subscription. 5944 // "AZURE_RESOURCE_GROUP" - The node represents an Azure resource group. 5945 NodeType string `json:"nodeType,omitempty"` 5946 // ForceSendFields is a list of field names (e.g. "DisplayName") to 5947 // unconditionally include in API requests. By default, fields with empty or 5948 // default values are omitted from API requests. See 5949 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 5950 // details. 5951 ForceSendFields []string `json:"-"` 5952 // NullFields is a list of field names (e.g. "DisplayName") to include in API 5953 // requests with the JSON null value. By default, fields with empty values are 5954 // omitted from API requests. See 5955 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 5956 NullFields []string `json:"-"` 5957 } 5958 5959 func (s *GoogleCloudSecuritycenterV2ResourcePathNode) MarshalJSON() ([]byte, error) { 5960 type NoMethod GoogleCloudSecuritycenterV2ResourcePathNode 5961 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 5962 } 5963 5964 // GoogleCloudSecuritycenterV2ResourceValueConfig: A resource value config 5965 // (RVC) is a mapping configuration of user's resources to resource values. 5966 // Used in Attack path simulations. 5967 type GoogleCloudSecuritycenterV2ResourceValueConfig struct { 5968 // CloudProvider: Cloud provider this configuration applies to 5969 // 5970 // Possible values: 5971 // "CLOUD_PROVIDER_UNSPECIFIED" - The cloud provider is unspecified. 5972 // "GOOGLE_CLOUD_PLATFORM" - The cloud provider is Google Cloud Platform. 5973 // "AMAZON_WEB_SERVICES" - The cloud provider is Amazon Web Services. 5974 // "MICROSOFT_AZURE" - The cloud provider is Microsoft Azure. 5975 CloudProvider string `json:"cloudProvider,omitempty"` 5976 // CreateTime: Output only. Timestamp this resource value config was created. 5977 CreateTime string `json:"createTime,omitempty"` 5978 // Description: Description of the resource value config. 5979 Description string `json:"description,omitempty"` 5980 // Name: Name for the resource value config 5981 Name string `json:"name,omitempty"` 5982 // ResourceLabelsSelector: List of resource labels to search for, evaluated 5983 // with AND. E.g. "resource_labels_selector": {"key": "value", "env": "prod"} 5984 // will match resources with labels "key": "value" AND "env": "prod" 5985 // https://cloud.google.com/resource-manager/docs/creating-managing-labels 5986 ResourceLabelsSelector map[string]string `json:"resourceLabelsSelector,omitempty"` 5987 // ResourceType: Apply resource_value only to resources that match 5988 // resource_type. resource_type will be checked with "AND" of other resources. 5989 // E.g. "storage.googleapis.com/Bucket" with resource_value "HIGH" will apply 5990 // "HIGH" value only to "storage.googleapis.com/Bucket" resources. 5991 ResourceType string `json:"resourceType,omitempty"` 5992 // ResourceValue: Resource value level this expression represents Only required 5993 // when there is no SDP mapping in the request 5994 // 5995 // Possible values: 5996 // "RESOURCE_VALUE_UNSPECIFIED" - Unspecific value 5997 // "HIGH" - High resource value 5998 // "MEDIUM" - Medium resource value 5999 // "LOW" - Low resource value 6000 // "NONE" - No resource value, e.g. ignore these resources 6001 ResourceValue string `json:"resourceValue,omitempty"` 6002 // Scope: Project or folder to scope this config to. For example, "project/456" 6003 // would apply this config only to resources in "project/456" scope will be 6004 // checked with "AND" of other resources. 6005 Scope string `json:"scope,omitempty"` 6006 // SensitiveDataProtectionMapping: A mapping of the sensitivity on Sensitive 6007 // Data Protection finding to resource values. This mapping can only be used in 6008 // combination with a resource_type that is related to BigQuery, e.g. 6009 // "bigquery.googleapis.com/Dataset". 6010 SensitiveDataProtectionMapping *GoogleCloudSecuritycenterV2SensitiveDataProtectionMapping `json:"sensitiveDataProtectionMapping,omitempty"` 6011 // TagValues: Required. Tag values combined with AND to check against. Values 6012 // in the form "tagValues/123" E.g. [ "tagValues/123", "tagValues/456", 6013 // "tagValues/789" ] 6014 // https://cloud.google.com/resource-manager/docs/tags/tags-creating-and-managing 6015 TagValues []string `json:"tagValues,omitempty"` 6016 // UpdateTime: Output only. Timestamp this resource value config was last 6017 // updated. 6018 UpdateTime string `json:"updateTime,omitempty"` 6019 // ForceSendFields is a list of field names (e.g. "CloudProvider") to 6020 // unconditionally include in API requests. By default, fields with empty or 6021 // default values are omitted from API requests. See 6022 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 6023 // details. 6024 ForceSendFields []string `json:"-"` 6025 // NullFields is a list of field names (e.g. "CloudProvider") to include in API 6026 // requests with the JSON null value. By default, fields with empty values are 6027 // omitted from API requests. See 6028 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 6029 NullFields []string `json:"-"` 6030 } 6031 6032 func (s *GoogleCloudSecuritycenterV2ResourceValueConfig) MarshalJSON() ([]byte, error) { 6033 type NoMethod GoogleCloudSecuritycenterV2ResourceValueConfig 6034 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 6035 } 6036 6037 // GoogleCloudSecuritycenterV2Role: Kubernetes Role or ClusterRole. 6038 type GoogleCloudSecuritycenterV2Role struct { 6039 // Kind: Role type. 6040 // 6041 // Possible values: 6042 // "KIND_UNSPECIFIED" - Role type is not specified. 6043 // "ROLE" - Kubernetes Role. 6044 // "CLUSTER_ROLE" - Kubernetes ClusterRole. 6045 Kind string `json:"kind,omitempty"` 6046 // Name: Role name. 6047 Name string `json:"name,omitempty"` 6048 // Ns: Role namespace. 6049 Ns string `json:"ns,omitempty"` 6050 // ForceSendFields is a list of field names (e.g. "Kind") to unconditionally 6051 // include in API requests. By default, fields with empty or default values are 6052 // omitted from API requests. See 6053 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 6054 // details. 6055 ForceSendFields []string `json:"-"` 6056 // NullFields is a list of field names (e.g. "Kind") to include in API requests 6057 // with the JSON null value. By default, fields with empty values are omitted 6058 // from API requests. See 6059 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 6060 NullFields []string `json:"-"` 6061 } 6062 6063 func (s *GoogleCloudSecuritycenterV2Role) MarshalJSON() ([]byte, error) { 6064 type NoMethod GoogleCloudSecuritycenterV2Role 6065 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 6066 } 6067 6068 // GoogleCloudSecuritycenterV2SecurityBulletin: SecurityBulletin are 6069 // notifications of vulnerabilities of Google products. 6070 type GoogleCloudSecuritycenterV2SecurityBulletin struct { 6071 // BulletinId: ID of the bulletin corresponding to the vulnerability. 6072 BulletinId string `json:"bulletinId,omitempty"` 6073 // SubmissionTime: Submission time of this Security Bulletin. 6074 SubmissionTime string `json:"submissionTime,omitempty"` 6075 // SuggestedUpgradeVersion: This represents a version that the cluster 6076 // receiving this notification should be upgraded to, based on its current 6077 // version. For example, 1.15.0 6078 SuggestedUpgradeVersion string `json:"suggestedUpgradeVersion,omitempty"` 6079 // ForceSendFields is a list of field names (e.g. "BulletinId") to 6080 // unconditionally include in API requests. By default, fields with empty or 6081 // default values are omitted from API requests. See 6082 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 6083 // details. 6084 ForceSendFields []string `json:"-"` 6085 // NullFields is a list of field names (e.g. "BulletinId") to include in API 6086 // requests with the JSON null value. By default, fields with empty values are 6087 // omitted from API requests. See 6088 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 6089 NullFields []string `json:"-"` 6090 } 6091 6092 func (s *GoogleCloudSecuritycenterV2SecurityBulletin) MarshalJSON() ([]byte, error) { 6093 type NoMethod GoogleCloudSecuritycenterV2SecurityBulletin 6094 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 6095 } 6096 6097 // GoogleCloudSecuritycenterV2SecurityMarks: User specified security marks that 6098 // are attached to the parent Security Command Center resource. Security marks 6099 // are scoped within a Security Command Center organization -- they can be 6100 // modified and viewed by all users who have proper permissions on the 6101 // organization. 6102 type GoogleCloudSecuritycenterV2SecurityMarks struct { 6103 // CanonicalName: The canonical name of the marks. The following list shows 6104 // some examples: + 6105 // `organizations/{organization_id}/assets/{asset_id}/securityMarks` + 6106 // `organizations/{organization_id}/sources/{source_id}/findings/{finding_id}/se 6107 // curityMarks` + 6108 // `organizations/{organization_id}/sources/{source_id}/locations/{location}/fin 6109 // dings/{finding_id}/securityMarks` + 6110 // `folders/{folder_id}/assets/{asset_id}/securityMarks` + 6111 // `folders/{folder_id}/sources/{source_id}/findings/{finding_id}/securityMarks` 6112 // + 6113 // `folders/{folder_id}/sources/{source_id}/locations/{location}/findings/{findi 6114 // ng_id}/securityMarks` + 6115 // `projects/{project_number}/assets/{asset_id}/securityMarks` + 6116 // `projects/{project_number}/sources/{source_id}/findings/{finding_id}/security 6117 // Marks` + 6118 // `projects/{project_number}/sources/{source_id}/locations/{location}/findings/ 6119 // {finding_id}/securityMarks` 6120 CanonicalName string `json:"canonicalName,omitempty"` 6121 // Marks: Mutable user specified security marks belonging to the parent 6122 // resource. Constraints are as follows: * Keys and values are treated as case 6123 // insensitive * Keys must be between 1 - 256 characters (inclusive) * Keys 6124 // must be letters, numbers, underscores, or dashes * Values have leading and 6125 // trailing whitespace trimmed, remaining characters must be between 1 - 4096 6126 // characters (inclusive) 6127 Marks map[string]string `json:"marks,omitempty"` 6128 // Name: The relative resource name of the SecurityMarks. See: 6129 // https://cloud.google.com/apis/design/resource_names#relative_resource_name 6130 // The following list shows some examples: + 6131 // `organizations/{organization_id}/assets/{asset_id}/securityMarks` + 6132 // `organizations/{organization_id}/sources/{source_id}/findings/{finding_id}/se 6133 // curityMarks` + 6134 // `organizations/{organization_id}/sources/{source_id}/locations/{location}/fin 6135 // dings/{finding_id}/securityMarks` 6136 Name string `json:"name,omitempty"` 6137 // ForceSendFields is a list of field names (e.g. "CanonicalName") to 6138 // unconditionally include in API requests. By default, fields with empty or 6139 // default values are omitted from API requests. See 6140 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 6141 // details. 6142 ForceSendFields []string `json:"-"` 6143 // NullFields is a list of field names (e.g. "CanonicalName") to include in API 6144 // requests with the JSON null value. By default, fields with empty values are 6145 // omitted from API requests. See 6146 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 6147 NullFields []string `json:"-"` 6148 } 6149 6150 func (s *GoogleCloudSecuritycenterV2SecurityMarks) MarshalJSON() ([]byte, error) { 6151 type NoMethod GoogleCloudSecuritycenterV2SecurityMarks 6152 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 6153 } 6154 6155 // GoogleCloudSecuritycenterV2SecurityPolicy: Information about the Google 6156 // Cloud Armor security policy 6157 // (https://cloud.google.com/armor/docs/security-policy-overview) relevant to 6158 // the finding. 6159 type GoogleCloudSecuritycenterV2SecurityPolicy struct { 6160 // Name: The name of the Google Cloud Armor security policy, for example, 6161 // "my-security-policy". 6162 Name string `json:"name,omitempty"` 6163 // Preview: Whether or not the associated rule or policy is in preview mode. 6164 Preview bool `json:"preview,omitempty"` 6165 // Type: The type of Google Cloud Armor security policy for example, 'backend 6166 // security policy', 'edge security policy', 'network edge security policy', or 6167 // 'always-on DDoS protection'. 6168 Type string `json:"type,omitempty"` 6169 // ForceSendFields is a list of field names (e.g. "Name") to unconditionally 6170 // include in API requests. By default, fields with empty or default values are 6171 // omitted from API requests. See 6172 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 6173 // details. 6174 ForceSendFields []string `json:"-"` 6175 // NullFields is a list of field names (e.g. "Name") to include in API requests 6176 // with the JSON null value. By default, fields with empty values are omitted 6177 // from API requests. See 6178 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 6179 NullFields []string `json:"-"` 6180 } 6181 6182 func (s *GoogleCloudSecuritycenterV2SecurityPolicy) MarshalJSON() ([]byte, error) { 6183 type NoMethod GoogleCloudSecuritycenterV2SecurityPolicy 6184 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 6185 } 6186 6187 // GoogleCloudSecuritycenterV2SecurityPosture: Represents a posture that is 6188 // deployed on Google Cloud by the Security Command Center Posture Management 6189 // service. A posture contains one or more policy sets. A policy set is a group 6190 // of policies that enforce a set of security rules on Google Cloud. 6191 type GoogleCloudSecuritycenterV2SecurityPosture struct { 6192 // ChangedPolicy: The name of the updated policy, for example, 6193 // `projects/{project_id}/policies/{constraint_name}`. 6194 ChangedPolicy string `json:"changedPolicy,omitempty"` 6195 // Name: Name of the posture, for example, `CIS-Posture`. 6196 Name string `json:"name,omitempty"` 6197 // Policy: The ID of the updated policy, for example, `compute-policy-1`. 6198 Policy string `json:"policy,omitempty"` 6199 // PolicyDriftDetails: The details about a change in an updated policy that 6200 // violates the deployed posture. 6201 PolicyDriftDetails []*GoogleCloudSecuritycenterV2PolicyDriftDetails `json:"policyDriftDetails,omitempty"` 6202 // PolicySet: The name of the updated policy set, for example, `cis-policyset`. 6203 PolicySet string `json:"policySet,omitempty"` 6204 // PostureDeployment: The name of the posture deployment, for example, 6205 // `organizations/{org_id}/posturedeployments/{posture_deployment_id}`. 6206 PostureDeployment string `json:"postureDeployment,omitempty"` 6207 // PostureDeploymentResource: The project, folder, or organization on which the 6208 // posture is deployed, for example, `projects/{project_number}`. 6209 PostureDeploymentResource string `json:"postureDeploymentResource,omitempty"` 6210 // RevisionId: The version of the posture, for example, `c7cfa2a8`. 6211 RevisionId string `json:"revisionId,omitempty"` 6212 // ForceSendFields is a list of field names (e.g. "ChangedPolicy") to 6213 // unconditionally include in API requests. By default, fields with empty or 6214 // default values are omitted from API requests. See 6215 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 6216 // details. 6217 ForceSendFields []string `json:"-"` 6218 // NullFields is a list of field names (e.g. "ChangedPolicy") to include in API 6219 // requests with the JSON null value. By default, fields with empty values are 6220 // omitted from API requests. See 6221 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 6222 NullFields []string `json:"-"` 6223 } 6224 6225 func (s *GoogleCloudSecuritycenterV2SecurityPosture) MarshalJSON() ([]byte, error) { 6226 type NoMethod GoogleCloudSecuritycenterV2SecurityPosture 6227 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 6228 } 6229 6230 // GoogleCloudSecuritycenterV2SensitiveDataProtectionMapping: Resource value 6231 // mapping for Sensitive Data Protection findings If any of these mappings have 6232 // a resource value that is not unspecified, the resource_value field will be 6233 // ignored when reading this configuration. 6234 type GoogleCloudSecuritycenterV2SensitiveDataProtectionMapping struct { 6235 // HighSensitivityMapping: Resource value mapping for high-sensitivity 6236 // Sensitive Data Protection findings 6237 // 6238 // Possible values: 6239 // "RESOURCE_VALUE_UNSPECIFIED" - Unspecific value 6240 // "HIGH" - High resource value 6241 // "MEDIUM" - Medium resource value 6242 // "LOW" - Low resource value 6243 // "NONE" - No resource value, e.g. ignore these resources 6244 HighSensitivityMapping string `json:"highSensitivityMapping,omitempty"` 6245 // MediumSensitivityMapping: Resource value mapping for medium-sensitivity 6246 // Sensitive Data Protection findings 6247 // 6248 // Possible values: 6249 // "RESOURCE_VALUE_UNSPECIFIED" - Unspecific value 6250 // "HIGH" - High resource value 6251 // "MEDIUM" - Medium resource value 6252 // "LOW" - Low resource value 6253 // "NONE" - No resource value, e.g. ignore these resources 6254 MediumSensitivityMapping string `json:"mediumSensitivityMapping,omitempty"` 6255 // ForceSendFields is a list of field names (e.g. "HighSensitivityMapping") to 6256 // unconditionally include in API requests. By default, fields with empty or 6257 // default values are omitted from API requests. See 6258 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 6259 // details. 6260 ForceSendFields []string `json:"-"` 6261 // NullFields is a list of field names (e.g. "HighSensitivityMapping") to 6262 // include in API requests with the JSON null value. By default, fields with 6263 // empty values are omitted from API requests. See 6264 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 6265 NullFields []string `json:"-"` 6266 } 6267 6268 func (s *GoogleCloudSecuritycenterV2SensitiveDataProtectionMapping) MarshalJSON() ([]byte, error) { 6269 type NoMethod GoogleCloudSecuritycenterV2SensitiveDataProtectionMapping 6270 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 6271 } 6272 6273 // GoogleCloudSecuritycenterV2ServiceAccountDelegationInfo: Identity delegation 6274 // history of an authenticated service account. 6275 type GoogleCloudSecuritycenterV2ServiceAccountDelegationInfo struct { 6276 // PrincipalEmail: The email address of a Google account. 6277 PrincipalEmail string `json:"principalEmail,omitempty"` 6278 // PrincipalSubject: A string representing the principal_subject associated 6279 // with the identity. As compared to `principal_email`, supports principals 6280 // that aren't associated with email addresses, such as third party principals. 6281 // For most identities, the format will be 6282 // `principal://iam.googleapis.com/{identity pool name}/subjects/{subject}` 6283 // except for some GKE identities (GKE_WORKLOAD, FREEFORM, GKE_HUB_WORKLOAD) 6284 // that are still in the legacy format `serviceAccount:{identity pool 6285 // name}[{subject}]` 6286 PrincipalSubject string `json:"principalSubject,omitempty"` 6287 // ForceSendFields is a list of field names (e.g. "PrincipalEmail") to 6288 // unconditionally include in API requests. By default, fields with empty or 6289 // default values are omitted from API requests. See 6290 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 6291 // details. 6292 ForceSendFields []string `json:"-"` 6293 // NullFields is a list of field names (e.g. "PrincipalEmail") to include in 6294 // API requests with the JSON null value. By default, fields with empty values 6295 // are omitted from API requests. See 6296 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 6297 NullFields []string `json:"-"` 6298 } 6299 6300 func (s *GoogleCloudSecuritycenterV2ServiceAccountDelegationInfo) MarshalJSON() ([]byte, error) { 6301 type NoMethod GoogleCloudSecuritycenterV2ServiceAccountDelegationInfo 6302 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 6303 } 6304 6305 // GoogleCloudSecuritycenterV2Subject: Represents a Kubernetes subject. 6306 type GoogleCloudSecuritycenterV2Subject struct { 6307 // Kind: Authentication type for the subject. 6308 // 6309 // Possible values: 6310 // "AUTH_TYPE_UNSPECIFIED" - Authentication is not specified. 6311 // "USER" - User with valid certificate. 6312 // "SERVICEACCOUNT" - Users managed by Kubernetes API with credentials stored 6313 // as secrets. 6314 // "GROUP" - Collection of users. 6315 Kind string `json:"kind,omitempty"` 6316 // Name: Name for the subject. 6317 Name string `json:"name,omitempty"` 6318 // Ns: Namespace for the subject. 6319 Ns string `json:"ns,omitempty"` 6320 // ForceSendFields is a list of field names (e.g. "Kind") to unconditionally 6321 // include in API requests. By default, fields with empty or default values are 6322 // omitted from API requests. See 6323 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 6324 // details. 6325 ForceSendFields []string `json:"-"` 6326 // NullFields is a list of field names (e.g. "Kind") to include in API requests 6327 // with the JSON null value. By default, fields with empty values are omitted 6328 // from API requests. See 6329 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 6330 NullFields []string `json:"-"` 6331 } 6332 6333 func (s *GoogleCloudSecuritycenterV2Subject) MarshalJSON() ([]byte, error) { 6334 type NoMethod GoogleCloudSecuritycenterV2Subject 6335 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 6336 } 6337 6338 // GoogleCloudSecuritycenterV2TicketInfo: Information about the ticket, if any, 6339 // that is being used to track the resolution of the issue that is identified 6340 // by this finding. 6341 type GoogleCloudSecuritycenterV2TicketInfo struct { 6342 // Assignee: The assignee of the ticket in the ticket system. 6343 Assignee string `json:"assignee,omitempty"` 6344 // Description: The description of the ticket in the ticket system. 6345 Description string `json:"description,omitempty"` 6346 // Id: The identifier of the ticket in the ticket system. 6347 Id string `json:"id,omitempty"` 6348 // Status: The latest status of the ticket, as reported by the ticket system. 6349 Status string `json:"status,omitempty"` 6350 // UpdateTime: The time when the ticket was last updated, as reported by the 6351 // ticket system. 6352 UpdateTime string `json:"updateTime,omitempty"` 6353 // Uri: The link to the ticket in the ticket system. 6354 Uri string `json:"uri,omitempty"` 6355 // ForceSendFields is a list of field names (e.g. "Assignee") to 6356 // unconditionally include in API requests. By default, fields with empty or 6357 // default values are omitted from API requests. See 6358 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 6359 // details. 6360 ForceSendFields []string `json:"-"` 6361 // NullFields is a list of field names (e.g. "Assignee") to include in API 6362 // requests with the JSON null value. By default, fields with empty values are 6363 // omitted from API requests. See 6364 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 6365 NullFields []string `json:"-"` 6366 } 6367 6368 func (s *GoogleCloudSecuritycenterV2TicketInfo) MarshalJSON() ([]byte, error) { 6369 type NoMethod GoogleCloudSecuritycenterV2TicketInfo 6370 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 6371 } 6372 6373 // GoogleCloudSecuritycenterV2Vulnerability: Refers to common vulnerability 6374 // fields e.g. cve, cvss, cwe etc. 6375 type GoogleCloudSecuritycenterV2Vulnerability struct { 6376 // Cve: CVE stands for Common Vulnerabilities and Exposures 6377 // (https://cve.mitre.org/about/) 6378 Cve *GoogleCloudSecuritycenterV2Cve `json:"cve,omitempty"` 6379 // FixedPackage: The fixed package is relevant to the finding. 6380 FixedPackage *GoogleCloudSecuritycenterV2Package `json:"fixedPackage,omitempty"` 6381 // OffendingPackage: The offending package is relevant to the finding. 6382 OffendingPackage *GoogleCloudSecuritycenterV2Package `json:"offendingPackage,omitempty"` 6383 // SecurityBulletin: The security bulletin is relevant to this finding. 6384 SecurityBulletin *GoogleCloudSecuritycenterV2SecurityBulletin `json:"securityBulletin,omitempty"` 6385 // ForceSendFields is a list of field names (e.g. "Cve") to unconditionally 6386 // include in API requests. By default, fields with empty or default values are 6387 // omitted from API requests. See 6388 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 6389 // details. 6390 ForceSendFields []string `json:"-"` 6391 // NullFields is a list of field names (e.g. "Cve") to include in API requests 6392 // with the JSON null value. By default, fields with empty values are omitted 6393 // from API requests. See 6394 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 6395 NullFields []string `json:"-"` 6396 } 6397 6398 func (s *GoogleCloudSecuritycenterV2Vulnerability) MarshalJSON() ([]byte, error) { 6399 type NoMethod GoogleCloudSecuritycenterV2Vulnerability 6400 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 6401 } 6402 6403 // GoogleCloudSecuritycenterV2YaraRuleSignature: A signature corresponding to a 6404 // YARA rule. 6405 type GoogleCloudSecuritycenterV2YaraRuleSignature struct { 6406 // YaraRule: The name of the YARA rule. 6407 YaraRule string `json:"yaraRule,omitempty"` 6408 // ForceSendFields is a list of field names (e.g. "YaraRule") to 6409 // unconditionally include in API requests. By default, fields with empty or 6410 // default values are omitted from API requests. See 6411 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 6412 // details. 6413 ForceSendFields []string `json:"-"` 6414 // NullFields is a list of field names (e.g. "YaraRule") to include in API 6415 // requests with the JSON null value. By default, fields with empty values are 6416 // omitted from API requests. See 6417 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 6418 NullFields []string `json:"-"` 6419 } 6420 6421 func (s *GoogleCloudSecuritycenterV2YaraRuleSignature) MarshalJSON() ([]byte, error) { 6422 type NoMethod GoogleCloudSecuritycenterV2YaraRuleSignature 6423 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 6424 } 6425 6426 // GroupAssetsRequest: Request message for grouping by assets. 6427 type GroupAssetsRequest struct { 6428 // CompareDuration: When compare_duration is set, the Asset's "state" property 6429 // is updated to indicate whether the asset was added, removed, or remained 6430 // present during the compare_duration period of time that precedes the 6431 // read_time. This is the time between (read_time - compare_duration) and 6432 // read_time. The state value is derived based on the presence of the asset at 6433 // the two points in time. Intermediate state changes between the two times 6434 // don't affect the result. For example, the results aren't affected if the 6435 // asset is removed and re-created again. Possible "state" values when 6436 // compare_duration is specified: * "ADDED": indicates that the asset was not 6437 // present before compare_duration, but present at reference_time. * "REMOVED": 6438 // indicates that the asset was present at the start of compare_duration, but 6439 // not present at reference_time. * "ACTIVE": indicates that the asset was 6440 // present at both the start and the end of the time period defined by 6441 // compare_duration and reference_time. This field is ignored if `state` is not 6442 // a field in `group_by`. 6443 CompareDuration string `json:"compareDuration,omitempty"` 6444 // Filter: Expression that defines the filter to apply across assets. The 6445 // expression is a list of zero or more restrictions combined via logical 6446 // operators `AND` and `OR`. Parentheses are not supported, and `OR` has higher 6447 // precedence than `AND`. Restrictions have the form ` ` and may have a `-` 6448 // character in front of them to indicate negation. The fields map to those 6449 // defined in the Asset resource. Examples include: * name * 6450 // security_center_properties.resource_name * resource_properties.a_property * 6451 // security_marks.marks.marka The supported operators are: * `=` for all value 6452 // types. * `>`, `<`, `>=`, `<=` for integer values. * `:`, meaning substring 6453 // matching, for strings. The supported value types are: * string literals in 6454 // quotes. * integer literals without quotes. * boolean literals `true` and 6455 // `false` without quotes. For example, `resource_properties.size = 100` is a 6456 // valid filter string. 6457 Filter string `json:"filter,omitempty"` 6458 // GroupBy: Required. Expression that defines what assets fields to use for 6459 // grouping. The string value should follow SQL syntax: comma separated list of 6460 // fields. For example: 6461 // "security_center_properties.resource_project,security_center_properties.proje 6462 // ct". The following fields are supported when compare_duration is not set: * 6463 // security_center_properties.resource_project * 6464 // security_center_properties.resource_type * 6465 // security_center_properties.resource_parent The following fields are 6466 // supported when compare_duration is set: * 6467 // security_center_properties.resource_type 6468 GroupBy string `json:"groupBy,omitempty"` 6469 // PageSize: The maximum number of results to return in a single response. 6470 // Default is 10, minimum is 1, maximum is 1000. 6471 PageSize int64 `json:"pageSize,omitempty"` 6472 // PageToken: The value returned by the last `GroupAssetsResponse`; indicates 6473 // that this is a continuation of a prior `GroupAssets` call, and that the 6474 // system should return the next page of data. 6475 PageToken string `json:"pageToken,omitempty"` 6476 // ReadTime: Time used as a reference point when filtering assets. The filter 6477 // is limited to assets existing at the supplied time and their values are 6478 // those at that specific time. Absence of this field will default to the API's 6479 // version of NOW. 6480 ReadTime string `json:"readTime,omitempty"` 6481 // ForceSendFields is a list of field names (e.g. "CompareDuration") to 6482 // unconditionally include in API requests. By default, fields with empty or 6483 // default values are omitted from API requests. See 6484 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 6485 // details. 6486 ForceSendFields []string `json:"-"` 6487 // NullFields is a list of field names (e.g. "CompareDuration") to include in 6488 // API requests with the JSON null value. By default, fields with empty values 6489 // are omitted from API requests. See 6490 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 6491 NullFields []string `json:"-"` 6492 } 6493 6494 func (s *GroupAssetsRequest) MarshalJSON() ([]byte, error) { 6495 type NoMethod GroupAssetsRequest 6496 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 6497 } 6498 6499 // GroupAssetsResponse: Response message for grouping by assets. 6500 type GroupAssetsResponse struct { 6501 // GroupByResults: Group results. There exists an element for each existing 6502 // unique combination of property/values. The element contains a count for the 6503 // number of times those specific property/values appear. 6504 GroupByResults []*GroupResult `json:"groupByResults,omitempty"` 6505 // NextPageToken: Token to retrieve the next page of results, or empty if there 6506 // are no more results. 6507 NextPageToken string `json:"nextPageToken,omitempty"` 6508 // ReadTime: Time used for executing the groupBy request. 6509 ReadTime string `json:"readTime,omitempty"` 6510 6511 // ServerResponse contains the HTTP response code and headers from the server. 6512 googleapi.ServerResponse `json:"-"` 6513 // ForceSendFields is a list of field names (e.g. "GroupByResults") to 6514 // unconditionally include in API requests. By default, fields with empty or 6515 // default values are omitted from API requests. See 6516 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 6517 // details. 6518 ForceSendFields []string `json:"-"` 6519 // NullFields is a list of field names (e.g. "GroupByResults") to include in 6520 // API requests with the JSON null value. By default, fields with empty values 6521 // are omitted from API requests. See 6522 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 6523 NullFields []string `json:"-"` 6524 } 6525 6526 func (s *GroupAssetsResponse) MarshalJSON() ([]byte, error) { 6527 type NoMethod GroupAssetsResponse 6528 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 6529 } 6530 6531 // GroupFindingsRequest: Request message for grouping by findings. 6532 type GroupFindingsRequest struct { 6533 // Filter: Expression that defines the filter to apply across findings. The 6534 // expression is a list of one or more restrictions combined via logical 6535 // operators `AND` and `OR`. Parentheses are not supported, and `OR` has higher 6536 // precedence than `AND`. Restrictions have the form ` ` and may have a `-` 6537 // character in front of them to indicate negation. Examples include: * name * 6538 // source_properties.a_property * security_marks.marks.marka The supported 6539 // operators are: * `=` for all value types. * `>`, `<`, `>=`, `<=` for integer 6540 // values. * `:`, meaning substring matching, for strings. The supported value 6541 // types are: * string literals in quotes. * integer literals without quotes. * 6542 // boolean literals `true` and `false` without quotes. For example, 6543 // `source_properties.size = 100` is a valid filter string. 6544 Filter string `json:"filter,omitempty"` 6545 // GroupBy: Required. Expression that defines what assets fields to use for 6546 // grouping (including `state`). The string value should follow SQL syntax: 6547 // comma separated list of fields. For example: "parent,resource_name". The 6548 // following fields are supported: * resource_name * category * state * parent 6549 GroupBy string `json:"groupBy,omitempty"` 6550 // PageSize: The maximum number of results to return in a single response. 6551 // Default is 10, minimum is 1, maximum is 1000. 6552 PageSize int64 `json:"pageSize,omitempty"` 6553 // PageToken: The value returned by the last `GroupFindingsResponse`; indicates 6554 // that this is a continuation of a prior `GroupFindings` call, and that the 6555 // system should return the next page of data. 6556 PageToken string `json:"pageToken,omitempty"` 6557 // ReadTime: Time used as a reference point when filtering findings. The filter 6558 // is limited to findings existing at the supplied time and their values are 6559 // those at that specific time. Absence of this field will default to the API's 6560 // version of NOW. 6561 ReadTime string `json:"readTime,omitempty"` 6562 // ForceSendFields is a list of field names (e.g. "Filter") to unconditionally 6563 // include in API requests. By default, fields with empty or default values are 6564 // omitted from API requests. See 6565 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 6566 // details. 6567 ForceSendFields []string `json:"-"` 6568 // NullFields is a list of field names (e.g. "Filter") to include in API 6569 // requests with the JSON null value. By default, fields with empty values are 6570 // omitted from API requests. See 6571 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 6572 NullFields []string `json:"-"` 6573 } 6574 6575 func (s *GroupFindingsRequest) MarshalJSON() ([]byte, error) { 6576 type NoMethod GroupFindingsRequest 6577 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 6578 } 6579 6580 // GroupFindingsResponse: Response message for group by findings. 6581 type GroupFindingsResponse struct { 6582 // GroupByResults: Group results. There exists an element for each existing 6583 // unique combination of property/values. The element contains a count for the 6584 // number of times those specific property/values appear. 6585 GroupByResults []*GroupResult `json:"groupByResults,omitempty"` 6586 // NextPageToken: Token to retrieve the next page of results, or empty if there 6587 // are no more results. 6588 NextPageToken string `json:"nextPageToken,omitempty"` 6589 // ReadTime: Time used for executing the groupBy request. 6590 ReadTime string `json:"readTime,omitempty"` 6591 6592 // ServerResponse contains the HTTP response code and headers from the server. 6593 googleapi.ServerResponse `json:"-"` 6594 // ForceSendFields is a list of field names (e.g. "GroupByResults") to 6595 // unconditionally include in API requests. By default, fields with empty or 6596 // default values are omitted from API requests. See 6597 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 6598 // details. 6599 ForceSendFields []string `json:"-"` 6600 // NullFields is a list of field names (e.g. "GroupByResults") to include in 6601 // API requests with the JSON null value. By default, fields with empty values 6602 // are omitted from API requests. See 6603 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 6604 NullFields []string `json:"-"` 6605 } 6606 6607 func (s *GroupFindingsResponse) MarshalJSON() ([]byte, error) { 6608 type NoMethod GroupFindingsResponse 6609 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 6610 } 6611 6612 // GroupResult: Result containing the properties and count of a groupBy 6613 // request. 6614 type GroupResult struct { 6615 // Count: Total count of resources for the given properties. 6616 Count int64 `json:"count,omitempty,string"` 6617 // Properties: Properties matching the groupBy fields in the request. 6618 Properties googleapi.RawMessage `json:"properties,omitempty"` 6619 // ForceSendFields is a list of field names (e.g. "Count") to unconditionally 6620 // include in API requests. By default, fields with empty or default values are 6621 // omitted from API requests. See 6622 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 6623 // details. 6624 ForceSendFields []string `json:"-"` 6625 // NullFields is a list of field names (e.g. "Count") to include in API 6626 // requests with the JSON null value. By default, fields with empty values are 6627 // omitted from API requests. See 6628 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 6629 NullFields []string `json:"-"` 6630 } 6631 6632 func (s *GroupResult) MarshalJSON() ([]byte, error) { 6633 type NoMethod GroupResult 6634 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 6635 } 6636 6637 // IamBinding: Represents a particular IAM binding, which captures a member's 6638 // role addition, removal, or state. 6639 type IamBinding struct { 6640 // Action: The action that was performed on a Binding. 6641 // 6642 // Possible values: 6643 // "ACTION_UNSPECIFIED" - Unspecified. 6644 // "ADD" - Addition of a Binding. 6645 // "REMOVE" - Removal of a Binding. 6646 Action string `json:"action,omitempty"` 6647 // Member: A single identity requesting access for a Cloud Platform resource, 6648 // for example, "foo@google.com". 6649 Member string `json:"member,omitempty"` 6650 // Role: Role that is assigned to "members". For example, "roles/viewer", 6651 // "roles/editor", or "roles/owner". 6652 Role string `json:"role,omitempty"` 6653 // ForceSendFields is a list of field names (e.g. "Action") to unconditionally 6654 // include in API requests. By default, fields with empty or default values are 6655 // omitted from API requests. See 6656 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 6657 // details. 6658 ForceSendFields []string `json:"-"` 6659 // NullFields is a list of field names (e.g. "Action") to include in API 6660 // requests with the JSON null value. By default, fields with empty values are 6661 // omitted from API requests. See 6662 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 6663 NullFields []string `json:"-"` 6664 } 6665 6666 func (s *IamBinding) MarshalJSON() ([]byte, error) { 6667 type NoMethod IamBinding 6668 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 6669 } 6670 6671 // Indicator: Represents what's commonly known as an _indicator of compromise_ 6672 // (IoC) in computer forensics. This is an artifact observed on a network or in 6673 // an operating system that, with high confidence, indicates a computer 6674 // intrusion. For more information, see Indicator of compromise 6675 // (https://en.wikipedia.org/wiki/Indicator_of_compromise). 6676 type Indicator struct { 6677 // Domains: List of domains associated to the Finding. 6678 Domains []string `json:"domains,omitempty"` 6679 // IpAddresses: The list of IP addresses that are associated with the finding. 6680 IpAddresses []string `json:"ipAddresses,omitempty"` 6681 // Signatures: The list of matched signatures indicating that the given process 6682 // is present in the environment. 6683 Signatures []*ProcessSignature `json:"signatures,omitempty"` 6684 // Uris: The list of URIs associated to the Findings. 6685 Uris []string `json:"uris,omitempty"` 6686 // ForceSendFields is a list of field names (e.g. "Domains") to unconditionally 6687 // include in API requests. By default, fields with empty or default values are 6688 // omitted from API requests. See 6689 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 6690 // details. 6691 ForceSendFields []string `json:"-"` 6692 // NullFields is a list of field names (e.g. "Domains") to include in API 6693 // requests with the JSON null value. By default, fields with empty values are 6694 // omitted from API requests. See 6695 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 6696 NullFields []string `json:"-"` 6697 } 6698 6699 func (s *Indicator) MarshalJSON() ([]byte, error) { 6700 type NoMethod Indicator 6701 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 6702 } 6703 6704 // KernelRootkit: Kernel mode rootkit signatures. 6705 type KernelRootkit struct { 6706 // Name: Rootkit name, when available. 6707 Name string `json:"name,omitempty"` 6708 // UnexpectedCodeModification: True if unexpected modifications of kernel code 6709 // memory are present. 6710 UnexpectedCodeModification bool `json:"unexpectedCodeModification,omitempty"` 6711 // UnexpectedFtraceHandler: True if `ftrace` points are present with callbacks 6712 // pointing to regions that are not in the expected kernel or module code 6713 // range. 6714 UnexpectedFtraceHandler bool `json:"unexpectedFtraceHandler,omitempty"` 6715 // UnexpectedInterruptHandler: True if interrupt handlers that are are not in 6716 // the expected kernel or module code regions are present. 6717 UnexpectedInterruptHandler bool `json:"unexpectedInterruptHandler,omitempty"` 6718 // UnexpectedKernelCodePages: True if kernel code pages that are not in the 6719 // expected kernel or module code regions are present. 6720 UnexpectedKernelCodePages bool `json:"unexpectedKernelCodePages,omitempty"` 6721 // UnexpectedKprobeHandler: True if `kprobe` points are present with callbacks 6722 // pointing to regions that are not in the expected kernel or module code 6723 // range. 6724 UnexpectedKprobeHandler bool `json:"unexpectedKprobeHandler,omitempty"` 6725 // UnexpectedProcessesInRunqueue: True if unexpected processes in the scheduler 6726 // run queue are present. Such processes are in the run queue, but not in the 6727 // process task list. 6728 UnexpectedProcessesInRunqueue bool `json:"unexpectedProcessesInRunqueue,omitempty"` 6729 // UnexpectedReadOnlyDataModification: True if unexpected modifications of 6730 // kernel read-only data memory are present. 6731 UnexpectedReadOnlyDataModification bool `json:"unexpectedReadOnlyDataModification,omitempty"` 6732 // UnexpectedSystemCallHandler: True if system call handlers that are are not 6733 // in the expected kernel or module code regions are present. 6734 UnexpectedSystemCallHandler bool `json:"unexpectedSystemCallHandler,omitempty"` 6735 // ForceSendFields is a list of field names (e.g. "Name") to unconditionally 6736 // include in API requests. By default, fields with empty or default values are 6737 // omitted from API requests. See 6738 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 6739 // details. 6740 ForceSendFields []string `json:"-"` 6741 // NullFields is a list of field names (e.g. "Name") to include in API requests 6742 // with the JSON null value. By default, fields with empty values are omitted 6743 // from API requests. See 6744 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 6745 NullFields []string `json:"-"` 6746 } 6747 6748 func (s *KernelRootkit) MarshalJSON() ([]byte, error) { 6749 type NoMethod KernelRootkit 6750 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 6751 } 6752 6753 // Kubernetes: Kubernetes-related attributes. 6754 type Kubernetes struct { 6755 // AccessReviews: Provides information on any Kubernetes access reviews 6756 // (privilege checks) relevant to the finding. 6757 AccessReviews []*AccessReview `json:"accessReviews,omitempty"` 6758 // Bindings: Provides Kubernetes role binding information for findings that 6759 // involve RoleBindings or ClusterRoleBindings 6760 // (https://cloud.google.com/kubernetes-engine/docs/how-to/role-based-access-control). 6761 Bindings []*GoogleCloudSecuritycenterV1Binding `json:"bindings,omitempty"` 6762 // NodePools: GKE node pools 6763 // (https://cloud.google.com/kubernetes-engine/docs/concepts/node-pools) 6764 // associated with the finding. This field contains node pool information for 6765 // each node, when it is available. 6766 NodePools []*NodePool `json:"nodePools,omitempty"` 6767 // Nodes: Provides Kubernetes node 6768 // (https://cloud.google.com/kubernetes-engine/docs/concepts/cluster-architecture#nodes) 6769 // information. 6770 Nodes []*Node `json:"nodes,omitempty"` 6771 // Objects: Kubernetes objects related to the finding. 6772 Objects []*Object `json:"objects,omitempty"` 6773 // Pods: Kubernetes Pods 6774 // (https://cloud.google.com/kubernetes-engine/docs/concepts/pod) associated 6775 // with the finding. This field contains Pod records for each container that is 6776 // owned by a Pod. 6777 Pods []*Pod `json:"pods,omitempty"` 6778 // Roles: Provides Kubernetes role information for findings that involve Roles 6779 // or ClusterRoles 6780 // (https://cloud.google.com/kubernetes-engine/docs/how-to/role-based-access-control). 6781 Roles []*Role `json:"roles,omitempty"` 6782 // ForceSendFields is a list of field names (e.g. "AccessReviews") to 6783 // unconditionally include in API requests. By default, fields with empty or 6784 // default values are omitted from API requests. See 6785 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 6786 // details. 6787 ForceSendFields []string `json:"-"` 6788 // NullFields is a list of field names (e.g. "AccessReviews") to include in API 6789 // requests with the JSON null value. By default, fields with empty values are 6790 // omitted from API requests. See 6791 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 6792 NullFields []string `json:"-"` 6793 } 6794 6795 func (s *Kubernetes) MarshalJSON() ([]byte, error) { 6796 type NoMethod Kubernetes 6797 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 6798 } 6799 6800 // Label: Represents a generic name-value label. A label has separate name and 6801 // value fields to support filtering with the `contains()` function. For more 6802 // information, see Filtering on array-type fields 6803 // (https://cloud.google.com/security-command-center/docs/how-to-api-list-findings#array-contains-filtering). 6804 type Label struct { 6805 // Name: Name of the label. 6806 Name string `json:"name,omitempty"` 6807 // Value: Value that corresponds to the label's name. 6808 Value string `json:"value,omitempty"` 6809 // ForceSendFields is a list of field names (e.g. "Name") to unconditionally 6810 // include in API requests. By default, fields with empty or default values are 6811 // omitted from API requests. See 6812 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 6813 // details. 6814 ForceSendFields []string `json:"-"` 6815 // NullFields is a list of field names (e.g. "Name") to include in API requests 6816 // with the JSON null value. By default, fields with empty values are omitted 6817 // from API requests. See 6818 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 6819 NullFields []string `json:"-"` 6820 } 6821 6822 func (s *Label) MarshalJSON() ([]byte, error) { 6823 type NoMethod Label 6824 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 6825 } 6826 6827 // ListAssetsResponse: Response message for listing assets. 6828 type ListAssetsResponse struct { 6829 // ListAssetsResults: Assets matching the list request. 6830 ListAssetsResults []*ListAssetsResult `json:"listAssetsResults,omitempty"` 6831 // NextPageToken: Token to retrieve the next page of results, or empty if there 6832 // are no more results. 6833 NextPageToken string `json:"nextPageToken,omitempty"` 6834 // ReadTime: Time used for executing the list request. 6835 ReadTime string `json:"readTime,omitempty"` 6836 // TotalSize: The total number of assets matching the query. 6837 TotalSize int64 `json:"totalSize,omitempty"` 6838 6839 // ServerResponse contains the HTTP response code and headers from the server. 6840 googleapi.ServerResponse `json:"-"` 6841 // ForceSendFields is a list of field names (e.g. "ListAssetsResults") to 6842 // unconditionally include in API requests. By default, fields with empty or 6843 // default values are omitted from API requests. See 6844 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 6845 // details. 6846 ForceSendFields []string `json:"-"` 6847 // NullFields is a list of field names (e.g. "ListAssetsResults") to include in 6848 // API requests with the JSON null value. By default, fields with empty values 6849 // are omitted from API requests. See 6850 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 6851 NullFields []string `json:"-"` 6852 } 6853 6854 func (s *ListAssetsResponse) MarshalJSON() ([]byte, error) { 6855 type NoMethod ListAssetsResponse 6856 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 6857 } 6858 6859 // ListAssetsResult: Result containing the Asset and its State. 6860 type ListAssetsResult struct { 6861 // Asset: Asset matching the search request. 6862 Asset *Asset `json:"asset,omitempty"` 6863 // State: State of the asset. 6864 // 6865 // Possible values: 6866 // "STATE_UNSPECIFIED" - Unspecified state. 6867 // "UNUSED" - Request did not specify use of this field in the result. 6868 // "ADDED" - Asset was added between the points in time. 6869 // "REMOVED" - Asset was removed between the points in time. 6870 // "ACTIVE" - Asset was active at both point(s) in time. 6871 State string `json:"state,omitempty"` 6872 // ForceSendFields is a list of field names (e.g. "Asset") to unconditionally 6873 // include in API requests. By default, fields with empty or default values are 6874 // omitted from API requests. See 6875 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 6876 // details. 6877 ForceSendFields []string `json:"-"` 6878 // NullFields is a list of field names (e.g. "Asset") to include in API 6879 // requests with the JSON null value. By default, fields with empty values are 6880 // omitted from API requests. See 6881 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 6882 NullFields []string `json:"-"` 6883 } 6884 6885 func (s *ListAssetsResult) MarshalJSON() ([]byte, error) { 6886 type NoMethod ListAssetsResult 6887 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 6888 } 6889 6890 // ListFindingsResponse: Response message for listing findings. 6891 type ListFindingsResponse struct { 6892 // Findings: Findings matching the list request. 6893 Findings []*GoogleCloudSecuritycenterV1beta1Finding `json:"findings,omitempty"` 6894 // NextPageToken: Token to retrieve the next page of results, or empty if there 6895 // are no more results. 6896 NextPageToken string `json:"nextPageToken,omitempty"` 6897 // ReadTime: Time used for executing the list request. 6898 ReadTime string `json:"readTime,omitempty"` 6899 // TotalSize: The total number of findings matching the query. 6900 TotalSize int64 `json:"totalSize,omitempty"` 6901 6902 // ServerResponse contains the HTTP response code and headers from the server. 6903 googleapi.ServerResponse `json:"-"` 6904 // ForceSendFields is a list of field names (e.g. "Findings") to 6905 // unconditionally include in API requests. By default, fields with empty or 6906 // default values are omitted from API requests. See 6907 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 6908 // details. 6909 ForceSendFields []string `json:"-"` 6910 // NullFields is a list of field names (e.g. "Findings") to include in API 6911 // requests with the JSON null value. By default, fields with empty values are 6912 // omitted from API requests. See 6913 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 6914 NullFields []string `json:"-"` 6915 } 6916 6917 func (s *ListFindingsResponse) MarshalJSON() ([]byte, error) { 6918 type NoMethod ListFindingsResponse 6919 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 6920 } 6921 6922 // ListOperationsResponse: The response message for Operations.ListOperations. 6923 type ListOperationsResponse struct { 6924 // NextPageToken: The standard List next-page token. 6925 NextPageToken string `json:"nextPageToken,omitempty"` 6926 // Operations: A list of operations that matches the specified filter in the 6927 // request. 6928 Operations []*Operation `json:"operations,omitempty"` 6929 6930 // ServerResponse contains the HTTP response code and headers from the server. 6931 googleapi.ServerResponse `json:"-"` 6932 // ForceSendFields is a list of field names (e.g. "NextPageToken") to 6933 // unconditionally include in API requests. By default, fields with empty or 6934 // default values are omitted from API requests. See 6935 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 6936 // details. 6937 ForceSendFields []string `json:"-"` 6938 // NullFields is a list of field names (e.g. "NextPageToken") to include in API 6939 // requests with the JSON null value. By default, fields with empty values are 6940 // omitted from API requests. See 6941 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 6942 NullFields []string `json:"-"` 6943 } 6944 6945 func (s *ListOperationsResponse) MarshalJSON() ([]byte, error) { 6946 type NoMethod ListOperationsResponse 6947 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 6948 } 6949 6950 // ListSourcesResponse: Response message for listing sources. 6951 type ListSourcesResponse struct { 6952 // NextPageToken: Token to retrieve the next page of results, or empty if there 6953 // are no more results. 6954 NextPageToken string `json:"nextPageToken,omitempty"` 6955 // Sources: Sources belonging to the requested parent. 6956 Sources []*Source `json:"sources,omitempty"` 6957 6958 // ServerResponse contains the HTTP response code and headers from the server. 6959 googleapi.ServerResponse `json:"-"` 6960 // ForceSendFields is a list of field names (e.g. "NextPageToken") to 6961 // unconditionally include in API requests. By default, fields with empty or 6962 // default values are omitted from API requests. See 6963 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 6964 // details. 6965 ForceSendFields []string `json:"-"` 6966 // NullFields is a list of field names (e.g. "NextPageToken") to include in API 6967 // requests with the JSON null value. By default, fields with empty values are 6968 // omitted from API requests. See 6969 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 6970 NullFields []string `json:"-"` 6971 } 6972 6973 func (s *ListSourcesResponse) MarshalJSON() ([]byte, error) { 6974 type NoMethod ListSourcesResponse 6975 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 6976 } 6977 6978 // LoadBalancer: Contains information related to the load balancer associated 6979 // with the finding. 6980 type LoadBalancer struct { 6981 // Name: The name of the load balancer associated with the finding. 6982 Name string `json:"name,omitempty"` 6983 // ForceSendFields is a list of field names (e.g. "Name") to unconditionally 6984 // include in API requests. By default, fields with empty or default values are 6985 // omitted from API requests. See 6986 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 6987 // details. 6988 ForceSendFields []string `json:"-"` 6989 // NullFields is a list of field names (e.g. "Name") to include in API requests 6990 // with the JSON null value. By default, fields with empty values are omitted 6991 // from API requests. See 6992 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 6993 NullFields []string `json:"-"` 6994 } 6995 6996 func (s *LoadBalancer) MarshalJSON() ([]byte, error) { 6997 type NoMethod LoadBalancer 6998 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 6999 } 7000 7001 // LogEntry: An individual entry in a log. 7002 type LogEntry struct { 7003 // CloudLoggingEntry: An individual entry in a log stored in Cloud Logging. 7004 CloudLoggingEntry *CloudLoggingEntry `json:"cloudLoggingEntry,omitempty"` 7005 // ForceSendFields is a list of field names (e.g. "CloudLoggingEntry") to 7006 // unconditionally include in API requests. By default, fields with empty or 7007 // default values are omitted from API requests. See 7008 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 7009 // details. 7010 ForceSendFields []string `json:"-"` 7011 // NullFields is a list of field names (e.g. "CloudLoggingEntry") to include in 7012 // API requests with the JSON null value. By default, fields with empty values 7013 // are omitted from API requests. See 7014 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 7015 NullFields []string `json:"-"` 7016 } 7017 7018 func (s *LogEntry) MarshalJSON() ([]byte, error) { 7019 type NoMethod LogEntry 7020 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 7021 } 7022 7023 // MemoryHashSignature: A signature corresponding to memory page hashes. 7024 type MemoryHashSignature struct { 7025 // BinaryFamily: The binary family. 7026 BinaryFamily string `json:"binaryFamily,omitempty"` 7027 // Detections: The list of memory hash detections contributing to the binary 7028 // family match. 7029 Detections []*Detection `json:"detections,omitempty"` 7030 // ForceSendFields is a list of field names (e.g. "BinaryFamily") to 7031 // unconditionally include in API requests. By default, fields with empty or 7032 // default values are omitted from API requests. See 7033 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 7034 // details. 7035 ForceSendFields []string `json:"-"` 7036 // NullFields is a list of field names (e.g. "BinaryFamily") to include in API 7037 // requests with the JSON null value. By default, fields with empty values are 7038 // omitted from API requests. See 7039 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 7040 NullFields []string `json:"-"` 7041 } 7042 7043 func (s *MemoryHashSignature) MarshalJSON() ([]byte, error) { 7044 type NoMethod MemoryHashSignature 7045 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 7046 } 7047 7048 // MitreAttack: MITRE ATT&CK tactics and techniques related to this finding. 7049 // See: https://attack.mitre.org 7050 type MitreAttack struct { 7051 // AdditionalTactics: Additional MITRE ATT&CK tactics related to this finding, 7052 // if any. 7053 // 7054 // Possible values: 7055 // "TACTIC_UNSPECIFIED" - Unspecified value. 7056 // "RECONNAISSANCE" - TA0043 7057 // "RESOURCE_DEVELOPMENT" - TA0042 7058 // "INITIAL_ACCESS" - TA0001 7059 // "EXECUTION" - TA0002 7060 // "PERSISTENCE" - TA0003 7061 // "PRIVILEGE_ESCALATION" - TA0004 7062 // "DEFENSE_EVASION" - TA0005 7063 // "CREDENTIAL_ACCESS" - TA0006 7064 // "DISCOVERY" - TA0007 7065 // "LATERAL_MOVEMENT" - TA0008 7066 // "COLLECTION" - TA0009 7067 // "COMMAND_AND_CONTROL" - TA0011 7068 // "EXFILTRATION" - TA0010 7069 // "IMPACT" - TA0040 7070 AdditionalTactics []string `json:"additionalTactics,omitempty"` 7071 // AdditionalTechniques: Additional MITRE ATT&CK techniques related to this 7072 // finding, if any, along with any of their respective parent techniques. 7073 // 7074 // Possible values: 7075 // "TECHNIQUE_UNSPECIFIED" - Unspecified value. 7076 // "MASQUERADING" - T1036 7077 // "MATCH_LEGITIMATE_NAME_OR_LOCATION" - T1036.005 7078 // "BOOT_OR_LOGON_INITIALIZATION_SCRIPTS" - T1037 7079 // "STARTUP_ITEMS" - T1037.005 7080 // "NETWORK_SERVICE_DISCOVERY" - T1046 7081 // "PROCESS_DISCOVERY" - T1057 7082 // "COMMAND_AND_SCRIPTING_INTERPRETER" - T1059 7083 // "UNIX_SHELL" - T1059.004 7084 // "PYTHON" - T1059.006 7085 // "PERMISSION_GROUPS_DISCOVERY" - T1069 7086 // "CLOUD_GROUPS" - T1069.003 7087 // "APPLICATION_LAYER_PROTOCOL" - T1071 7088 // "DNS" - T1071.004 7089 // "SOFTWARE_DEPLOYMENT_TOOLS" - T1072 7090 // "VALID_ACCOUNTS" - T1078 7091 // "DEFAULT_ACCOUNTS" - T1078.001 7092 // "LOCAL_ACCOUNTS" - T1078.003 7093 // "CLOUD_ACCOUNTS" - T1078.004 7094 // "PROXY" - T1090 7095 // "EXTERNAL_PROXY" - T1090.002 7096 // "MULTI_HOP_PROXY" - T1090.003 7097 // "ACCOUNT_MANIPULATION" - T1098 7098 // "ADDITIONAL_CLOUD_CREDENTIALS" - T1098.001 7099 // "SSH_AUTHORIZED_KEYS" - T1098.004 7100 // "ADDITIONAL_CONTAINER_CLUSTER_ROLES" - T1098.006 7101 // "INGRESS_TOOL_TRANSFER" - T1105 7102 // "NATIVE_API" - T1106 7103 // "BRUTE_FORCE" - T1110 7104 // "SHARED_MODULES" - T1129 7105 // "ACCESS_TOKEN_MANIPULATION" - T1134 7106 // "TOKEN_IMPERSONATION_OR_THEFT" - T1134.001 7107 // "EXPLOIT_PUBLIC_FACING_APPLICATION" - T1190 7108 // "DOMAIN_POLICY_MODIFICATION" - T1484 7109 // "DATA_DESTRUCTION" - T1485 7110 // "SERVICE_STOP" - T1489 7111 // "INHIBIT_SYSTEM_RECOVERY" - T1490 7112 // "RESOURCE_HIJACKING" - T1496 7113 // "NETWORK_DENIAL_OF_SERVICE" - T1498 7114 // "CLOUD_SERVICE_DISCOVERY" - T1526 7115 // "STEAL_APPLICATION_ACCESS_TOKEN" - T1528 7116 // "ACCOUNT_ACCESS_REMOVAL" - T1531 7117 // "STEAL_WEB_SESSION_COOKIE" - T1539 7118 // "CREATE_OR_MODIFY_SYSTEM_PROCESS" - T1543 7119 // "ABUSE_ELEVATION_CONTROL_MECHANISM" - T1548 7120 // "UNSECURED_CREDENTIALS" - T1552 7121 // "MODIFY_AUTHENTICATION_PROCESS" - T1556 7122 // "IMPAIR_DEFENSES" - T1562 7123 // "DISABLE_OR_MODIFY_TOOLS" - T1562.001 7124 // "EXFILTRATION_OVER_WEB_SERVICE" - T1567 7125 // "EXFILTRATION_TO_CLOUD_STORAGE" - T1567.002 7126 // "DYNAMIC_RESOLUTION" - T1568 7127 // "LATERAL_TOOL_TRANSFER" - T1570 7128 // "MODIFY_CLOUD_COMPUTE_INFRASTRUCTURE" - T1578 7129 // "CREATE_SNAPSHOT" - T1578.001 7130 // "CLOUD_INFRASTRUCTURE_DISCOVERY" - T1580 7131 // "OBTAIN_CAPABILITIES" - T1588 7132 // "ACTIVE_SCANNING" - T1595 7133 // "SCANNING_IP_BLOCKS" - T1595.001 7134 // "CONTAINER_AND_RESOURCE_DISCOVERY" - T1613 7135 AdditionalTechniques []string `json:"additionalTechniques,omitempty"` 7136 // PrimaryTactic: The MITRE ATT&CK tactic most closely represented by this 7137 // finding, if any. 7138 // 7139 // Possible values: 7140 // "TACTIC_UNSPECIFIED" - Unspecified value. 7141 // "RECONNAISSANCE" - TA0043 7142 // "RESOURCE_DEVELOPMENT" - TA0042 7143 // "INITIAL_ACCESS" - TA0001 7144 // "EXECUTION" - TA0002 7145 // "PERSISTENCE" - TA0003 7146 // "PRIVILEGE_ESCALATION" - TA0004 7147 // "DEFENSE_EVASION" - TA0005 7148 // "CREDENTIAL_ACCESS" - TA0006 7149 // "DISCOVERY" - TA0007 7150 // "LATERAL_MOVEMENT" - TA0008 7151 // "COLLECTION" - TA0009 7152 // "COMMAND_AND_CONTROL" - TA0011 7153 // "EXFILTRATION" - TA0010 7154 // "IMPACT" - TA0040 7155 PrimaryTactic string `json:"primaryTactic,omitempty"` 7156 // PrimaryTechniques: The MITRE ATT&CK technique most closely represented by 7157 // this finding, if any. primary_techniques is a repeated field because there 7158 // are multiple levels of MITRE ATT&CK techniques. If the technique most 7159 // closely represented by this finding is a sub-technique (e.g. 7160 // `SCANNING_IP_BLOCKS`), both the sub-technique and its parent technique(s) 7161 // will be listed (e.g. `SCANNING_IP_BLOCKS`, `ACTIVE_SCANNING`). 7162 // 7163 // Possible values: 7164 // "TECHNIQUE_UNSPECIFIED" - Unspecified value. 7165 // "MASQUERADING" - T1036 7166 // "MATCH_LEGITIMATE_NAME_OR_LOCATION" - T1036.005 7167 // "BOOT_OR_LOGON_INITIALIZATION_SCRIPTS" - T1037 7168 // "STARTUP_ITEMS" - T1037.005 7169 // "NETWORK_SERVICE_DISCOVERY" - T1046 7170 // "PROCESS_DISCOVERY" - T1057 7171 // "COMMAND_AND_SCRIPTING_INTERPRETER" - T1059 7172 // "UNIX_SHELL" - T1059.004 7173 // "PYTHON" - T1059.006 7174 // "PERMISSION_GROUPS_DISCOVERY" - T1069 7175 // "CLOUD_GROUPS" - T1069.003 7176 // "APPLICATION_LAYER_PROTOCOL" - T1071 7177 // "DNS" - T1071.004 7178 // "SOFTWARE_DEPLOYMENT_TOOLS" - T1072 7179 // "VALID_ACCOUNTS" - T1078 7180 // "DEFAULT_ACCOUNTS" - T1078.001 7181 // "LOCAL_ACCOUNTS" - T1078.003 7182 // "CLOUD_ACCOUNTS" - T1078.004 7183 // "PROXY" - T1090 7184 // "EXTERNAL_PROXY" - T1090.002 7185 // "MULTI_HOP_PROXY" - T1090.003 7186 // "ACCOUNT_MANIPULATION" - T1098 7187 // "ADDITIONAL_CLOUD_CREDENTIALS" - T1098.001 7188 // "SSH_AUTHORIZED_KEYS" - T1098.004 7189 // "ADDITIONAL_CONTAINER_CLUSTER_ROLES" - T1098.006 7190 // "INGRESS_TOOL_TRANSFER" - T1105 7191 // "NATIVE_API" - T1106 7192 // "BRUTE_FORCE" - T1110 7193 // "SHARED_MODULES" - T1129 7194 // "ACCESS_TOKEN_MANIPULATION" - T1134 7195 // "TOKEN_IMPERSONATION_OR_THEFT" - T1134.001 7196 // "EXPLOIT_PUBLIC_FACING_APPLICATION" - T1190 7197 // "DOMAIN_POLICY_MODIFICATION" - T1484 7198 // "DATA_DESTRUCTION" - T1485 7199 // "SERVICE_STOP" - T1489 7200 // "INHIBIT_SYSTEM_RECOVERY" - T1490 7201 // "RESOURCE_HIJACKING" - T1496 7202 // "NETWORK_DENIAL_OF_SERVICE" - T1498 7203 // "CLOUD_SERVICE_DISCOVERY" - T1526 7204 // "STEAL_APPLICATION_ACCESS_TOKEN" - T1528 7205 // "ACCOUNT_ACCESS_REMOVAL" - T1531 7206 // "STEAL_WEB_SESSION_COOKIE" - T1539 7207 // "CREATE_OR_MODIFY_SYSTEM_PROCESS" - T1543 7208 // "ABUSE_ELEVATION_CONTROL_MECHANISM" - T1548 7209 // "UNSECURED_CREDENTIALS" - T1552 7210 // "MODIFY_AUTHENTICATION_PROCESS" - T1556 7211 // "IMPAIR_DEFENSES" - T1562 7212 // "DISABLE_OR_MODIFY_TOOLS" - T1562.001 7213 // "EXFILTRATION_OVER_WEB_SERVICE" - T1567 7214 // "EXFILTRATION_TO_CLOUD_STORAGE" - T1567.002 7215 // "DYNAMIC_RESOLUTION" - T1568 7216 // "LATERAL_TOOL_TRANSFER" - T1570 7217 // "MODIFY_CLOUD_COMPUTE_INFRASTRUCTURE" - T1578 7218 // "CREATE_SNAPSHOT" - T1578.001 7219 // "CLOUD_INFRASTRUCTURE_DISCOVERY" - T1580 7220 // "OBTAIN_CAPABILITIES" - T1588 7221 // "ACTIVE_SCANNING" - T1595 7222 // "SCANNING_IP_BLOCKS" - T1595.001 7223 // "CONTAINER_AND_RESOURCE_DISCOVERY" - T1613 7224 PrimaryTechniques []string `json:"primaryTechniques,omitempty"` 7225 // Version: The MITRE ATT&CK version referenced by the above fields. E.g. "8". 7226 Version string `json:"version,omitempty"` 7227 // ForceSendFields is a list of field names (e.g. "AdditionalTactics") to 7228 // unconditionally include in API requests. By default, fields with empty or 7229 // default values are omitted from API requests. See 7230 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 7231 // details. 7232 ForceSendFields []string `json:"-"` 7233 // NullFields is a list of field names (e.g. "AdditionalTactics") to include in 7234 // API requests with the JSON null value. By default, fields with empty values 7235 // are omitted from API requests. See 7236 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 7237 NullFields []string `json:"-"` 7238 } 7239 7240 func (s *MitreAttack) MarshalJSON() ([]byte, error) { 7241 type NoMethod MitreAttack 7242 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 7243 } 7244 7245 // Node: Kubernetes nodes associated with the finding. 7246 type Node struct { 7247 // Name: Full resource name (https://google.aip.dev/122#full-resource-names) of 7248 // the Compute Engine VM running the cluster node. 7249 Name string `json:"name,omitempty"` 7250 // ForceSendFields is a list of field names (e.g. "Name") to unconditionally 7251 // include in API requests. By default, fields with empty or default values are 7252 // omitted from API requests. See 7253 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 7254 // details. 7255 ForceSendFields []string `json:"-"` 7256 // NullFields is a list of field names (e.g. "Name") to include in API requests 7257 // with the JSON null value. By default, fields with empty values are omitted 7258 // from API requests. See 7259 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 7260 NullFields []string `json:"-"` 7261 } 7262 7263 func (s *Node) MarshalJSON() ([]byte, error) { 7264 type NoMethod Node 7265 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 7266 } 7267 7268 // NodePool: Provides GKE node pool information. 7269 type NodePool struct { 7270 // Name: Kubernetes node pool name. 7271 Name string `json:"name,omitempty"` 7272 // Nodes: Nodes associated with the finding. 7273 Nodes []*Node `json:"nodes,omitempty"` 7274 // ForceSendFields is a list of field names (e.g. "Name") to unconditionally 7275 // include in API requests. By default, fields with empty or default values are 7276 // omitted from API requests. See 7277 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 7278 // details. 7279 ForceSendFields []string `json:"-"` 7280 // NullFields is a list of field names (e.g. "Name") to include in API requests 7281 // with the JSON null value. By default, fields with empty values are omitted 7282 // from API requests. See 7283 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 7284 NullFields []string `json:"-"` 7285 } 7286 7287 func (s *NodePool) MarshalJSON() ([]byte, error) { 7288 type NoMethod NodePool 7289 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 7290 } 7291 7292 // Notebook: Represents a Jupyter notebook IPYNB file, such as a Colab 7293 // Enterprise notebook (https://cloud.google.com/colab/docs/introduction) file, 7294 // that is associated with a finding. 7295 type Notebook struct { 7296 // LastAuthor: The user ID of the latest author to modify the notebook. 7297 LastAuthor string `json:"lastAuthor,omitempty"` 7298 // Name: The name of the notebook. 7299 Name string `json:"name,omitempty"` 7300 // NotebookUpdateTime: The most recent time the notebook was updated. 7301 NotebookUpdateTime string `json:"notebookUpdateTime,omitempty"` 7302 // Service: The source notebook service, for example, "Colab Enterprise". 7303 Service string `json:"service,omitempty"` 7304 // ForceSendFields is a list of field names (e.g. "LastAuthor") to 7305 // unconditionally include in API requests. By default, fields with empty or 7306 // default values are omitted from API requests. See 7307 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 7308 // details. 7309 ForceSendFields []string `json:"-"` 7310 // NullFields is a list of field names (e.g. "LastAuthor") to include in API 7311 // requests with the JSON null value. By default, fields with empty values are 7312 // omitted from API requests. See 7313 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 7314 NullFields []string `json:"-"` 7315 } 7316 7317 func (s *Notebook) MarshalJSON() ([]byte, error) { 7318 type NoMethod Notebook 7319 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 7320 } 7321 7322 // Object: Kubernetes object related to the finding, uniquely identified by 7323 // GKNN. Used if the object Kind is not one of Pod, Node, NodePool, Binding, or 7324 // AccessReview. 7325 type Object struct { 7326 // Containers: Pod containers associated with this finding, if any. 7327 Containers []*Container `json:"containers,omitempty"` 7328 // Group: Kubernetes object group, such as "policy.k8s.io/v1". 7329 Group string `json:"group,omitempty"` 7330 // Kind: Kubernetes object kind, such as "Namespace". 7331 Kind string `json:"kind,omitempty"` 7332 // Name: Kubernetes object name. For details see 7333 // https://kubernetes.io/docs/concepts/overview/working-with-objects/names/. 7334 Name string `json:"name,omitempty"` 7335 // Ns: Kubernetes object namespace. Must be a valid DNS label. Named "ns" to 7336 // avoid collision with C++ namespace keyword. For details see 7337 // https://kubernetes.io/docs/tasks/administer-cluster/namespaces/. 7338 Ns string `json:"ns,omitempty"` 7339 // ForceSendFields is a list of field names (e.g. "Containers") to 7340 // unconditionally include in API requests. By default, fields with empty or 7341 // default values are omitted from API requests. See 7342 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 7343 // details. 7344 ForceSendFields []string `json:"-"` 7345 // NullFields is a list of field names (e.g. "Containers") to include in API 7346 // requests with the JSON null value. By default, fields with empty values are 7347 // omitted from API requests. See 7348 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 7349 NullFields []string `json:"-"` 7350 } 7351 7352 func (s *Object) MarshalJSON() ([]byte, error) { 7353 type NoMethod Object 7354 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 7355 } 7356 7357 // Operation: This resource represents a long-running operation that is the 7358 // result of a network API call. 7359 type Operation struct { 7360 // Done: If the value is `false`, it means the operation is still in progress. 7361 // If `true`, the operation is completed, and either `error` or `response` is 7362 // available. 7363 Done bool `json:"done,omitempty"` 7364 // Error: The error result of the operation in case of failure or cancellation. 7365 Error *Status `json:"error,omitempty"` 7366 // Metadata: Service-specific metadata associated with the operation. It 7367 // typically contains progress information and common metadata such as create 7368 // time. Some services might not provide such metadata. Any method that returns 7369 // a long-running operation should document the metadata type, if any. 7370 Metadata googleapi.RawMessage `json:"metadata,omitempty"` 7371 // Name: The server-assigned name, which is only unique within the same service 7372 // that originally returns it. If you use the default HTTP mapping, the `name` 7373 // should be a resource name ending with `operations/{unique_id}`. 7374 Name string `json:"name,omitempty"` 7375 // Response: The normal, successful response of the operation. If the original 7376 // method returns no data on success, such as `Delete`, the response is 7377 // `google.protobuf.Empty`. If the original method is standard 7378 // `Get`/`Create`/`Update`, the response should be the resource. For other 7379 // methods, the response should have the type `XxxResponse`, where `Xxx` is the 7380 // original method name. For example, if the original method name is 7381 // `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. 7382 Response googleapi.RawMessage `json:"response,omitempty"` 7383 7384 // ServerResponse contains the HTTP response code and headers from the server. 7385 googleapi.ServerResponse `json:"-"` 7386 // ForceSendFields is a list of field names (e.g. "Done") to unconditionally 7387 // include in API requests. By default, fields with empty or default values are 7388 // omitted from API requests. See 7389 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 7390 // details. 7391 ForceSendFields []string `json:"-"` 7392 // NullFields is a list of field names (e.g. "Done") to include in API requests 7393 // with the JSON null value. By default, fields with empty values are omitted 7394 // from API requests. See 7395 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 7396 NullFields []string `json:"-"` 7397 } 7398 7399 func (s *Operation) MarshalJSON() ([]byte, error) { 7400 type NoMethod Operation 7401 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 7402 } 7403 7404 // OrgPolicy: Contains information about the org policies associated with the 7405 // finding. 7406 type OrgPolicy struct { 7407 // Name: The resource name of the org policy. Example: 7408 // "organizations/{organization_id}/policies/{constraint_name}" 7409 Name string `json:"name,omitempty"` 7410 // ForceSendFields is a list of field names (e.g. "Name") to unconditionally 7411 // include in API requests. By default, fields with empty or default values are 7412 // omitted from API requests. See 7413 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 7414 // details. 7415 ForceSendFields []string `json:"-"` 7416 // NullFields is a list of field names (e.g. "Name") to include in API requests 7417 // with the JSON null value. By default, fields with empty values are omitted 7418 // from API requests. See 7419 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 7420 NullFields []string `json:"-"` 7421 } 7422 7423 func (s *OrgPolicy) MarshalJSON() ([]byte, error) { 7424 type NoMethod OrgPolicy 7425 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 7426 } 7427 7428 // OrganizationSettings: User specified settings that are attached to the 7429 // Security Command Center organization. 7430 type OrganizationSettings struct { 7431 // AssetDiscoveryConfig: The configuration used for Asset Discovery runs. 7432 AssetDiscoveryConfig *AssetDiscoveryConfig `json:"assetDiscoveryConfig,omitempty"` 7433 // EnableAssetDiscovery: A flag that indicates if Asset Discovery should be 7434 // enabled. If the flag is set to `true`, then discovery of assets will occur. 7435 // If it is set to `false`, all historical assets will remain, but discovery of 7436 // future assets will not occur. 7437 EnableAssetDiscovery bool `json:"enableAssetDiscovery,omitempty"` 7438 // Name: The relative resource name of the settings. See: 7439 // https://cloud.google.com/apis/design/resource_names#relative_resource_name 7440 // Example: "organizations/{organization_id}/organizationSettings". 7441 Name string `json:"name,omitempty"` 7442 7443 // ServerResponse contains the HTTP response code and headers from the server. 7444 googleapi.ServerResponse `json:"-"` 7445 // ForceSendFields is a list of field names (e.g. "AssetDiscoveryConfig") to 7446 // unconditionally include in API requests. By default, fields with empty or 7447 // default values are omitted from API requests. See 7448 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 7449 // details. 7450 ForceSendFields []string `json:"-"` 7451 // NullFields is a list of field names (e.g. "AssetDiscoveryConfig") to include 7452 // in API requests with the JSON null value. By default, fields with empty 7453 // values are omitted from API requests. See 7454 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 7455 NullFields []string `json:"-"` 7456 } 7457 7458 func (s *OrganizationSettings) MarshalJSON() ([]byte, error) { 7459 type NoMethod OrganizationSettings 7460 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 7461 } 7462 7463 // Package: Package is a generic definition of a package. 7464 type Package struct { 7465 // CpeUri: The CPE URI where the vulnerability was detected. 7466 CpeUri string `json:"cpeUri,omitempty"` 7467 // PackageName: The name of the package where the vulnerability was detected. 7468 PackageName string `json:"packageName,omitempty"` 7469 // PackageType: Type of package, for example, os, maven, or go. 7470 PackageType string `json:"packageType,omitempty"` 7471 // PackageVersion: The version of the package. 7472 PackageVersion string `json:"packageVersion,omitempty"` 7473 // ForceSendFields is a list of field names (e.g. "CpeUri") to unconditionally 7474 // include in API requests. By default, fields with empty or default values are 7475 // omitted from API requests. See 7476 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 7477 // details. 7478 ForceSendFields []string `json:"-"` 7479 // NullFields is a list of field names (e.g. "CpeUri") to include in API 7480 // requests with the JSON null value. By default, fields with empty values are 7481 // omitted from API requests. See 7482 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 7483 NullFields []string `json:"-"` 7484 } 7485 7486 func (s *Package) MarshalJSON() ([]byte, error) { 7487 type NoMethod Package 7488 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 7489 } 7490 7491 // Pod: A Kubernetes Pod. 7492 type Pod struct { 7493 // Containers: Pod containers associated with this finding, if any. 7494 Containers []*Container `json:"containers,omitempty"` 7495 // Labels: Pod labels. For Kubernetes containers, these are applied to the 7496 // container. 7497 Labels []*Label `json:"labels,omitempty"` 7498 // Name: Kubernetes Pod name. 7499 Name string `json:"name,omitempty"` 7500 // Ns: Kubernetes Pod namespace. 7501 Ns string `json:"ns,omitempty"` 7502 // ForceSendFields is a list of field names (e.g. "Containers") to 7503 // unconditionally include in API requests. By default, fields with empty or 7504 // default values are omitted from API requests. See 7505 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 7506 // details. 7507 ForceSendFields []string `json:"-"` 7508 // NullFields is a list of field names (e.g. "Containers") to include in API 7509 // requests with the JSON null value. By default, fields with empty values are 7510 // omitted from API requests. See 7511 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 7512 NullFields []string `json:"-"` 7513 } 7514 7515 func (s *Pod) MarshalJSON() ([]byte, error) { 7516 type NoMethod Pod 7517 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 7518 } 7519 7520 // Policy: An Identity and Access Management (IAM) policy, which specifies 7521 // access controls for Google Cloud resources. A `Policy` is a collection of 7522 // `bindings`. A `binding` binds one or more `members`, or principals, to a 7523 // single `role`. Principals can be user accounts, service accounts, Google 7524 // groups, and domains (such as G Suite). A `role` is a named list of 7525 // permissions; each `role` can be an IAM predefined role or a user-created 7526 // custom role. For some types of Google Cloud resources, a `binding` can also 7527 // specify a `condition`, which is a logical expression that allows access to a 7528 // resource only if the expression evaluates to `true`. A condition can add 7529 // constraints based on attributes of the request, the resource, or both. To 7530 // learn which resources support conditions in their IAM policies, see the IAM 7531 // documentation 7532 // (https://cloud.google.com/iam/help/conditions/resource-policies). **JSON 7533 // example:** ``` { "bindings": [ { "role": 7534 // "roles/resourcemanager.organizationAdmin", "members": [ 7535 // "user:mike@example.com", "group:admins@example.com", "domain:google.com", 7536 // "serviceAccount:my-project-id@appspot.gserviceaccount.com" ] }, { "role": 7537 // "roles/resourcemanager.organizationViewer", "members": [ 7538 // "user:eve@example.com" ], "condition": { "title": "expirable access", 7539 // "description": "Does not grant access after Sep 2020", "expression": 7540 // "request.time < timestamp('2020-10-01T00:00:00.000Z')", } } ], "etag": 7541 // "BwWWja0YfJA=", "version": 3 } ``` **YAML example:** ``` bindings: - 7542 // members: - user:mike@example.com - group:admins@example.com - 7543 // domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com 7544 // role: roles/resourcemanager.organizationAdmin - members: - 7545 // user:eve@example.com role: roles/resourcemanager.organizationViewer 7546 // condition: title: expirable access description: Does not grant access after 7547 // Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') 7548 // etag: BwWWja0YfJA= version: 3 ``` For a description of IAM and its features, 7549 // see the IAM documentation (https://cloud.google.com/iam/docs/). 7550 type Policy struct { 7551 // AuditConfigs: Specifies cloud audit logging configuration for this policy. 7552 AuditConfigs []*AuditConfig `json:"auditConfigs,omitempty"` 7553 // Bindings: Associates a list of `members`, or principals, with a `role`. 7554 // Optionally, may specify a `condition` that determines how and when the 7555 // `bindings` are applied. Each of the `bindings` must contain at least one 7556 // principal. The `bindings` in a `Policy` can refer to up to 1,500 principals; 7557 // up to 250 of these principals can be Google groups. Each occurrence of a 7558 // principal counts towards these limits. For example, if the `bindings` grant 7559 // 50 different roles to `user:alice@example.com`, and not to any other 7560 // principal, then you can add another 1,450 principals to the `bindings` in 7561 // the `Policy`. 7562 Bindings []*Binding `json:"bindings,omitempty"` 7563 // Etag: `etag` is used for optimistic concurrency control as a way to help 7564 // prevent simultaneous updates of a policy from overwriting each other. It is 7565 // strongly suggested that systems make use of the `etag` in the 7566 // read-modify-write cycle to perform policy updates in order to avoid race 7567 // conditions: An `etag` is returned in the response to `getIamPolicy`, and 7568 // systems are expected to put that etag in the request to `setIamPolicy` to 7569 // ensure that their change will be applied to the same version of the policy. 7570 // **Important:** If you use IAM Conditions, you must include the `etag` field 7571 // whenever you call `setIamPolicy`. If you omit this field, then IAM allows 7572 // you to overwrite a version `3` policy with a version `1` policy, and all of 7573 // the conditions in the version `3` policy are lost. 7574 Etag string `json:"etag,omitempty"` 7575 // Version: Specifies the format of the policy. Valid values are `0`, `1`, and 7576 // `3`. Requests that specify an invalid value are rejected. Any operation that 7577 // affects conditional role bindings must specify version `3`. This requirement 7578 // applies to the following operations: * Getting a policy that includes a 7579 // conditional role binding * Adding a conditional role binding to a policy * 7580 // Changing a conditional role binding in a policy * Removing any role binding, 7581 // with or without a condition, from a policy that includes conditions 7582 // **Important:** If you use IAM Conditions, you must include the `etag` field 7583 // whenever you call `setIamPolicy`. If you omit this field, then IAM allows 7584 // you to overwrite a version `3` policy with a version `1` policy, and all of 7585 // the conditions in the version `3` policy are lost. If a policy does not 7586 // include any conditions, operations on that policy may specify any valid 7587 // version or leave the field unset. To learn which resources support 7588 // conditions in their IAM policies, see the IAM documentation 7589 // (https://cloud.google.com/iam/help/conditions/resource-policies). 7590 Version int64 `json:"version,omitempty"` 7591 7592 // ServerResponse contains the HTTP response code and headers from the server. 7593 googleapi.ServerResponse `json:"-"` 7594 // ForceSendFields is a list of field names (e.g. "AuditConfigs") to 7595 // unconditionally include in API requests. By default, fields with empty or 7596 // default values are omitted from API requests. See 7597 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 7598 // details. 7599 ForceSendFields []string `json:"-"` 7600 // NullFields is a list of field names (e.g. "AuditConfigs") to include in API 7601 // requests with the JSON null value. By default, fields with empty values are 7602 // omitted from API requests. See 7603 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 7604 NullFields []string `json:"-"` 7605 } 7606 7607 func (s *Policy) MarshalJSON() ([]byte, error) { 7608 type NoMethod Policy 7609 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 7610 } 7611 7612 // PolicyDriftDetails: The policy field that violates the deployed posture and 7613 // its expected and detected values. 7614 type PolicyDriftDetails struct { 7615 // DetectedValue: The detected value that violates the deployed posture, for 7616 // example, `false` or `allowed_values={"projects/22831892"}`. 7617 DetectedValue string `json:"detectedValue,omitempty"` 7618 // ExpectedValue: The value of this field that was configured in a posture, for 7619 // example, `true` or `allowed_values={"projects/29831892"}`. 7620 ExpectedValue string `json:"expectedValue,omitempty"` 7621 // Field: The name of the updated field, for example 7622 // constraint.implementation.policy_rules[0].enforce 7623 Field string `json:"field,omitempty"` 7624 // ForceSendFields is a list of field names (e.g. "DetectedValue") to 7625 // unconditionally include in API requests. By default, fields with empty or 7626 // default values are omitted from API requests. See 7627 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 7628 // details. 7629 ForceSendFields []string `json:"-"` 7630 // NullFields is a list of field names (e.g. "DetectedValue") to include in API 7631 // requests with the JSON null value. By default, fields with empty values are 7632 // omitted from API requests. See 7633 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 7634 NullFields []string `json:"-"` 7635 } 7636 7637 func (s *PolicyDriftDetails) MarshalJSON() ([]byte, error) { 7638 type NoMethod PolicyDriftDetails 7639 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 7640 } 7641 7642 // Process: Represents an operating system process. 7643 type Process struct { 7644 // Args: Process arguments as JSON encoded strings. 7645 Args []string `json:"args,omitempty"` 7646 // ArgumentsTruncated: True if `args` is incomplete. 7647 ArgumentsTruncated bool `json:"argumentsTruncated,omitempty"` 7648 // Binary: File information for the process executable. 7649 Binary *File `json:"binary,omitempty"` 7650 // EnvVariables: Process environment variables. 7651 EnvVariables []*EnvironmentVariable `json:"envVariables,omitempty"` 7652 // EnvVariablesTruncated: True if `env_variables` is incomplete. 7653 EnvVariablesTruncated bool `json:"envVariablesTruncated,omitempty"` 7654 // Libraries: File information for libraries loaded by the process. 7655 Libraries []*File `json:"libraries,omitempty"` 7656 // Name: The process name, as displayed in utilities like `top` and `ps`. This 7657 // name can be accessed through `/proc/[pid]/comm` and changed with 7658 // `prctl(PR_SET_NAME)`. 7659 Name string `json:"name,omitempty"` 7660 // ParentPid: The parent process ID. 7661 ParentPid int64 `json:"parentPid,omitempty,string"` 7662 // Pid: The process ID. 7663 Pid int64 `json:"pid,omitempty,string"` 7664 // Script: When the process represents the invocation of a script, `binary` 7665 // provides information about the interpreter, while `script` provides 7666 // information about the script file provided to the interpreter. 7667 Script *File `json:"script,omitempty"` 7668 // ForceSendFields is a list of field names (e.g. "Args") to unconditionally 7669 // include in API requests. By default, fields with empty or default values are 7670 // omitted from API requests. See 7671 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 7672 // details. 7673 ForceSendFields []string `json:"-"` 7674 // NullFields is a list of field names (e.g. "Args") to include in API requests 7675 // with the JSON null value. By default, fields with empty values are omitted 7676 // from API requests. See 7677 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 7678 NullFields []string `json:"-"` 7679 } 7680 7681 func (s *Process) MarshalJSON() ([]byte, error) { 7682 type NoMethod Process 7683 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 7684 } 7685 7686 // ProcessSignature: Indicates what signature matched this process. 7687 type ProcessSignature struct { 7688 // MemoryHashSignature: Signature indicating that a binary family was matched. 7689 MemoryHashSignature *MemoryHashSignature `json:"memoryHashSignature,omitempty"` 7690 // SignatureType: Describes the type of resource associated with the signature. 7691 // 7692 // Possible values: 7693 // "SIGNATURE_TYPE_UNSPECIFIED" - The default signature type. 7694 // "SIGNATURE_TYPE_PROCESS" - Used for signatures concerning processes. 7695 // "SIGNATURE_TYPE_FILE" - Used for signatures concerning disks. 7696 SignatureType string `json:"signatureType,omitempty"` 7697 // YaraRuleSignature: Signature indicating that a YARA rule was matched. 7698 YaraRuleSignature *YaraRuleSignature `json:"yaraRuleSignature,omitempty"` 7699 // ForceSendFields is a list of field names (e.g. "MemoryHashSignature") to 7700 // unconditionally include in API requests. By default, fields with empty or 7701 // default values are omitted from API requests. See 7702 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 7703 // details. 7704 ForceSendFields []string `json:"-"` 7705 // NullFields is a list of field names (e.g. "MemoryHashSignature") to include 7706 // in API requests with the JSON null value. By default, fields with empty 7707 // values are omitted from API requests. See 7708 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 7709 NullFields []string `json:"-"` 7710 } 7711 7712 func (s *ProcessSignature) MarshalJSON() ([]byte, error) { 7713 type NoMethod ProcessSignature 7714 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 7715 } 7716 7717 // Reference: Additional Links 7718 type Reference struct { 7719 // Source: Source of the reference e.g. NVD 7720 Source string `json:"source,omitempty"` 7721 // Uri: Uri for the mentioned source e.g. 7722 // https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-34527. 7723 Uri string `json:"uri,omitempty"` 7724 // ForceSendFields is a list of field names (e.g. "Source") to unconditionally 7725 // include in API requests. By default, fields with empty or default values are 7726 // omitted from API requests. See 7727 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 7728 // details. 7729 ForceSendFields []string `json:"-"` 7730 // NullFields is a list of field names (e.g. "Source") to include in API 7731 // requests with the JSON null value. By default, fields with empty values are 7732 // omitted from API requests. See 7733 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 7734 NullFields []string `json:"-"` 7735 } 7736 7737 func (s *Reference) MarshalJSON() ([]byte, error) { 7738 type NoMethod Reference 7739 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 7740 } 7741 7742 // Requests: Information about the requests relevant to the finding. 7743 type Requests struct { 7744 // LongTermAllowed: Allowed RPS (requests per second) over the long term. 7745 LongTermAllowed int64 `json:"longTermAllowed,omitempty"` 7746 // LongTermDenied: Denied RPS (requests per second) over the long term. 7747 LongTermDenied int64 `json:"longTermDenied,omitempty"` 7748 // Ratio: For 'Increasing deny ratio', the ratio is the denied traffic divided 7749 // by the allowed traffic. For 'Allowed traffic spike', the ratio is the 7750 // allowed traffic in the short term divided by allowed traffic in the long 7751 // term. 7752 Ratio float64 `json:"ratio,omitempty"` 7753 // ShortTermAllowed: Allowed RPS (requests per second) in the short term. 7754 ShortTermAllowed int64 `json:"shortTermAllowed,omitempty"` 7755 // ForceSendFields is a list of field names (e.g. "LongTermAllowed") to 7756 // unconditionally include in API requests. By default, fields with empty or 7757 // default values are omitted from API requests. See 7758 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 7759 // details. 7760 ForceSendFields []string `json:"-"` 7761 // NullFields is a list of field names (e.g. "LongTermAllowed") to include in 7762 // API requests with the JSON null value. By default, fields with empty values 7763 // are omitted from API requests. See 7764 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 7765 NullFields []string `json:"-"` 7766 } 7767 7768 func (s *Requests) MarshalJSON() ([]byte, error) { 7769 type NoMethod Requests 7770 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 7771 } 7772 7773 func (s *Requests) UnmarshalJSON(data []byte) error { 7774 type NoMethod Requests 7775 var s1 struct { 7776 Ratio gensupport.JSONFloat64 `json:"ratio"` 7777 *NoMethod 7778 } 7779 s1.NoMethod = (*NoMethod)(s) 7780 if err := json.Unmarshal(data, &s1); err != nil { 7781 return err 7782 } 7783 s.Ratio = float64(s1.Ratio) 7784 return nil 7785 } 7786 7787 // ResourcePath: Represents the path of resources leading up to the resource 7788 // this finding is about. 7789 type ResourcePath struct { 7790 // Nodes: The list of nodes that make the up resource path, ordered from lowest 7791 // level to highest level. 7792 Nodes []*ResourcePathNode `json:"nodes,omitempty"` 7793 // ForceSendFields is a list of field names (e.g. "Nodes") to unconditionally 7794 // include in API requests. By default, fields with empty or default values are 7795 // omitted from API requests. See 7796 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 7797 // details. 7798 ForceSendFields []string `json:"-"` 7799 // NullFields is a list of field names (e.g. "Nodes") to include in API 7800 // requests with the JSON null value. By default, fields with empty values are 7801 // omitted from API requests. See 7802 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 7803 NullFields []string `json:"-"` 7804 } 7805 7806 func (s *ResourcePath) MarshalJSON() ([]byte, error) { 7807 type NoMethod ResourcePath 7808 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 7809 } 7810 7811 // ResourcePathNode: A node within the resource path. Each node represents a 7812 // resource within the resource hierarchy. 7813 type ResourcePathNode struct { 7814 // DisplayName: The display name of the resource this node represents. 7815 DisplayName string `json:"displayName,omitempty"` 7816 // Id: The ID of the resource this node represents. 7817 Id string `json:"id,omitempty"` 7818 // NodeType: The type of resource this node represents. 7819 // 7820 // Possible values: 7821 // "RESOURCE_PATH_NODE_TYPE_UNSPECIFIED" - Node type is unspecified. 7822 // "GCP_ORGANIZATION" - The node represents a Google Cloud organization. 7823 // "GCP_FOLDER" - The node represents a Google Cloud folder. 7824 // "GCP_PROJECT" - The node represents a Google Cloud project. 7825 // "AWS_ORGANIZATION" - The node represents an AWS organization. 7826 // "AWS_ORGANIZATIONAL_UNIT" - The node represents an AWS organizational 7827 // unit. 7828 // "AWS_ACCOUNT" - The node represents an AWS account. 7829 // "AZURE_MANAGEMENT_GROUP" - The node represents an Azure management group. 7830 // "AZURE_SUBSCRIPTION" - The node represents an Azure subscription. 7831 // "AZURE_RESOURCE_GROUP" - The node represents an Azure resource group. 7832 NodeType string `json:"nodeType,omitempty"` 7833 // ForceSendFields is a list of field names (e.g. "DisplayName") to 7834 // unconditionally include in API requests. By default, fields with empty or 7835 // default values are omitted from API requests. See 7836 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 7837 // details. 7838 ForceSendFields []string `json:"-"` 7839 // NullFields is a list of field names (e.g. "DisplayName") to include in API 7840 // requests with the JSON null value. By default, fields with empty values are 7841 // omitted from API requests. See 7842 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 7843 NullFields []string `json:"-"` 7844 } 7845 7846 func (s *ResourcePathNode) MarshalJSON() ([]byte, error) { 7847 type NoMethod ResourcePathNode 7848 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 7849 } 7850 7851 // Role: Kubernetes Role or ClusterRole. 7852 type Role struct { 7853 // Kind: Role type. 7854 // 7855 // Possible values: 7856 // "KIND_UNSPECIFIED" - Role type is not specified. 7857 // "ROLE" - Kubernetes Role. 7858 // "CLUSTER_ROLE" - Kubernetes ClusterRole. 7859 Kind string `json:"kind,omitempty"` 7860 // Name: Role name. 7861 Name string `json:"name,omitempty"` 7862 // Ns: Role namespace. 7863 Ns string `json:"ns,omitempty"` 7864 // ForceSendFields is a list of field names (e.g. "Kind") to unconditionally 7865 // include in API requests. By default, fields with empty or default values are 7866 // omitted from API requests. See 7867 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 7868 // details. 7869 ForceSendFields []string `json:"-"` 7870 // NullFields is a list of field names (e.g. "Kind") to include in API requests 7871 // with the JSON null value. By default, fields with empty values are omitted 7872 // from API requests. See 7873 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 7874 NullFields []string `json:"-"` 7875 } 7876 7877 func (s *Role) MarshalJSON() ([]byte, error) { 7878 type NoMethod Role 7879 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 7880 } 7881 7882 // RunAssetDiscoveryRequest: Request message for running asset discovery for an 7883 // organization. 7884 type RunAssetDiscoveryRequest struct { 7885 } 7886 7887 // SecurityBulletin: SecurityBulletin are notifications of vulnerabilities of 7888 // Google products. 7889 type SecurityBulletin struct { 7890 // BulletinId: ID of the bulletin corresponding to the vulnerability. 7891 BulletinId string `json:"bulletinId,omitempty"` 7892 // SubmissionTime: Submission time of this Security Bulletin. 7893 SubmissionTime string `json:"submissionTime,omitempty"` 7894 // SuggestedUpgradeVersion: This represents a version that the cluster 7895 // receiving this notification should be upgraded to, based on its current 7896 // version. For example, 1.15.0 7897 SuggestedUpgradeVersion string `json:"suggestedUpgradeVersion,omitempty"` 7898 // ForceSendFields is a list of field names (e.g. "BulletinId") to 7899 // unconditionally include in API requests. By default, fields with empty or 7900 // default values are omitted from API requests. See 7901 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 7902 // details. 7903 ForceSendFields []string `json:"-"` 7904 // NullFields is a list of field names (e.g. "BulletinId") to include in API 7905 // requests with the JSON null value. By default, fields with empty values are 7906 // omitted from API requests. See 7907 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 7908 NullFields []string `json:"-"` 7909 } 7910 7911 func (s *SecurityBulletin) MarshalJSON() ([]byte, error) { 7912 type NoMethod SecurityBulletin 7913 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 7914 } 7915 7916 // SecurityCenterProperties: Security Command Center managed properties. These 7917 // properties are managed by Security Command Center and cannot be modified by 7918 // the user. 7919 type SecurityCenterProperties struct { 7920 // ResourceName: Immutable. The full resource name of the Google Cloud resource 7921 // this asset represents. This field is immutable after create time. See: 7922 // https://cloud.google.com/apis/design/resource_names#full_resource_name 7923 ResourceName string `json:"resourceName,omitempty"` 7924 // ResourceOwners: Owners of the Google Cloud resource. 7925 ResourceOwners []string `json:"resourceOwners,omitempty"` 7926 // ResourceParent: The full resource name of the immediate parent of the 7927 // resource. See: 7928 // https://cloud.google.com/apis/design/resource_names#full_resource_name 7929 ResourceParent string `json:"resourceParent,omitempty"` 7930 // ResourceProject: The full resource name of the project the resource belongs 7931 // to. See: 7932 // https://cloud.google.com/apis/design/resource_names#full_resource_name 7933 ResourceProject string `json:"resourceProject,omitempty"` 7934 // ResourceType: The type of the Google Cloud resource. Examples include: 7935 // APPLICATION, PROJECT, and ORGANIZATION. This is a case insensitive field 7936 // defined by Security Command Center and/or the producer of the resource and 7937 // is immutable after create time. 7938 ResourceType string `json:"resourceType,omitempty"` 7939 // ForceSendFields is a list of field names (e.g. "ResourceName") to 7940 // unconditionally include in API requests. By default, fields with empty or 7941 // default values are omitted from API requests. See 7942 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 7943 // details. 7944 ForceSendFields []string `json:"-"` 7945 // NullFields is a list of field names (e.g. "ResourceName") to include in API 7946 // requests with the JSON null value. By default, fields with empty values are 7947 // omitted from API requests. See 7948 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 7949 NullFields []string `json:"-"` 7950 } 7951 7952 func (s *SecurityCenterProperties) MarshalJSON() ([]byte, error) { 7953 type NoMethod SecurityCenterProperties 7954 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 7955 } 7956 7957 // SecurityMarks: User specified security marks that are attached to the parent 7958 // Security Command Center resource. Security marks are scoped within a 7959 // Security Command Center organization -- they can be modified and viewed by 7960 // all users who have proper permissions on the organization. 7961 type SecurityMarks struct { 7962 // CanonicalName: The canonical name of the marks. Examples: 7963 // "organizations/{organization_id}/assets/{asset_id}/securityMarks" 7964 // "folders/{folder_id}/assets/{asset_id}/securityMarks" 7965 // "projects/{project_number}/assets/{asset_id}/securityMarks" 7966 // "organizations/{organization_id}/sources/{source_id}/findings/{finding_id}/se 7967 // curityMarks" 7968 // "folders/{folder_id}/sources/{source_id}/findings/{finding_id}/securityMarks" 7969 // 7970 // "projects/{project_number}/sources/{source_id}/findings/{finding_id}/security 7971 // Marks" 7972 CanonicalName string `json:"canonicalName,omitempty"` 7973 // Marks: Mutable user specified security marks belonging to the parent 7974 // resource. Constraints are as follows: * Keys and values are treated as case 7975 // insensitive * Keys must be between 1 - 256 characters (inclusive) * Keys 7976 // must be letters, numbers, underscores, or dashes * Values have leading and 7977 // trailing whitespace trimmed, remaining characters must be between 1 - 4096 7978 // characters (inclusive) 7979 Marks map[string]string `json:"marks,omitempty"` 7980 // Name: The relative resource name of the SecurityMarks. See: 7981 // https://cloud.google.com/apis/design/resource_names#relative_resource_name 7982 // Examples: "organizations/{organization_id}/assets/{asset_id}/securityMarks" 7983 // "organizations/{organization_id}/sources/{source_id}/findings/{finding_id}/se 7984 // curityMarks". 7985 Name string `json:"name,omitempty"` 7986 // ForceSendFields is a list of field names (e.g. "CanonicalName") to 7987 // unconditionally include in API requests. By default, fields with empty or 7988 // default values are omitted from API requests. See 7989 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 7990 // details. 7991 ForceSendFields []string `json:"-"` 7992 // NullFields is a list of field names (e.g. "CanonicalName") to include in API 7993 // requests with the JSON null value. By default, fields with empty values are 7994 // omitted from API requests. See 7995 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 7996 NullFields []string `json:"-"` 7997 } 7998 7999 func (s *SecurityMarks) MarshalJSON() ([]byte, error) { 8000 type NoMethod SecurityMarks 8001 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 8002 } 8003 8004 // SecurityPolicy: Information about the Google Cloud Armor security policy 8005 // (https://cloud.google.com/armor/docs/security-policy-overview) relevant to 8006 // the finding. 8007 type SecurityPolicy struct { 8008 // Name: The name of the Google Cloud Armor security policy, for example, 8009 // "my-security-policy". 8010 Name string `json:"name,omitempty"` 8011 // Preview: Whether or not the associated rule or policy is in preview mode. 8012 Preview bool `json:"preview,omitempty"` 8013 // Type: The type of Google Cloud Armor security policy for example, 'backend 8014 // security policy', 'edge security policy', 'network edge security policy', or 8015 // 'always-on DDoS protection'. 8016 Type string `json:"type,omitempty"` 8017 // ForceSendFields is a list of field names (e.g. "Name") to unconditionally 8018 // include in API requests. By default, fields with empty or default values are 8019 // omitted from API requests. See 8020 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 8021 // details. 8022 ForceSendFields []string `json:"-"` 8023 // NullFields is a list of field names (e.g. "Name") to include in API requests 8024 // with the JSON null value. By default, fields with empty values are omitted 8025 // from API requests. See 8026 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 8027 NullFields []string `json:"-"` 8028 } 8029 8030 func (s *SecurityPolicy) MarshalJSON() ([]byte, error) { 8031 type NoMethod SecurityPolicy 8032 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 8033 } 8034 8035 // SecurityPosture: Represents a posture that is deployed on Google Cloud by 8036 // the Security Command Center Posture Management service. A posture contains 8037 // one or more policy sets. A policy set is a group of policies that enforce a 8038 // set of security rules on Google Cloud. 8039 type SecurityPosture struct { 8040 // ChangedPolicy: The name of the updated policy, for example, 8041 // `projects/{project_id}/policies/{constraint_name}`. 8042 ChangedPolicy string `json:"changedPolicy,omitempty"` 8043 // Name: Name of the posture, for example, `CIS-Posture`. 8044 Name string `json:"name,omitempty"` 8045 // Policy: The ID of the updated policy, for example, `compute-policy-1`. 8046 Policy string `json:"policy,omitempty"` 8047 // PolicyDriftDetails: The details about a change in an updated policy that 8048 // violates the deployed posture. 8049 PolicyDriftDetails []*PolicyDriftDetails `json:"policyDriftDetails,omitempty"` 8050 // PolicySet: The name of the updated policyset, for example, `cis-policyset`. 8051 PolicySet string `json:"policySet,omitempty"` 8052 // PostureDeployment: The name of the posture deployment, for example, 8053 // `organizations/{org_id}/posturedeployments/{posture_deployment_id}`. 8054 PostureDeployment string `json:"postureDeployment,omitempty"` 8055 // PostureDeploymentResource: The project, folder, or organization on which the 8056 // posture is deployed, for example, `projects/{project_number}`. 8057 PostureDeploymentResource string `json:"postureDeploymentResource,omitempty"` 8058 // RevisionId: The version of the posture, for example, `c7cfa2a8`. 8059 RevisionId string `json:"revisionId,omitempty"` 8060 // ForceSendFields is a list of field names (e.g. "ChangedPolicy") to 8061 // unconditionally include in API requests. By default, fields with empty or 8062 // default values are omitted from API requests. See 8063 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 8064 // details. 8065 ForceSendFields []string `json:"-"` 8066 // NullFields is a list of field names (e.g. "ChangedPolicy") to include in API 8067 // requests with the JSON null value. By default, fields with empty values are 8068 // omitted from API requests. See 8069 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 8070 NullFields []string `json:"-"` 8071 } 8072 8073 func (s *SecurityPosture) MarshalJSON() ([]byte, error) { 8074 type NoMethod SecurityPosture 8075 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 8076 } 8077 8078 // ServiceAccountDelegationInfo: Identity delegation history of an 8079 // authenticated service account. 8080 type ServiceAccountDelegationInfo struct { 8081 // PrincipalEmail: The email address of a Google account. 8082 PrincipalEmail string `json:"principalEmail,omitempty"` 8083 // PrincipalSubject: A string representing the principal_subject associated 8084 // with the identity. As compared to `principal_email`, supports principals 8085 // that aren't associated with email addresses, such as third party principals. 8086 // For most identities, the format will be 8087 // `principal://iam.googleapis.com/{identity pool name}/subjects/{subject}` 8088 // except for some GKE identities (GKE_WORKLOAD, FREEFORM, GKE_HUB_WORKLOAD) 8089 // that are still in the legacy format `serviceAccount:{identity pool 8090 // name}[{subject}]` 8091 PrincipalSubject string `json:"principalSubject,omitempty"` 8092 // ForceSendFields is a list of field names (e.g. "PrincipalEmail") to 8093 // unconditionally include in API requests. By default, fields with empty or 8094 // default values are omitted from API requests. See 8095 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 8096 // details. 8097 ForceSendFields []string `json:"-"` 8098 // NullFields is a list of field names (e.g. "PrincipalEmail") to include in 8099 // API requests with the JSON null value. By default, fields with empty values 8100 // are omitted from API requests. See 8101 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 8102 NullFields []string `json:"-"` 8103 } 8104 8105 func (s *ServiceAccountDelegationInfo) MarshalJSON() ([]byte, error) { 8106 type NoMethod ServiceAccountDelegationInfo 8107 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 8108 } 8109 8110 // SetFindingStateRequest: Request message for updating a finding's state. 8111 type SetFindingStateRequest struct { 8112 // StartTime: Required. The time at which the updated state takes effect. 8113 StartTime string `json:"startTime,omitempty"` 8114 // State: Required. The desired State of the finding. 8115 // 8116 // Possible values: 8117 // "STATE_UNSPECIFIED" - Unspecified state. 8118 // "ACTIVE" - The finding requires attention and has not been addressed yet. 8119 // "INACTIVE" - The finding has been fixed, triaged as a non-issue or 8120 // otherwise addressed and is no longer active. 8121 State string `json:"state,omitempty"` 8122 // ForceSendFields is a list of field names (e.g. "StartTime") to 8123 // unconditionally include in API requests. By default, fields with empty or 8124 // default values are omitted from API requests. See 8125 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 8126 // details. 8127 ForceSendFields []string `json:"-"` 8128 // NullFields is a list of field names (e.g. "StartTime") to include in API 8129 // requests with the JSON null value. By default, fields with empty values are 8130 // omitted from API requests. See 8131 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 8132 NullFields []string `json:"-"` 8133 } 8134 8135 func (s *SetFindingStateRequest) MarshalJSON() ([]byte, error) { 8136 type NoMethod SetFindingStateRequest 8137 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 8138 } 8139 8140 // SetIamPolicyRequest: Request message for `SetIamPolicy` method. 8141 type SetIamPolicyRequest struct { 8142 // Policy: REQUIRED: The complete policy to be applied to the `resource`. The 8143 // size of the policy is limited to a few 10s of KB. An empty policy is a valid 8144 // policy but certain Google Cloud services (such as Projects) might reject 8145 // them. 8146 Policy *Policy `json:"policy,omitempty"` 8147 // UpdateMask: OPTIONAL: A FieldMask specifying which fields of the policy to 8148 // modify. Only the fields in the mask will be modified. If no mask is 8149 // provided, the following default mask is used: `paths: "bindings, etag" 8150 UpdateMask string `json:"updateMask,omitempty"` 8151 // ForceSendFields is a list of field names (e.g. "Policy") to unconditionally 8152 // include in API requests. By default, fields with empty or default values are 8153 // omitted from API requests. See 8154 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 8155 // details. 8156 ForceSendFields []string `json:"-"` 8157 // NullFields is a list of field names (e.g. "Policy") to include in API 8158 // requests with the JSON null value. By default, fields with empty values are 8159 // omitted from API requests. See 8160 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 8161 NullFields []string `json:"-"` 8162 } 8163 8164 func (s *SetIamPolicyRequest) MarshalJSON() ([]byte, error) { 8165 type NoMethod SetIamPolicyRequest 8166 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 8167 } 8168 8169 // Source: Security Command Center finding source. A finding source is an 8170 // entity or a mechanism that can produce a finding. A source is like a 8171 // container of findings that come from the same scanner, logger, monitor, etc. 8172 type Source struct { 8173 // Description: The description of the source (max of 1024 characters). 8174 // Example: "Web Security Scanner is a web security scanner for common 8175 // vulnerabilities in App Engine applications. It can automatically scan and 8176 // detect four common vulnerabilities, including cross-site-scripting (XSS), 8177 // Flash injection, mixed content (HTTP in HTTPS), and outdated/insecure 8178 // libraries." 8179 Description string `json:"description,omitempty"` 8180 // DisplayName: The source's display name. A source's display name must be 8181 // unique amongst its siblings, for example, two sources with the same parent 8182 // can't share the same display name. The display name must have a length 8183 // between 1 and 64 characters (inclusive). 8184 DisplayName string `json:"displayName,omitempty"` 8185 // Name: The relative resource name of this source. See: 8186 // https://cloud.google.com/apis/design/resource_names#relative_resource_name 8187 // Example: "organizations/{organization_id}/sources/{source_id}" 8188 Name string `json:"name,omitempty"` 8189 8190 // ServerResponse contains the HTTP response code and headers from the server. 8191 googleapi.ServerResponse `json:"-"` 8192 // ForceSendFields is a list of field names (e.g. "Description") to 8193 // unconditionally include in API requests. By default, fields with empty or 8194 // default values are omitted from API requests. See 8195 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 8196 // details. 8197 ForceSendFields []string `json:"-"` 8198 // NullFields is a list of field names (e.g. "Description") to include in API 8199 // requests with the JSON null value. By default, fields with empty values are 8200 // omitted from API requests. See 8201 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 8202 NullFields []string `json:"-"` 8203 } 8204 8205 func (s *Source) MarshalJSON() ([]byte, error) { 8206 type NoMethod Source 8207 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 8208 } 8209 8210 // Status: The `Status` type defines a logical error model that is suitable for 8211 // different programming environments, including REST APIs and RPC APIs. It is 8212 // used by gRPC (https://github.com/grpc). Each `Status` message contains three 8213 // pieces of data: error code, error message, and error details. You can find 8214 // out more about this error model and how to work with it in the API Design 8215 // Guide (https://cloud.google.com/apis/design/errors). 8216 type Status struct { 8217 // Code: The status code, which should be an enum value of google.rpc.Code. 8218 Code int64 `json:"code,omitempty"` 8219 // Details: A list of messages that carry the error details. There is a common 8220 // set of message types for APIs to use. 8221 Details []googleapi.RawMessage `json:"details,omitempty"` 8222 // Message: A developer-facing error message, which should be in English. Any 8223 // user-facing error message should be localized and sent in the 8224 // google.rpc.Status.details field, or localized by the client. 8225 Message string `json:"message,omitempty"` 8226 // ForceSendFields is a list of field names (e.g. "Code") to unconditionally 8227 // include in API requests. By default, fields with empty or default values are 8228 // omitted from API requests. See 8229 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 8230 // details. 8231 ForceSendFields []string `json:"-"` 8232 // NullFields is a list of field names (e.g. "Code") to include in API requests 8233 // with the JSON null value. By default, fields with empty values are omitted 8234 // from API requests. See 8235 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 8236 NullFields []string `json:"-"` 8237 } 8238 8239 func (s *Status) MarshalJSON() ([]byte, error) { 8240 type NoMethod Status 8241 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 8242 } 8243 8244 // Subject: Represents a Kubernetes subject. 8245 type Subject struct { 8246 // Kind: Authentication type for the subject. 8247 // 8248 // Possible values: 8249 // "AUTH_TYPE_UNSPECIFIED" - Authentication is not specified. 8250 // "USER" - User with valid certificate. 8251 // "SERVICEACCOUNT" - Users managed by Kubernetes API with credentials stored 8252 // as secrets. 8253 // "GROUP" - Collection of users. 8254 Kind string `json:"kind,omitempty"` 8255 // Name: Name for the subject. 8256 Name string `json:"name,omitempty"` 8257 // Ns: Namespace for the subject. 8258 Ns string `json:"ns,omitempty"` 8259 // ForceSendFields is a list of field names (e.g. "Kind") to unconditionally 8260 // include in API requests. By default, fields with empty or default values are 8261 // omitted from API requests. See 8262 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 8263 // details. 8264 ForceSendFields []string `json:"-"` 8265 // NullFields is a list of field names (e.g. "Kind") to include in API requests 8266 // with the JSON null value. By default, fields with empty values are omitted 8267 // from API requests. See 8268 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 8269 NullFields []string `json:"-"` 8270 } 8271 8272 func (s *Subject) MarshalJSON() ([]byte, error) { 8273 type NoMethod Subject 8274 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 8275 } 8276 8277 // TestIamPermissionsRequest: Request message for `TestIamPermissions` method. 8278 type TestIamPermissionsRequest struct { 8279 // Permissions: The set of permissions to check for the `resource`. Permissions 8280 // with wildcards (such as `*` or `storage.*`) are not allowed. For more 8281 // information see IAM Overview 8282 // (https://cloud.google.com/iam/docs/overview#permissions). 8283 Permissions []string `json:"permissions,omitempty"` 8284 // ForceSendFields is a list of field names (e.g. "Permissions") to 8285 // unconditionally include in API requests. By default, fields with empty or 8286 // default values are omitted from API requests. See 8287 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 8288 // details. 8289 ForceSendFields []string `json:"-"` 8290 // NullFields is a list of field names (e.g. "Permissions") to include in API 8291 // requests with the JSON null value. By default, fields with empty values are 8292 // omitted from API requests. See 8293 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 8294 NullFields []string `json:"-"` 8295 } 8296 8297 func (s *TestIamPermissionsRequest) MarshalJSON() ([]byte, error) { 8298 type NoMethod TestIamPermissionsRequest 8299 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 8300 } 8301 8302 // TestIamPermissionsResponse: Response message for `TestIamPermissions` 8303 // method. 8304 type TestIamPermissionsResponse struct { 8305 // Permissions: A subset of `TestPermissionsRequest.permissions` that the 8306 // caller is allowed. 8307 Permissions []string `json:"permissions,omitempty"` 8308 8309 // ServerResponse contains the HTTP response code and headers from the server. 8310 googleapi.ServerResponse `json:"-"` 8311 // ForceSendFields is a list of field names (e.g. "Permissions") to 8312 // unconditionally include in API requests. By default, fields with empty or 8313 // default values are omitted from API requests. See 8314 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 8315 // details. 8316 ForceSendFields []string `json:"-"` 8317 // NullFields is a list of field names (e.g. "Permissions") to include in API 8318 // requests with the JSON null value. By default, fields with empty values are 8319 // omitted from API requests. See 8320 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 8321 NullFields []string `json:"-"` 8322 } 8323 8324 func (s *TestIamPermissionsResponse) MarshalJSON() ([]byte, error) { 8325 type NoMethod TestIamPermissionsResponse 8326 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 8327 } 8328 8329 // TicketInfo: Information about the ticket, if any, that is being used to 8330 // track the resolution of the issue that is identified by this finding. 8331 type TicketInfo struct { 8332 // Assignee: The assignee of the ticket in the ticket system. 8333 Assignee string `json:"assignee,omitempty"` 8334 // Description: The description of the ticket in the ticket system. 8335 Description string `json:"description,omitempty"` 8336 // Id: The identifier of the ticket in the ticket system. 8337 Id string `json:"id,omitempty"` 8338 // Status: The latest status of the ticket, as reported by the ticket system. 8339 Status string `json:"status,omitempty"` 8340 // UpdateTime: The time when the ticket was last updated, as reported by the 8341 // ticket system. 8342 UpdateTime string `json:"updateTime,omitempty"` 8343 // Uri: The link to the ticket in the ticket system. 8344 Uri string `json:"uri,omitempty"` 8345 // ForceSendFields is a list of field names (e.g. "Assignee") to 8346 // unconditionally include in API requests. By default, fields with empty or 8347 // default values are omitted from API requests. See 8348 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 8349 // details. 8350 ForceSendFields []string `json:"-"` 8351 // NullFields is a list of field names (e.g. "Assignee") to include in API 8352 // requests with the JSON null value. By default, fields with empty values are 8353 // omitted from API requests. See 8354 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 8355 NullFields []string `json:"-"` 8356 } 8357 8358 func (s *TicketInfo) MarshalJSON() ([]byte, error) { 8359 type NoMethod TicketInfo 8360 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 8361 } 8362 8363 // Vulnerability: Refers to common vulnerability fields e.g. cve, cvss, cwe 8364 // etc. 8365 type Vulnerability struct { 8366 // Cve: CVE stands for Common Vulnerabilities and Exposures 8367 // (https://cve.mitre.org/about/) 8368 Cve *Cve `json:"cve,omitempty"` 8369 // FixedPackage: The fixed package is relevant to the finding. 8370 FixedPackage *Package `json:"fixedPackage,omitempty"` 8371 // OffendingPackage: The offending package is relevant to the finding. 8372 OffendingPackage *Package `json:"offendingPackage,omitempty"` 8373 // SecurityBulletin: The security bulletin is relevant to this finding. 8374 SecurityBulletin *SecurityBulletin `json:"securityBulletin,omitempty"` 8375 // ForceSendFields is a list of field names (e.g. "Cve") to unconditionally 8376 // include in API requests. By default, fields with empty or default values are 8377 // omitted from API requests. See 8378 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 8379 // details. 8380 ForceSendFields []string `json:"-"` 8381 // NullFields is a list of field names (e.g. "Cve") to include in API requests 8382 // with the JSON null value. By default, fields with empty values are omitted 8383 // from API requests. See 8384 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 8385 NullFields []string `json:"-"` 8386 } 8387 8388 func (s *Vulnerability) MarshalJSON() ([]byte, error) { 8389 type NoMethod Vulnerability 8390 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 8391 } 8392 8393 // VulnerabilityCountBySeverity: Vulnerability count by severity. 8394 type VulnerabilityCountBySeverity struct { 8395 // SeverityToFindingCount: Key is the Severity enum. 8396 SeverityToFindingCount map[string]string `json:"severityToFindingCount,omitempty"` 8397 // ForceSendFields is a list of field names (e.g. "SeverityToFindingCount") to 8398 // unconditionally include in API requests. By default, fields with empty or 8399 // default values are omitted from API requests. See 8400 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 8401 // details. 8402 ForceSendFields []string `json:"-"` 8403 // NullFields is a list of field names (e.g. "SeverityToFindingCount") to 8404 // include in API requests with the JSON null value. By default, fields with 8405 // empty values are omitted from API requests. See 8406 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 8407 NullFields []string `json:"-"` 8408 } 8409 8410 func (s *VulnerabilityCountBySeverity) MarshalJSON() ([]byte, error) { 8411 type NoMethod VulnerabilityCountBySeverity 8412 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 8413 } 8414 8415 // VulnerabilitySnapshot: Result containing the properties and count of a 8416 // VulnerabilitySnapshot request. 8417 type VulnerabilitySnapshot struct { 8418 // CloudProvider: The cloud provider for the vulnerability snapshot. 8419 // 8420 // Possible values: 8421 // "CLOUD_PROVIDER_UNSPECIFIED" - The cloud provider is unspecified. 8422 // "GOOGLE_CLOUD_PLATFORM" - The cloud provider is Google Cloud Platform. 8423 // "AMAZON_WEB_SERVICES" - The cloud provider is Amazon Web Services. 8424 // "MICROSOFT_AZURE" - The cloud provider is Microsoft Azure. 8425 CloudProvider string `json:"cloudProvider,omitempty"` 8426 // FindingCount: The vulnerability count by severity. 8427 FindingCount *VulnerabilityCountBySeverity `json:"findingCount,omitempty"` 8428 // Name: Identifier. The vulnerability snapshot name. Format: 8429 // //locations//vulnerabilitySnapshots/ 8430 Name string `json:"name,omitempty"` 8431 // SnapshotTime: The time that the snapshot was taken. 8432 SnapshotTime string `json:"snapshotTime,omitempty"` 8433 // ForceSendFields is a list of field names (e.g. "CloudProvider") to 8434 // unconditionally include in API requests. By default, fields with empty or 8435 // default values are omitted from API requests. See 8436 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 8437 // details. 8438 ForceSendFields []string `json:"-"` 8439 // NullFields is a list of field names (e.g. "CloudProvider") to include in API 8440 // requests with the JSON null value. By default, fields with empty values are 8441 // omitted from API requests. See 8442 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 8443 NullFields []string `json:"-"` 8444 } 8445 8446 func (s *VulnerabilitySnapshot) MarshalJSON() ([]byte, error) { 8447 type NoMethod VulnerabilitySnapshot 8448 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 8449 } 8450 8451 // YaraRuleSignature: A signature corresponding to a YARA rule. 8452 type YaraRuleSignature struct { 8453 // YaraRule: The name of the YARA rule. 8454 YaraRule string `json:"yaraRule,omitempty"` 8455 // ForceSendFields is a list of field names (e.g. "YaraRule") to 8456 // unconditionally include in API requests. By default, fields with empty or 8457 // default values are omitted from API requests. See 8458 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 8459 // details. 8460 ForceSendFields []string `json:"-"` 8461 // NullFields is a list of field names (e.g. "YaraRule") to include in API 8462 // requests with the JSON null value. By default, fields with empty values are 8463 // omitted from API requests. See 8464 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 8465 NullFields []string `json:"-"` 8466 } 8467 8468 func (s *YaraRuleSignature) MarshalJSON() ([]byte, error) { 8469 type NoMethod YaraRuleSignature 8470 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 8471 } 8472 8473 type OrganizationsGetOrganizationSettingsCall struct { 8474 s *Service 8475 name string 8476 urlParams_ gensupport.URLParams 8477 ifNoneMatch_ string 8478 ctx_ context.Context 8479 header_ http.Header 8480 } 8481 8482 // GetOrganizationSettings: Gets the settings for an organization. 8483 // 8484 // - name: Name of the organization to get organization settings for. Its 8485 // format is "organizations/[organization_id]/organizationSettings". 8486 func (r *OrganizationsService) GetOrganizationSettings(name string) *OrganizationsGetOrganizationSettingsCall { 8487 c := &OrganizationsGetOrganizationSettingsCall{s: r.s, urlParams_: make(gensupport.URLParams)} 8488 c.name = name 8489 return c 8490 } 8491 8492 // Fields allows partial responses to be retrieved. See 8493 // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more 8494 // details. 8495 func (c *OrganizationsGetOrganizationSettingsCall) Fields(s ...googleapi.Field) *OrganizationsGetOrganizationSettingsCall { 8496 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 8497 return c 8498 } 8499 8500 // IfNoneMatch sets an optional parameter which makes the operation fail if the 8501 // object's ETag matches the given value. This is useful for getting updates 8502 // only after the object has changed since the last request. 8503 func (c *OrganizationsGetOrganizationSettingsCall) IfNoneMatch(entityTag string) *OrganizationsGetOrganizationSettingsCall { 8504 c.ifNoneMatch_ = entityTag 8505 return c 8506 } 8507 8508 // Context sets the context to be used in this call's Do method. 8509 func (c *OrganizationsGetOrganizationSettingsCall) Context(ctx context.Context) *OrganizationsGetOrganizationSettingsCall { 8510 c.ctx_ = ctx 8511 return c 8512 } 8513 8514 // Header returns a http.Header that can be modified by the caller to add 8515 // headers to the request. 8516 func (c *OrganizationsGetOrganizationSettingsCall) Header() http.Header { 8517 if c.header_ == nil { 8518 c.header_ = make(http.Header) 8519 } 8520 return c.header_ 8521 } 8522 8523 func (c *OrganizationsGetOrganizationSettingsCall) doRequest(alt string) (*http.Response, error) { 8524 reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) 8525 if c.ifNoneMatch_ != "" { 8526 reqHeaders.Set("If-None-Match", c.ifNoneMatch_) 8527 } 8528 var body io.Reader = nil 8529 c.urlParams_.Set("alt", alt) 8530 c.urlParams_.Set("prettyPrint", "false") 8531 urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}") 8532 urls += "?" + c.urlParams_.Encode() 8533 req, err := http.NewRequest("GET", urls, body) 8534 if err != nil { 8535 return nil, err 8536 } 8537 req.Header = reqHeaders 8538 googleapi.Expand(req.URL, map[string]string{ 8539 "name": c.name, 8540 }) 8541 return gensupport.SendRequest(c.ctx_, c.s.client, req) 8542 } 8543 8544 // Do executes the "securitycenter.organizations.getOrganizationSettings" call. 8545 // Any non-2xx status code is an error. Response headers are in either 8546 // *OrganizationSettings.ServerResponse.Header or (if a response was returned 8547 // at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to 8548 // check whether the returned error was because http.StatusNotModified was 8549 // returned. 8550 func (c *OrganizationsGetOrganizationSettingsCall) Do(opts ...googleapi.CallOption) (*OrganizationSettings, error) { 8551 gensupport.SetOptions(c.urlParams_, opts...) 8552 res, err := c.doRequest("json") 8553 if res != nil && res.StatusCode == http.StatusNotModified { 8554 if res.Body != nil { 8555 res.Body.Close() 8556 } 8557 return nil, gensupport.WrapError(&googleapi.Error{ 8558 Code: res.StatusCode, 8559 Header: res.Header, 8560 }) 8561 } 8562 if err != nil { 8563 return nil, err 8564 } 8565 defer googleapi.CloseBody(res) 8566 if err := googleapi.CheckResponse(res); err != nil { 8567 return nil, gensupport.WrapError(err) 8568 } 8569 ret := &OrganizationSettings{ 8570 ServerResponse: googleapi.ServerResponse{ 8571 Header: res.Header, 8572 HTTPStatusCode: res.StatusCode, 8573 }, 8574 } 8575 target := &ret 8576 if err := gensupport.DecodeResponse(target, res); err != nil { 8577 return nil, err 8578 } 8579 return ret, nil 8580 } 8581 8582 type OrganizationsUpdateOrganizationSettingsCall struct { 8583 s *Service 8584 name string 8585 organizationsettings *OrganizationSettings 8586 urlParams_ gensupport.URLParams 8587 ctx_ context.Context 8588 header_ http.Header 8589 } 8590 8591 // UpdateOrganizationSettings: Updates an organization's settings. 8592 // 8593 // - name: The relative resource name of the settings. See: 8594 // https://cloud.google.com/apis/design/resource_names#relative_resource_name 8595 // Example: "organizations/{organization_id}/organizationSettings". 8596 func (r *OrganizationsService) UpdateOrganizationSettings(name string, organizationsettings *OrganizationSettings) *OrganizationsUpdateOrganizationSettingsCall { 8597 c := &OrganizationsUpdateOrganizationSettingsCall{s: r.s, urlParams_: make(gensupport.URLParams)} 8598 c.name = name 8599 c.organizationsettings = organizationsettings 8600 return c 8601 } 8602 8603 // UpdateMask sets the optional parameter "updateMask": The FieldMask to use 8604 // when updating the settings resource. 8605 func (c *OrganizationsUpdateOrganizationSettingsCall) UpdateMask(updateMask string) *OrganizationsUpdateOrganizationSettingsCall { 8606 c.urlParams_.Set("updateMask", updateMask) 8607 return c 8608 } 8609 8610 // Fields allows partial responses to be retrieved. See 8611 // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more 8612 // details. 8613 func (c *OrganizationsUpdateOrganizationSettingsCall) Fields(s ...googleapi.Field) *OrganizationsUpdateOrganizationSettingsCall { 8614 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 8615 return c 8616 } 8617 8618 // Context sets the context to be used in this call's Do method. 8619 func (c *OrganizationsUpdateOrganizationSettingsCall) Context(ctx context.Context) *OrganizationsUpdateOrganizationSettingsCall { 8620 c.ctx_ = ctx 8621 return c 8622 } 8623 8624 // Header returns a http.Header that can be modified by the caller to add 8625 // headers to the request. 8626 func (c *OrganizationsUpdateOrganizationSettingsCall) Header() http.Header { 8627 if c.header_ == nil { 8628 c.header_ = make(http.Header) 8629 } 8630 return c.header_ 8631 } 8632 8633 func (c *OrganizationsUpdateOrganizationSettingsCall) doRequest(alt string) (*http.Response, error) { 8634 reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) 8635 var body io.Reader = nil 8636 body, err := googleapi.WithoutDataWrapper.JSONReader(c.organizationsettings) 8637 if err != nil { 8638 return nil, err 8639 } 8640 c.urlParams_.Set("alt", alt) 8641 c.urlParams_.Set("prettyPrint", "false") 8642 urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}") 8643 urls += "?" + c.urlParams_.Encode() 8644 req, err := http.NewRequest("PATCH", urls, body) 8645 if err != nil { 8646 return nil, err 8647 } 8648 req.Header = reqHeaders 8649 googleapi.Expand(req.URL, map[string]string{ 8650 "name": c.name, 8651 }) 8652 return gensupport.SendRequest(c.ctx_, c.s.client, req) 8653 } 8654 8655 // Do executes the "securitycenter.organizations.updateOrganizationSettings" call. 8656 // Any non-2xx status code is an error. Response headers are in either 8657 // *OrganizationSettings.ServerResponse.Header or (if a response was returned 8658 // at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to 8659 // check whether the returned error was because http.StatusNotModified was 8660 // returned. 8661 func (c *OrganizationsUpdateOrganizationSettingsCall) Do(opts ...googleapi.CallOption) (*OrganizationSettings, error) { 8662 gensupport.SetOptions(c.urlParams_, opts...) 8663 res, err := c.doRequest("json") 8664 if res != nil && res.StatusCode == http.StatusNotModified { 8665 if res.Body != nil { 8666 res.Body.Close() 8667 } 8668 return nil, gensupport.WrapError(&googleapi.Error{ 8669 Code: res.StatusCode, 8670 Header: res.Header, 8671 }) 8672 } 8673 if err != nil { 8674 return nil, err 8675 } 8676 defer googleapi.CloseBody(res) 8677 if err := googleapi.CheckResponse(res); err != nil { 8678 return nil, gensupport.WrapError(err) 8679 } 8680 ret := &OrganizationSettings{ 8681 ServerResponse: googleapi.ServerResponse{ 8682 Header: res.Header, 8683 HTTPStatusCode: res.StatusCode, 8684 }, 8685 } 8686 target := &ret 8687 if err := gensupport.DecodeResponse(target, res); err != nil { 8688 return nil, err 8689 } 8690 return ret, nil 8691 } 8692 8693 type OrganizationsAssetsGroupCall struct { 8694 s *Service 8695 parent string 8696 groupassetsrequest *GroupAssetsRequest 8697 urlParams_ gensupport.URLParams 8698 ctx_ context.Context 8699 header_ http.Header 8700 } 8701 8702 // Group: Filters an organization's assets and groups them by their specified 8703 // properties. 8704 // 8705 // - parent: Name of the organization to groupBy. Its format is 8706 // "organizations/[organization_id]". 8707 func (r *OrganizationsAssetsService) Group(parent string, groupassetsrequest *GroupAssetsRequest) *OrganizationsAssetsGroupCall { 8708 c := &OrganizationsAssetsGroupCall{s: r.s, urlParams_: make(gensupport.URLParams)} 8709 c.parent = parent 8710 c.groupassetsrequest = groupassetsrequest 8711 return c 8712 } 8713 8714 // Fields allows partial responses to be retrieved. See 8715 // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more 8716 // details. 8717 func (c *OrganizationsAssetsGroupCall) Fields(s ...googleapi.Field) *OrganizationsAssetsGroupCall { 8718 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 8719 return c 8720 } 8721 8722 // Context sets the context to be used in this call's Do method. 8723 func (c *OrganizationsAssetsGroupCall) Context(ctx context.Context) *OrganizationsAssetsGroupCall { 8724 c.ctx_ = ctx 8725 return c 8726 } 8727 8728 // Header returns a http.Header that can be modified by the caller to add 8729 // headers to the request. 8730 func (c *OrganizationsAssetsGroupCall) Header() http.Header { 8731 if c.header_ == nil { 8732 c.header_ = make(http.Header) 8733 } 8734 return c.header_ 8735 } 8736 8737 func (c *OrganizationsAssetsGroupCall) doRequest(alt string) (*http.Response, error) { 8738 reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) 8739 var body io.Reader = nil 8740 body, err := googleapi.WithoutDataWrapper.JSONReader(c.groupassetsrequest) 8741 if err != nil { 8742 return nil, err 8743 } 8744 c.urlParams_.Set("alt", alt) 8745 c.urlParams_.Set("prettyPrint", "false") 8746 urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/assets:group") 8747 urls += "?" + c.urlParams_.Encode() 8748 req, err := http.NewRequest("POST", urls, body) 8749 if err != nil { 8750 return nil, err 8751 } 8752 req.Header = reqHeaders 8753 googleapi.Expand(req.URL, map[string]string{ 8754 "parent": c.parent, 8755 }) 8756 return gensupport.SendRequest(c.ctx_, c.s.client, req) 8757 } 8758 8759 // Do executes the "securitycenter.organizations.assets.group" call. 8760 // Any non-2xx status code is an error. Response headers are in either 8761 // *GroupAssetsResponse.ServerResponse.Header or (if a response was returned at 8762 // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to 8763 // check whether the returned error was because http.StatusNotModified was 8764 // returned. 8765 func (c *OrganizationsAssetsGroupCall) Do(opts ...googleapi.CallOption) (*GroupAssetsResponse, error) { 8766 gensupport.SetOptions(c.urlParams_, opts...) 8767 res, err := c.doRequest("json") 8768 if res != nil && res.StatusCode == http.StatusNotModified { 8769 if res.Body != nil { 8770 res.Body.Close() 8771 } 8772 return nil, gensupport.WrapError(&googleapi.Error{ 8773 Code: res.StatusCode, 8774 Header: res.Header, 8775 }) 8776 } 8777 if err != nil { 8778 return nil, err 8779 } 8780 defer googleapi.CloseBody(res) 8781 if err := googleapi.CheckResponse(res); err != nil { 8782 return nil, gensupport.WrapError(err) 8783 } 8784 ret := &GroupAssetsResponse{ 8785 ServerResponse: googleapi.ServerResponse{ 8786 Header: res.Header, 8787 HTTPStatusCode: res.StatusCode, 8788 }, 8789 } 8790 target := &ret 8791 if err := gensupport.DecodeResponse(target, res); err != nil { 8792 return nil, err 8793 } 8794 return ret, nil 8795 } 8796 8797 // Pages invokes f for each page of results. 8798 // A non-nil error returned from f will halt the iteration. 8799 // The provided context supersedes any context provided to the Context method. 8800 func (c *OrganizationsAssetsGroupCall) Pages(ctx context.Context, f func(*GroupAssetsResponse) error) error { 8801 c.ctx_ = ctx 8802 defer func(pt string) { c.groupassetsrequest.PageToken = pt }(c.groupassetsrequest.PageToken) 8803 for { 8804 x, err := c.Do() 8805 if err != nil { 8806 return err 8807 } 8808 if err := f(x); err != nil { 8809 return err 8810 } 8811 if x.NextPageToken == "" { 8812 return nil 8813 } 8814 c.groupassetsrequest.PageToken = x.NextPageToken 8815 } 8816 } 8817 8818 type OrganizationsAssetsListCall struct { 8819 s *Service 8820 parent string 8821 urlParams_ gensupport.URLParams 8822 ifNoneMatch_ string 8823 ctx_ context.Context 8824 header_ http.Header 8825 } 8826 8827 // List: Lists an organization's assets. 8828 // 8829 // - parent: Name of the organization assets should belong to. Its format is 8830 // "organizations/[organization_id]". 8831 func (r *OrganizationsAssetsService) List(parent string) *OrganizationsAssetsListCall { 8832 c := &OrganizationsAssetsListCall{s: r.s, urlParams_: make(gensupport.URLParams)} 8833 c.parent = parent 8834 return c 8835 } 8836 8837 // CompareDuration sets the optional parameter "compareDuration": When 8838 // compare_duration is set, the ListAssetResult's "state" attribute is updated 8839 // to indicate whether the asset was added, removed, or remained present during 8840 // the compare_duration period of time that precedes the read_time. This is the 8841 // time between (read_time - compare_duration) and read_time. The state value 8842 // is derived based on the presence of the asset at the two points in time. 8843 // Intermediate state changes between the two times don't affect the result. 8844 // For example, the results aren't affected if the asset is removed and 8845 // re-created again. Possible "state" values when compare_duration is 8846 // specified: * "ADDED": indicates that the asset was not present before 8847 // compare_duration, but present at read_time. * "REMOVED": indicates that the 8848 // asset was present at the start of compare_duration, but not present at 8849 // read_time. * "ACTIVE": indicates that the asset was present at both the 8850 // start and the end of the time period defined by compare_duration and 8851 // read_time. If compare_duration is not specified, then the only possible 8852 // state is "UNUSED", which indicates that the asset is present at read_time. 8853 func (c *OrganizationsAssetsListCall) CompareDuration(compareDuration string) *OrganizationsAssetsListCall { 8854 c.urlParams_.Set("compareDuration", compareDuration) 8855 return c 8856 } 8857 8858 // FieldMask sets the optional parameter "fieldMask": A field mask to specify 8859 // the ListAssetsResult fields to be listed in the response. An empty field 8860 // mask will list all fields. 8861 func (c *OrganizationsAssetsListCall) FieldMask(fieldMask string) *OrganizationsAssetsListCall { 8862 c.urlParams_.Set("fieldMask", fieldMask) 8863 return c 8864 } 8865 8866 // Filter sets the optional parameter "filter": Expression that defines the 8867 // filter to apply across assets. The expression is a list of zero or more 8868 // restrictions combined via logical operators `AND` and `OR`. Parentheses are 8869 // not supported, and `OR` has higher precedence than `AND`. Restrictions have 8870 // the form ` ` and may have a `-` character in front of them to indicate 8871 // negation. The fields map to those defined in the Asset resource. Examples 8872 // include: * name * security_center_properties.resource_name * 8873 // resource_properties.a_property * security_marks.marks.marka The supported 8874 // operators are: * `=` for all value types. * `>`, `<`, `>=`, `<=` for integer 8875 // values. * `:`, meaning substring matching, for strings. The supported value 8876 // types are: * string literals in quotes. * integer literals without quotes. * 8877 // boolean literals `true` and `false` without quotes. For example, 8878 // `resource_properties.size = 100` is a valid filter string. 8879 func (c *OrganizationsAssetsListCall) Filter(filter string) *OrganizationsAssetsListCall { 8880 c.urlParams_.Set("filter", filter) 8881 return c 8882 } 8883 8884 // OrderBy sets the optional parameter "orderBy": Expression that defines what 8885 // fields and order to use for sorting. The string value should follow SQL 8886 // syntax: comma separated list of fields. For example: 8887 // "name,resource_properties.a_property". The default sorting order is 8888 // ascending. To specify descending order for a field, a suffix " desc" should 8889 // be appended to the field name. For example: "name 8890 // desc,resource_properties.a_property". Redundant space characters in the 8891 // syntax are insignificant. "name desc,resource_properties.a_property" and " 8892 // name desc , resource_properties.a_property " are equivalent. 8893 func (c *OrganizationsAssetsListCall) OrderBy(orderBy string) *OrganizationsAssetsListCall { 8894 c.urlParams_.Set("orderBy", orderBy) 8895 return c 8896 } 8897 8898 // PageSize sets the optional parameter "pageSize": The maximum number of 8899 // results to return in a single response. Default is 10, minimum is 1, maximum 8900 // is 1000. 8901 func (c *OrganizationsAssetsListCall) PageSize(pageSize int64) *OrganizationsAssetsListCall { 8902 c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) 8903 return c 8904 } 8905 8906 // PageToken sets the optional parameter "pageToken": The value returned by the 8907 // last `ListAssetsResponse`; indicates that this is a continuation of a prior 8908 // `ListAssets` call, and that the system should return the next page of data. 8909 func (c *OrganizationsAssetsListCall) PageToken(pageToken string) *OrganizationsAssetsListCall { 8910 c.urlParams_.Set("pageToken", pageToken) 8911 return c 8912 } 8913 8914 // ReadTime sets the optional parameter "readTime": Time used as a reference 8915 // point when filtering assets. The filter is limited to assets existing at the 8916 // supplied time and their values are those at that specific time. Absence of 8917 // this field will default to the API's version of NOW. 8918 func (c *OrganizationsAssetsListCall) ReadTime(readTime string) *OrganizationsAssetsListCall { 8919 c.urlParams_.Set("readTime", readTime) 8920 return c 8921 } 8922 8923 // Fields allows partial responses to be retrieved. See 8924 // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more 8925 // details. 8926 func (c *OrganizationsAssetsListCall) Fields(s ...googleapi.Field) *OrganizationsAssetsListCall { 8927 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 8928 return c 8929 } 8930 8931 // IfNoneMatch sets an optional parameter which makes the operation fail if the 8932 // object's ETag matches the given value. This is useful for getting updates 8933 // only after the object has changed since the last request. 8934 func (c *OrganizationsAssetsListCall) IfNoneMatch(entityTag string) *OrganizationsAssetsListCall { 8935 c.ifNoneMatch_ = entityTag 8936 return c 8937 } 8938 8939 // Context sets the context to be used in this call's Do method. 8940 func (c *OrganizationsAssetsListCall) Context(ctx context.Context) *OrganizationsAssetsListCall { 8941 c.ctx_ = ctx 8942 return c 8943 } 8944 8945 // Header returns a http.Header that can be modified by the caller to add 8946 // headers to the request. 8947 func (c *OrganizationsAssetsListCall) Header() http.Header { 8948 if c.header_ == nil { 8949 c.header_ = make(http.Header) 8950 } 8951 return c.header_ 8952 } 8953 8954 func (c *OrganizationsAssetsListCall) doRequest(alt string) (*http.Response, error) { 8955 reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) 8956 if c.ifNoneMatch_ != "" { 8957 reqHeaders.Set("If-None-Match", c.ifNoneMatch_) 8958 } 8959 var body io.Reader = nil 8960 c.urlParams_.Set("alt", alt) 8961 c.urlParams_.Set("prettyPrint", "false") 8962 urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/assets") 8963 urls += "?" + c.urlParams_.Encode() 8964 req, err := http.NewRequest("GET", urls, body) 8965 if err != nil { 8966 return nil, err 8967 } 8968 req.Header = reqHeaders 8969 googleapi.Expand(req.URL, map[string]string{ 8970 "parent": c.parent, 8971 }) 8972 return gensupport.SendRequest(c.ctx_, c.s.client, req) 8973 } 8974 8975 // Do executes the "securitycenter.organizations.assets.list" call. 8976 // Any non-2xx status code is an error. Response headers are in either 8977 // *ListAssetsResponse.ServerResponse.Header or (if a response was returned at 8978 // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to 8979 // check whether the returned error was because http.StatusNotModified was 8980 // returned. 8981 func (c *OrganizationsAssetsListCall) Do(opts ...googleapi.CallOption) (*ListAssetsResponse, error) { 8982 gensupport.SetOptions(c.urlParams_, opts...) 8983 res, err := c.doRequest("json") 8984 if res != nil && res.StatusCode == http.StatusNotModified { 8985 if res.Body != nil { 8986 res.Body.Close() 8987 } 8988 return nil, gensupport.WrapError(&googleapi.Error{ 8989 Code: res.StatusCode, 8990 Header: res.Header, 8991 }) 8992 } 8993 if err != nil { 8994 return nil, err 8995 } 8996 defer googleapi.CloseBody(res) 8997 if err := googleapi.CheckResponse(res); err != nil { 8998 return nil, gensupport.WrapError(err) 8999 } 9000 ret := &ListAssetsResponse{ 9001 ServerResponse: googleapi.ServerResponse{ 9002 Header: res.Header, 9003 HTTPStatusCode: res.StatusCode, 9004 }, 9005 } 9006 target := &ret 9007 if err := gensupport.DecodeResponse(target, res); err != nil { 9008 return nil, err 9009 } 9010 return ret, nil 9011 } 9012 9013 // Pages invokes f for each page of results. 9014 // A non-nil error returned from f will halt the iteration. 9015 // The provided context supersedes any context provided to the Context method. 9016 func (c *OrganizationsAssetsListCall) Pages(ctx context.Context, f func(*ListAssetsResponse) error) error { 9017 c.ctx_ = ctx 9018 defer c.PageToken(c.urlParams_.Get("pageToken")) 9019 for { 9020 x, err := c.Do() 9021 if err != nil { 9022 return err 9023 } 9024 if err := f(x); err != nil { 9025 return err 9026 } 9027 if x.NextPageToken == "" { 9028 return nil 9029 } 9030 c.PageToken(x.NextPageToken) 9031 } 9032 } 9033 9034 type OrganizationsAssetsRunDiscoveryCall struct { 9035 s *Service 9036 parent string 9037 runassetdiscoveryrequest *RunAssetDiscoveryRequest 9038 urlParams_ gensupport.URLParams 9039 ctx_ context.Context 9040 header_ http.Header 9041 } 9042 9043 // RunDiscovery: Runs asset discovery. The discovery is tracked with a 9044 // long-running operation. This API can only be called with limited frequency 9045 // for an organization. If it is called too frequently the caller will receive 9046 // a TOO_MANY_REQUESTS error. 9047 // 9048 // - parent: Name of the organization to run asset discovery for. Its format is 9049 // "organizations/[organization_id]". 9050 func (r *OrganizationsAssetsService) RunDiscovery(parent string, runassetdiscoveryrequest *RunAssetDiscoveryRequest) *OrganizationsAssetsRunDiscoveryCall { 9051 c := &OrganizationsAssetsRunDiscoveryCall{s: r.s, urlParams_: make(gensupport.URLParams)} 9052 c.parent = parent 9053 c.runassetdiscoveryrequest = runassetdiscoveryrequest 9054 return c 9055 } 9056 9057 // Fields allows partial responses to be retrieved. See 9058 // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more 9059 // details. 9060 func (c *OrganizationsAssetsRunDiscoveryCall) Fields(s ...googleapi.Field) *OrganizationsAssetsRunDiscoveryCall { 9061 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 9062 return c 9063 } 9064 9065 // Context sets the context to be used in this call's Do method. 9066 func (c *OrganizationsAssetsRunDiscoveryCall) Context(ctx context.Context) *OrganizationsAssetsRunDiscoveryCall { 9067 c.ctx_ = ctx 9068 return c 9069 } 9070 9071 // Header returns a http.Header that can be modified by the caller to add 9072 // headers to the request. 9073 func (c *OrganizationsAssetsRunDiscoveryCall) Header() http.Header { 9074 if c.header_ == nil { 9075 c.header_ = make(http.Header) 9076 } 9077 return c.header_ 9078 } 9079 9080 func (c *OrganizationsAssetsRunDiscoveryCall) doRequest(alt string) (*http.Response, error) { 9081 reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) 9082 var body io.Reader = nil 9083 body, err := googleapi.WithoutDataWrapper.JSONReader(c.runassetdiscoveryrequest) 9084 if err != nil { 9085 return nil, err 9086 } 9087 c.urlParams_.Set("alt", alt) 9088 c.urlParams_.Set("prettyPrint", "false") 9089 urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/assets:runDiscovery") 9090 urls += "?" + c.urlParams_.Encode() 9091 req, err := http.NewRequest("POST", urls, body) 9092 if err != nil { 9093 return nil, err 9094 } 9095 req.Header = reqHeaders 9096 googleapi.Expand(req.URL, map[string]string{ 9097 "parent": c.parent, 9098 }) 9099 return gensupport.SendRequest(c.ctx_, c.s.client, req) 9100 } 9101 9102 // Do executes the "securitycenter.organizations.assets.runDiscovery" call. 9103 // Any non-2xx status code is an error. Response headers are in either 9104 // *Operation.ServerResponse.Header or (if a response was returned at all) in 9105 // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check 9106 // whether the returned error was because http.StatusNotModified was returned. 9107 func (c *OrganizationsAssetsRunDiscoveryCall) Do(opts ...googleapi.CallOption) (*Operation, error) { 9108 gensupport.SetOptions(c.urlParams_, opts...) 9109 res, err := c.doRequest("json") 9110 if res != nil && res.StatusCode == http.StatusNotModified { 9111 if res.Body != nil { 9112 res.Body.Close() 9113 } 9114 return nil, gensupport.WrapError(&googleapi.Error{ 9115 Code: res.StatusCode, 9116 Header: res.Header, 9117 }) 9118 } 9119 if err != nil { 9120 return nil, err 9121 } 9122 defer googleapi.CloseBody(res) 9123 if err := googleapi.CheckResponse(res); err != nil { 9124 return nil, gensupport.WrapError(err) 9125 } 9126 ret := &Operation{ 9127 ServerResponse: googleapi.ServerResponse{ 9128 Header: res.Header, 9129 HTTPStatusCode: res.StatusCode, 9130 }, 9131 } 9132 target := &ret 9133 if err := gensupport.DecodeResponse(target, res); err != nil { 9134 return nil, err 9135 } 9136 return ret, nil 9137 } 9138 9139 type OrganizationsAssetsUpdateSecurityMarksCall struct { 9140 s *Service 9141 name string 9142 googlecloudsecuritycenterv1beta1securitymarks *GoogleCloudSecuritycenterV1beta1SecurityMarks 9143 urlParams_ gensupport.URLParams 9144 ctx_ context.Context 9145 header_ http.Header 9146 } 9147 9148 // UpdateSecurityMarks: Updates security marks. 9149 // 9150 // - name: The relative resource name of the SecurityMarks. See: 9151 // https://cloud.google.com/apis/design/resource_names#relative_resource_name 9152 // Examples: 9153 // "organizations/{organization_id}/assets/{asset_id}/securityMarks" 9154 // "organizations/{organization_id}/sources/{source_id}/findings/{finding_id}/ 9155 // securityMarks". 9156 func (r *OrganizationsAssetsService) UpdateSecurityMarks(name string, googlecloudsecuritycenterv1beta1securitymarks *GoogleCloudSecuritycenterV1beta1SecurityMarks) *OrganizationsAssetsUpdateSecurityMarksCall { 9157 c := &OrganizationsAssetsUpdateSecurityMarksCall{s: r.s, urlParams_: make(gensupport.URLParams)} 9158 c.name = name 9159 c.googlecloudsecuritycenterv1beta1securitymarks = googlecloudsecuritycenterv1beta1securitymarks 9160 return c 9161 } 9162 9163 // StartTime sets the optional parameter "startTime": The time at which the 9164 // updated SecurityMarks take effect. 9165 func (c *OrganizationsAssetsUpdateSecurityMarksCall) StartTime(startTime string) *OrganizationsAssetsUpdateSecurityMarksCall { 9166 c.urlParams_.Set("startTime", startTime) 9167 return c 9168 } 9169 9170 // UpdateMask sets the optional parameter "updateMask": The FieldMask to use 9171 // when updating the security marks resource. 9172 func (c *OrganizationsAssetsUpdateSecurityMarksCall) UpdateMask(updateMask string) *OrganizationsAssetsUpdateSecurityMarksCall { 9173 c.urlParams_.Set("updateMask", updateMask) 9174 return c 9175 } 9176 9177 // Fields allows partial responses to be retrieved. See 9178 // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more 9179 // details. 9180 func (c *OrganizationsAssetsUpdateSecurityMarksCall) Fields(s ...googleapi.Field) *OrganizationsAssetsUpdateSecurityMarksCall { 9181 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 9182 return c 9183 } 9184 9185 // Context sets the context to be used in this call's Do method. 9186 func (c *OrganizationsAssetsUpdateSecurityMarksCall) Context(ctx context.Context) *OrganizationsAssetsUpdateSecurityMarksCall { 9187 c.ctx_ = ctx 9188 return c 9189 } 9190 9191 // Header returns a http.Header that can be modified by the caller to add 9192 // headers to the request. 9193 func (c *OrganizationsAssetsUpdateSecurityMarksCall) Header() http.Header { 9194 if c.header_ == nil { 9195 c.header_ = make(http.Header) 9196 } 9197 return c.header_ 9198 } 9199 9200 func (c *OrganizationsAssetsUpdateSecurityMarksCall) doRequest(alt string) (*http.Response, error) { 9201 reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) 9202 var body io.Reader = nil 9203 body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudsecuritycenterv1beta1securitymarks) 9204 if err != nil { 9205 return nil, err 9206 } 9207 c.urlParams_.Set("alt", alt) 9208 c.urlParams_.Set("prettyPrint", "false") 9209 urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}") 9210 urls += "?" + c.urlParams_.Encode() 9211 req, err := http.NewRequest("PATCH", urls, body) 9212 if err != nil { 9213 return nil, err 9214 } 9215 req.Header = reqHeaders 9216 googleapi.Expand(req.URL, map[string]string{ 9217 "name": c.name, 9218 }) 9219 return gensupport.SendRequest(c.ctx_, c.s.client, req) 9220 } 9221 9222 // Do executes the "securitycenter.organizations.assets.updateSecurityMarks" call. 9223 // Any non-2xx status code is an error. Response headers are in either 9224 // *GoogleCloudSecuritycenterV1beta1SecurityMarks.ServerResponse.Header or (if 9225 // a response was returned at all) in error.(*googleapi.Error).Header. Use 9226 // googleapi.IsNotModified to check whether the returned error was because 9227 // http.StatusNotModified was returned. 9228 func (c *OrganizationsAssetsUpdateSecurityMarksCall) Do(opts ...googleapi.CallOption) (*GoogleCloudSecuritycenterV1beta1SecurityMarks, error) { 9229 gensupport.SetOptions(c.urlParams_, opts...) 9230 res, err := c.doRequest("json") 9231 if res != nil && res.StatusCode == http.StatusNotModified { 9232 if res.Body != nil { 9233 res.Body.Close() 9234 } 9235 return nil, gensupport.WrapError(&googleapi.Error{ 9236 Code: res.StatusCode, 9237 Header: res.Header, 9238 }) 9239 } 9240 if err != nil { 9241 return nil, err 9242 } 9243 defer googleapi.CloseBody(res) 9244 if err := googleapi.CheckResponse(res); err != nil { 9245 return nil, gensupport.WrapError(err) 9246 } 9247 ret := &GoogleCloudSecuritycenterV1beta1SecurityMarks{ 9248 ServerResponse: googleapi.ServerResponse{ 9249 Header: res.Header, 9250 HTTPStatusCode: res.StatusCode, 9251 }, 9252 } 9253 target := &ret 9254 if err := gensupport.DecodeResponse(target, res); err != nil { 9255 return nil, err 9256 } 9257 return ret, nil 9258 } 9259 9260 type OrganizationsOperationsCancelCall struct { 9261 s *Service 9262 name string 9263 canceloperationrequest *CancelOperationRequest 9264 urlParams_ gensupport.URLParams 9265 ctx_ context.Context 9266 header_ http.Header 9267 } 9268 9269 // Cancel: Starts asynchronous cancellation on a long-running operation. The 9270 // server makes a best effort to cancel the operation, but success is not 9271 // guaranteed. If the server doesn't support this method, it returns 9272 // `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or 9273 // other methods to check whether the cancellation succeeded or whether the 9274 // operation completed despite cancellation. On successful cancellation, the 9275 // operation is not deleted; instead, it becomes an operation with an 9276 // Operation.error value with a google.rpc.Status.code of 1, corresponding to 9277 // `Code.CANCELLED`. 9278 // 9279 // - name: The name of the operation resource to be cancelled. 9280 func (r *OrganizationsOperationsService) Cancel(name string, canceloperationrequest *CancelOperationRequest) *OrganizationsOperationsCancelCall { 9281 c := &OrganizationsOperationsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)} 9282 c.name = name 9283 c.canceloperationrequest = canceloperationrequest 9284 return c 9285 } 9286 9287 // Fields allows partial responses to be retrieved. See 9288 // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more 9289 // details. 9290 func (c *OrganizationsOperationsCancelCall) Fields(s ...googleapi.Field) *OrganizationsOperationsCancelCall { 9291 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 9292 return c 9293 } 9294 9295 // Context sets the context to be used in this call's Do method. 9296 func (c *OrganizationsOperationsCancelCall) Context(ctx context.Context) *OrganizationsOperationsCancelCall { 9297 c.ctx_ = ctx 9298 return c 9299 } 9300 9301 // Header returns a http.Header that can be modified by the caller to add 9302 // headers to the request. 9303 func (c *OrganizationsOperationsCancelCall) Header() http.Header { 9304 if c.header_ == nil { 9305 c.header_ = make(http.Header) 9306 } 9307 return c.header_ 9308 } 9309 9310 func (c *OrganizationsOperationsCancelCall) doRequest(alt string) (*http.Response, error) { 9311 reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) 9312 var body io.Reader = nil 9313 body, err := googleapi.WithoutDataWrapper.JSONReader(c.canceloperationrequest) 9314 if err != nil { 9315 return nil, err 9316 } 9317 c.urlParams_.Set("alt", alt) 9318 c.urlParams_.Set("prettyPrint", "false") 9319 urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}:cancel") 9320 urls += "?" + c.urlParams_.Encode() 9321 req, err := http.NewRequest("POST", urls, body) 9322 if err != nil { 9323 return nil, err 9324 } 9325 req.Header = reqHeaders 9326 googleapi.Expand(req.URL, map[string]string{ 9327 "name": c.name, 9328 }) 9329 return gensupport.SendRequest(c.ctx_, c.s.client, req) 9330 } 9331 9332 // Do executes the "securitycenter.organizations.operations.cancel" call. 9333 // Any non-2xx status code is an error. Response headers are in either 9334 // *Empty.ServerResponse.Header or (if a response was returned at all) in 9335 // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check 9336 // whether the returned error was because http.StatusNotModified was returned. 9337 func (c *OrganizationsOperationsCancelCall) Do(opts ...googleapi.CallOption) (*Empty, error) { 9338 gensupport.SetOptions(c.urlParams_, opts...) 9339 res, err := c.doRequest("json") 9340 if res != nil && res.StatusCode == http.StatusNotModified { 9341 if res.Body != nil { 9342 res.Body.Close() 9343 } 9344 return nil, gensupport.WrapError(&googleapi.Error{ 9345 Code: res.StatusCode, 9346 Header: res.Header, 9347 }) 9348 } 9349 if err != nil { 9350 return nil, err 9351 } 9352 defer googleapi.CloseBody(res) 9353 if err := googleapi.CheckResponse(res); err != nil { 9354 return nil, gensupport.WrapError(err) 9355 } 9356 ret := &Empty{ 9357 ServerResponse: googleapi.ServerResponse{ 9358 Header: res.Header, 9359 HTTPStatusCode: res.StatusCode, 9360 }, 9361 } 9362 target := &ret 9363 if err := gensupport.DecodeResponse(target, res); err != nil { 9364 return nil, err 9365 } 9366 return ret, nil 9367 } 9368 9369 type OrganizationsOperationsDeleteCall struct { 9370 s *Service 9371 name string 9372 urlParams_ gensupport.URLParams 9373 ctx_ context.Context 9374 header_ http.Header 9375 } 9376 9377 // Delete: Deletes a long-running operation. This method indicates that the 9378 // client is no longer interested in the operation result. It does not cancel 9379 // the operation. If the server doesn't support this method, it returns 9380 // `google.rpc.Code.UNIMPLEMENTED`. 9381 // 9382 // - name: The name of the operation resource to be deleted. 9383 func (r *OrganizationsOperationsService) Delete(name string) *OrganizationsOperationsDeleteCall { 9384 c := &OrganizationsOperationsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)} 9385 c.name = name 9386 return c 9387 } 9388 9389 // Fields allows partial responses to be retrieved. See 9390 // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more 9391 // details. 9392 func (c *OrganizationsOperationsDeleteCall) Fields(s ...googleapi.Field) *OrganizationsOperationsDeleteCall { 9393 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 9394 return c 9395 } 9396 9397 // Context sets the context to be used in this call's Do method. 9398 func (c *OrganizationsOperationsDeleteCall) Context(ctx context.Context) *OrganizationsOperationsDeleteCall { 9399 c.ctx_ = ctx 9400 return c 9401 } 9402 9403 // Header returns a http.Header that can be modified by the caller to add 9404 // headers to the request. 9405 func (c *OrganizationsOperationsDeleteCall) Header() http.Header { 9406 if c.header_ == nil { 9407 c.header_ = make(http.Header) 9408 } 9409 return c.header_ 9410 } 9411 9412 func (c *OrganizationsOperationsDeleteCall) doRequest(alt string) (*http.Response, error) { 9413 reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) 9414 var body io.Reader = nil 9415 c.urlParams_.Set("alt", alt) 9416 c.urlParams_.Set("prettyPrint", "false") 9417 urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}") 9418 urls += "?" + c.urlParams_.Encode() 9419 req, err := http.NewRequest("DELETE", urls, body) 9420 if err != nil { 9421 return nil, err 9422 } 9423 req.Header = reqHeaders 9424 googleapi.Expand(req.URL, map[string]string{ 9425 "name": c.name, 9426 }) 9427 return gensupport.SendRequest(c.ctx_, c.s.client, req) 9428 } 9429 9430 // Do executes the "securitycenter.organizations.operations.delete" call. 9431 // Any non-2xx status code is an error. Response headers are in either 9432 // *Empty.ServerResponse.Header or (if a response was returned at all) in 9433 // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check 9434 // whether the returned error was because http.StatusNotModified was returned. 9435 func (c *OrganizationsOperationsDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) { 9436 gensupport.SetOptions(c.urlParams_, opts...) 9437 res, err := c.doRequest("json") 9438 if res != nil && res.StatusCode == http.StatusNotModified { 9439 if res.Body != nil { 9440 res.Body.Close() 9441 } 9442 return nil, gensupport.WrapError(&googleapi.Error{ 9443 Code: res.StatusCode, 9444 Header: res.Header, 9445 }) 9446 } 9447 if err != nil { 9448 return nil, err 9449 } 9450 defer googleapi.CloseBody(res) 9451 if err := googleapi.CheckResponse(res); err != nil { 9452 return nil, gensupport.WrapError(err) 9453 } 9454 ret := &Empty{ 9455 ServerResponse: googleapi.ServerResponse{ 9456 Header: res.Header, 9457 HTTPStatusCode: res.StatusCode, 9458 }, 9459 } 9460 target := &ret 9461 if err := gensupport.DecodeResponse(target, res); err != nil { 9462 return nil, err 9463 } 9464 return ret, nil 9465 } 9466 9467 type OrganizationsOperationsGetCall struct { 9468 s *Service 9469 name string 9470 urlParams_ gensupport.URLParams 9471 ifNoneMatch_ string 9472 ctx_ context.Context 9473 header_ http.Header 9474 } 9475 9476 // Get: Gets the latest state of a long-running operation. Clients can use this 9477 // method to poll the operation result at intervals as recommended by the API 9478 // service. 9479 // 9480 // - name: The name of the operation resource. 9481 func (r *OrganizationsOperationsService) Get(name string) *OrganizationsOperationsGetCall { 9482 c := &OrganizationsOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} 9483 c.name = name 9484 return c 9485 } 9486 9487 // Fields allows partial responses to be retrieved. See 9488 // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more 9489 // details. 9490 func (c *OrganizationsOperationsGetCall) Fields(s ...googleapi.Field) *OrganizationsOperationsGetCall { 9491 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 9492 return c 9493 } 9494 9495 // IfNoneMatch sets an optional parameter which makes the operation fail if the 9496 // object's ETag matches the given value. This is useful for getting updates 9497 // only after the object has changed since the last request. 9498 func (c *OrganizationsOperationsGetCall) IfNoneMatch(entityTag string) *OrganizationsOperationsGetCall { 9499 c.ifNoneMatch_ = entityTag 9500 return c 9501 } 9502 9503 // Context sets the context to be used in this call's Do method. 9504 func (c *OrganizationsOperationsGetCall) Context(ctx context.Context) *OrganizationsOperationsGetCall { 9505 c.ctx_ = ctx 9506 return c 9507 } 9508 9509 // Header returns a http.Header that can be modified by the caller to add 9510 // headers to the request. 9511 func (c *OrganizationsOperationsGetCall) Header() http.Header { 9512 if c.header_ == nil { 9513 c.header_ = make(http.Header) 9514 } 9515 return c.header_ 9516 } 9517 9518 func (c *OrganizationsOperationsGetCall) doRequest(alt string) (*http.Response, error) { 9519 reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) 9520 if c.ifNoneMatch_ != "" { 9521 reqHeaders.Set("If-None-Match", c.ifNoneMatch_) 9522 } 9523 var body io.Reader = nil 9524 c.urlParams_.Set("alt", alt) 9525 c.urlParams_.Set("prettyPrint", "false") 9526 urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}") 9527 urls += "?" + c.urlParams_.Encode() 9528 req, err := http.NewRequest("GET", urls, body) 9529 if err != nil { 9530 return nil, err 9531 } 9532 req.Header = reqHeaders 9533 googleapi.Expand(req.URL, map[string]string{ 9534 "name": c.name, 9535 }) 9536 return gensupport.SendRequest(c.ctx_, c.s.client, req) 9537 } 9538 9539 // Do executes the "securitycenter.organizations.operations.get" call. 9540 // Any non-2xx status code is an error. Response headers are in either 9541 // *Operation.ServerResponse.Header or (if a response was returned at all) in 9542 // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check 9543 // whether the returned error was because http.StatusNotModified was returned. 9544 func (c *OrganizationsOperationsGetCall) Do(opts ...googleapi.CallOption) (*Operation, error) { 9545 gensupport.SetOptions(c.urlParams_, opts...) 9546 res, err := c.doRequest("json") 9547 if res != nil && res.StatusCode == http.StatusNotModified { 9548 if res.Body != nil { 9549 res.Body.Close() 9550 } 9551 return nil, gensupport.WrapError(&googleapi.Error{ 9552 Code: res.StatusCode, 9553 Header: res.Header, 9554 }) 9555 } 9556 if err != nil { 9557 return nil, err 9558 } 9559 defer googleapi.CloseBody(res) 9560 if err := googleapi.CheckResponse(res); err != nil { 9561 return nil, gensupport.WrapError(err) 9562 } 9563 ret := &Operation{ 9564 ServerResponse: googleapi.ServerResponse{ 9565 Header: res.Header, 9566 HTTPStatusCode: res.StatusCode, 9567 }, 9568 } 9569 target := &ret 9570 if err := gensupport.DecodeResponse(target, res); err != nil { 9571 return nil, err 9572 } 9573 return ret, nil 9574 } 9575 9576 type OrganizationsOperationsListCall struct { 9577 s *Service 9578 name string 9579 urlParams_ gensupport.URLParams 9580 ifNoneMatch_ string 9581 ctx_ context.Context 9582 header_ http.Header 9583 } 9584 9585 // List: Lists operations that match the specified filter in the request. If 9586 // the server doesn't support this method, it returns `UNIMPLEMENTED`. 9587 // 9588 // - name: The name of the operation's parent resource. 9589 func (r *OrganizationsOperationsService) List(name string) *OrganizationsOperationsListCall { 9590 c := &OrganizationsOperationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)} 9591 c.name = name 9592 return c 9593 } 9594 9595 // Filter sets the optional parameter "filter": The standard list filter. 9596 func (c *OrganizationsOperationsListCall) Filter(filter string) *OrganizationsOperationsListCall { 9597 c.urlParams_.Set("filter", filter) 9598 return c 9599 } 9600 9601 // PageSize sets the optional parameter "pageSize": The standard list page 9602 // size. 9603 func (c *OrganizationsOperationsListCall) PageSize(pageSize int64) *OrganizationsOperationsListCall { 9604 c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) 9605 return c 9606 } 9607 9608 // PageToken sets the optional parameter "pageToken": The standard list page 9609 // token. 9610 func (c *OrganizationsOperationsListCall) PageToken(pageToken string) *OrganizationsOperationsListCall { 9611 c.urlParams_.Set("pageToken", pageToken) 9612 return c 9613 } 9614 9615 // Fields allows partial responses to be retrieved. See 9616 // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more 9617 // details. 9618 func (c *OrganizationsOperationsListCall) Fields(s ...googleapi.Field) *OrganizationsOperationsListCall { 9619 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 9620 return c 9621 } 9622 9623 // IfNoneMatch sets an optional parameter which makes the operation fail if the 9624 // object's ETag matches the given value. This is useful for getting updates 9625 // only after the object has changed since the last request. 9626 func (c *OrganizationsOperationsListCall) IfNoneMatch(entityTag string) *OrganizationsOperationsListCall { 9627 c.ifNoneMatch_ = entityTag 9628 return c 9629 } 9630 9631 // Context sets the context to be used in this call's Do method. 9632 func (c *OrganizationsOperationsListCall) Context(ctx context.Context) *OrganizationsOperationsListCall { 9633 c.ctx_ = ctx 9634 return c 9635 } 9636 9637 // Header returns a http.Header that can be modified by the caller to add 9638 // headers to the request. 9639 func (c *OrganizationsOperationsListCall) Header() http.Header { 9640 if c.header_ == nil { 9641 c.header_ = make(http.Header) 9642 } 9643 return c.header_ 9644 } 9645 9646 func (c *OrganizationsOperationsListCall) doRequest(alt string) (*http.Response, error) { 9647 reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) 9648 if c.ifNoneMatch_ != "" { 9649 reqHeaders.Set("If-None-Match", c.ifNoneMatch_) 9650 } 9651 var body io.Reader = nil 9652 c.urlParams_.Set("alt", alt) 9653 c.urlParams_.Set("prettyPrint", "false") 9654 urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}") 9655 urls += "?" + c.urlParams_.Encode() 9656 req, err := http.NewRequest("GET", urls, body) 9657 if err != nil { 9658 return nil, err 9659 } 9660 req.Header = reqHeaders 9661 googleapi.Expand(req.URL, map[string]string{ 9662 "name": c.name, 9663 }) 9664 return gensupport.SendRequest(c.ctx_, c.s.client, req) 9665 } 9666 9667 // Do executes the "securitycenter.organizations.operations.list" call. 9668 // Any non-2xx status code is an error. Response headers are in either 9669 // *ListOperationsResponse.ServerResponse.Header or (if a response was returned 9670 // at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to 9671 // check whether the returned error was because http.StatusNotModified was 9672 // returned. 9673 func (c *OrganizationsOperationsListCall) Do(opts ...googleapi.CallOption) (*ListOperationsResponse, error) { 9674 gensupport.SetOptions(c.urlParams_, opts...) 9675 res, err := c.doRequest("json") 9676 if res != nil && res.StatusCode == http.StatusNotModified { 9677 if res.Body != nil { 9678 res.Body.Close() 9679 } 9680 return nil, gensupport.WrapError(&googleapi.Error{ 9681 Code: res.StatusCode, 9682 Header: res.Header, 9683 }) 9684 } 9685 if err != nil { 9686 return nil, err 9687 } 9688 defer googleapi.CloseBody(res) 9689 if err := googleapi.CheckResponse(res); err != nil { 9690 return nil, gensupport.WrapError(err) 9691 } 9692 ret := &ListOperationsResponse{ 9693 ServerResponse: googleapi.ServerResponse{ 9694 Header: res.Header, 9695 HTTPStatusCode: res.StatusCode, 9696 }, 9697 } 9698 target := &ret 9699 if err := gensupport.DecodeResponse(target, res); err != nil { 9700 return nil, err 9701 } 9702 return ret, nil 9703 } 9704 9705 // Pages invokes f for each page of results. 9706 // A non-nil error returned from f will halt the iteration. 9707 // The provided context supersedes any context provided to the Context method. 9708 func (c *OrganizationsOperationsListCall) Pages(ctx context.Context, f func(*ListOperationsResponse) error) error { 9709 c.ctx_ = ctx 9710 defer c.PageToken(c.urlParams_.Get("pageToken")) 9711 for { 9712 x, err := c.Do() 9713 if err != nil { 9714 return err 9715 } 9716 if err := f(x); err != nil { 9717 return err 9718 } 9719 if x.NextPageToken == "" { 9720 return nil 9721 } 9722 c.PageToken(x.NextPageToken) 9723 } 9724 } 9725 9726 type OrganizationsSourcesCreateCall struct { 9727 s *Service 9728 parent string 9729 source *Source 9730 urlParams_ gensupport.URLParams 9731 ctx_ context.Context 9732 header_ http.Header 9733 } 9734 9735 // Create: Creates a source. 9736 // 9737 // - parent: Resource name of the new source's parent. Its format should be 9738 // "organizations/[organization_id]". 9739 func (r *OrganizationsSourcesService) Create(parent string, source *Source) *OrganizationsSourcesCreateCall { 9740 c := &OrganizationsSourcesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)} 9741 c.parent = parent 9742 c.source = source 9743 return c 9744 } 9745 9746 // Fields allows partial responses to be retrieved. See 9747 // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more 9748 // details. 9749 func (c *OrganizationsSourcesCreateCall) Fields(s ...googleapi.Field) *OrganizationsSourcesCreateCall { 9750 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 9751 return c 9752 } 9753 9754 // Context sets the context to be used in this call's Do method. 9755 func (c *OrganizationsSourcesCreateCall) Context(ctx context.Context) *OrganizationsSourcesCreateCall { 9756 c.ctx_ = ctx 9757 return c 9758 } 9759 9760 // Header returns a http.Header that can be modified by the caller to add 9761 // headers to the request. 9762 func (c *OrganizationsSourcesCreateCall) Header() http.Header { 9763 if c.header_ == nil { 9764 c.header_ = make(http.Header) 9765 } 9766 return c.header_ 9767 } 9768 9769 func (c *OrganizationsSourcesCreateCall) doRequest(alt string) (*http.Response, error) { 9770 reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) 9771 var body io.Reader = nil 9772 body, err := googleapi.WithoutDataWrapper.JSONReader(c.source) 9773 if err != nil { 9774 return nil, err 9775 } 9776 c.urlParams_.Set("alt", alt) 9777 c.urlParams_.Set("prettyPrint", "false") 9778 urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/sources") 9779 urls += "?" + c.urlParams_.Encode() 9780 req, err := http.NewRequest("POST", urls, body) 9781 if err != nil { 9782 return nil, err 9783 } 9784 req.Header = reqHeaders 9785 googleapi.Expand(req.URL, map[string]string{ 9786 "parent": c.parent, 9787 }) 9788 return gensupport.SendRequest(c.ctx_, c.s.client, req) 9789 } 9790 9791 // Do executes the "securitycenter.organizations.sources.create" call. 9792 // Any non-2xx status code is an error. Response headers are in either 9793 // *Source.ServerResponse.Header or (if a response was returned at all) in 9794 // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check 9795 // whether the returned error was because http.StatusNotModified was returned. 9796 func (c *OrganizationsSourcesCreateCall) Do(opts ...googleapi.CallOption) (*Source, error) { 9797 gensupport.SetOptions(c.urlParams_, opts...) 9798 res, err := c.doRequest("json") 9799 if res != nil && res.StatusCode == http.StatusNotModified { 9800 if res.Body != nil { 9801 res.Body.Close() 9802 } 9803 return nil, gensupport.WrapError(&googleapi.Error{ 9804 Code: res.StatusCode, 9805 Header: res.Header, 9806 }) 9807 } 9808 if err != nil { 9809 return nil, err 9810 } 9811 defer googleapi.CloseBody(res) 9812 if err := googleapi.CheckResponse(res); err != nil { 9813 return nil, gensupport.WrapError(err) 9814 } 9815 ret := &Source{ 9816 ServerResponse: googleapi.ServerResponse{ 9817 Header: res.Header, 9818 HTTPStatusCode: res.StatusCode, 9819 }, 9820 } 9821 target := &ret 9822 if err := gensupport.DecodeResponse(target, res); err != nil { 9823 return nil, err 9824 } 9825 return ret, nil 9826 } 9827 9828 type OrganizationsSourcesGetCall struct { 9829 s *Service 9830 name string 9831 urlParams_ gensupport.URLParams 9832 ifNoneMatch_ string 9833 ctx_ context.Context 9834 header_ http.Header 9835 } 9836 9837 // Get: Gets a source. 9838 // 9839 // - name: Relative resource name of the source. Its format is 9840 // "organizations/[organization_id]/source/[source_id]". 9841 func (r *OrganizationsSourcesService) Get(name string) *OrganizationsSourcesGetCall { 9842 c := &OrganizationsSourcesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} 9843 c.name = name 9844 return c 9845 } 9846 9847 // Fields allows partial responses to be retrieved. See 9848 // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more 9849 // details. 9850 func (c *OrganizationsSourcesGetCall) Fields(s ...googleapi.Field) *OrganizationsSourcesGetCall { 9851 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 9852 return c 9853 } 9854 9855 // IfNoneMatch sets an optional parameter which makes the operation fail if the 9856 // object's ETag matches the given value. This is useful for getting updates 9857 // only after the object has changed since the last request. 9858 func (c *OrganizationsSourcesGetCall) IfNoneMatch(entityTag string) *OrganizationsSourcesGetCall { 9859 c.ifNoneMatch_ = entityTag 9860 return c 9861 } 9862 9863 // Context sets the context to be used in this call's Do method. 9864 func (c *OrganizationsSourcesGetCall) Context(ctx context.Context) *OrganizationsSourcesGetCall { 9865 c.ctx_ = ctx 9866 return c 9867 } 9868 9869 // Header returns a http.Header that can be modified by the caller to add 9870 // headers to the request. 9871 func (c *OrganizationsSourcesGetCall) Header() http.Header { 9872 if c.header_ == nil { 9873 c.header_ = make(http.Header) 9874 } 9875 return c.header_ 9876 } 9877 9878 func (c *OrganizationsSourcesGetCall) doRequest(alt string) (*http.Response, error) { 9879 reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) 9880 if c.ifNoneMatch_ != "" { 9881 reqHeaders.Set("If-None-Match", c.ifNoneMatch_) 9882 } 9883 var body io.Reader = nil 9884 c.urlParams_.Set("alt", alt) 9885 c.urlParams_.Set("prettyPrint", "false") 9886 urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}") 9887 urls += "?" + c.urlParams_.Encode() 9888 req, err := http.NewRequest("GET", urls, body) 9889 if err != nil { 9890 return nil, err 9891 } 9892 req.Header = reqHeaders 9893 googleapi.Expand(req.URL, map[string]string{ 9894 "name": c.name, 9895 }) 9896 return gensupport.SendRequest(c.ctx_, c.s.client, req) 9897 } 9898 9899 // Do executes the "securitycenter.organizations.sources.get" call. 9900 // Any non-2xx status code is an error. Response headers are in either 9901 // *Source.ServerResponse.Header or (if a response was returned at all) in 9902 // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check 9903 // whether the returned error was because http.StatusNotModified was returned. 9904 func (c *OrganizationsSourcesGetCall) Do(opts ...googleapi.CallOption) (*Source, error) { 9905 gensupport.SetOptions(c.urlParams_, opts...) 9906 res, err := c.doRequest("json") 9907 if res != nil && res.StatusCode == http.StatusNotModified { 9908 if res.Body != nil { 9909 res.Body.Close() 9910 } 9911 return nil, gensupport.WrapError(&googleapi.Error{ 9912 Code: res.StatusCode, 9913 Header: res.Header, 9914 }) 9915 } 9916 if err != nil { 9917 return nil, err 9918 } 9919 defer googleapi.CloseBody(res) 9920 if err := googleapi.CheckResponse(res); err != nil { 9921 return nil, gensupport.WrapError(err) 9922 } 9923 ret := &Source{ 9924 ServerResponse: googleapi.ServerResponse{ 9925 Header: res.Header, 9926 HTTPStatusCode: res.StatusCode, 9927 }, 9928 } 9929 target := &ret 9930 if err := gensupport.DecodeResponse(target, res); err != nil { 9931 return nil, err 9932 } 9933 return ret, nil 9934 } 9935 9936 type OrganizationsSourcesGetIamPolicyCall struct { 9937 s *Service 9938 resource string 9939 getiampolicyrequest *GetIamPolicyRequest 9940 urlParams_ gensupport.URLParams 9941 ctx_ context.Context 9942 header_ http.Header 9943 } 9944 9945 // GetIamPolicy: Gets the access control policy on the specified Source. 9946 // 9947 // - resource: REQUIRED: The resource for which the policy is being requested. 9948 // See Resource names (https://cloud.google.com/apis/design/resource_names) 9949 // for the appropriate value for this field. 9950 func (r *OrganizationsSourcesService) GetIamPolicy(resource string, getiampolicyrequest *GetIamPolicyRequest) *OrganizationsSourcesGetIamPolicyCall { 9951 c := &OrganizationsSourcesGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)} 9952 c.resource = resource 9953 c.getiampolicyrequest = getiampolicyrequest 9954 return c 9955 } 9956 9957 // Fields allows partial responses to be retrieved. See 9958 // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more 9959 // details. 9960 func (c *OrganizationsSourcesGetIamPolicyCall) Fields(s ...googleapi.Field) *OrganizationsSourcesGetIamPolicyCall { 9961 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 9962 return c 9963 } 9964 9965 // Context sets the context to be used in this call's Do method. 9966 func (c *OrganizationsSourcesGetIamPolicyCall) Context(ctx context.Context) *OrganizationsSourcesGetIamPolicyCall { 9967 c.ctx_ = ctx 9968 return c 9969 } 9970 9971 // Header returns a http.Header that can be modified by the caller to add 9972 // headers to the request. 9973 func (c *OrganizationsSourcesGetIamPolicyCall) Header() http.Header { 9974 if c.header_ == nil { 9975 c.header_ = make(http.Header) 9976 } 9977 return c.header_ 9978 } 9979 9980 func (c *OrganizationsSourcesGetIamPolicyCall) doRequest(alt string) (*http.Response, error) { 9981 reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) 9982 var body io.Reader = nil 9983 body, err := googleapi.WithoutDataWrapper.JSONReader(c.getiampolicyrequest) 9984 if err != nil { 9985 return nil, err 9986 } 9987 c.urlParams_.Set("alt", alt) 9988 c.urlParams_.Set("prettyPrint", "false") 9989 urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+resource}:getIamPolicy") 9990 urls += "?" + c.urlParams_.Encode() 9991 req, err := http.NewRequest("POST", urls, body) 9992 if err != nil { 9993 return nil, err 9994 } 9995 req.Header = reqHeaders 9996 googleapi.Expand(req.URL, map[string]string{ 9997 "resource": c.resource, 9998 }) 9999 return gensupport.SendRequest(c.ctx_, c.s.client, req) 10000 } 10001 10002 // Do executes the "securitycenter.organizations.sources.getIamPolicy" call. 10003 // Any non-2xx status code is an error. Response headers are in either 10004 // *Policy.ServerResponse.Header or (if a response was returned at all) in 10005 // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check 10006 // whether the returned error was because http.StatusNotModified was returned. 10007 func (c *OrganizationsSourcesGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) { 10008 gensupport.SetOptions(c.urlParams_, opts...) 10009 res, err := c.doRequest("json") 10010 if res != nil && res.StatusCode == http.StatusNotModified { 10011 if res.Body != nil { 10012 res.Body.Close() 10013 } 10014 return nil, gensupport.WrapError(&googleapi.Error{ 10015 Code: res.StatusCode, 10016 Header: res.Header, 10017 }) 10018 } 10019 if err != nil { 10020 return nil, err 10021 } 10022 defer googleapi.CloseBody(res) 10023 if err := googleapi.CheckResponse(res); err != nil { 10024 return nil, gensupport.WrapError(err) 10025 } 10026 ret := &Policy{ 10027 ServerResponse: googleapi.ServerResponse{ 10028 Header: res.Header, 10029 HTTPStatusCode: res.StatusCode, 10030 }, 10031 } 10032 target := &ret 10033 if err := gensupport.DecodeResponse(target, res); err != nil { 10034 return nil, err 10035 } 10036 return ret, nil 10037 } 10038 10039 type OrganizationsSourcesListCall struct { 10040 s *Service 10041 parent string 10042 urlParams_ gensupport.URLParams 10043 ifNoneMatch_ string 10044 ctx_ context.Context 10045 header_ http.Header 10046 } 10047 10048 // List: Lists all sources belonging to an organization. 10049 // 10050 // - parent: Resource name of the parent of sources to list. Its format should 10051 // be "organizations/[organization_id]". 10052 func (r *OrganizationsSourcesService) List(parent string) *OrganizationsSourcesListCall { 10053 c := &OrganizationsSourcesListCall{s: r.s, urlParams_: make(gensupport.URLParams)} 10054 c.parent = parent 10055 return c 10056 } 10057 10058 // PageSize sets the optional parameter "pageSize": The maximum number of 10059 // results to return in a single response. Default is 10, minimum is 1, maximum 10060 // is 1000. 10061 func (c *OrganizationsSourcesListCall) PageSize(pageSize int64) *OrganizationsSourcesListCall { 10062 c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) 10063 return c 10064 } 10065 10066 // PageToken sets the optional parameter "pageToken": The value returned by the 10067 // last `ListSourcesResponse`; indicates that this is a continuation of a prior 10068 // `ListSources` call, and that the system should return the next page of data. 10069 func (c *OrganizationsSourcesListCall) PageToken(pageToken string) *OrganizationsSourcesListCall { 10070 c.urlParams_.Set("pageToken", pageToken) 10071 return c 10072 } 10073 10074 // Fields allows partial responses to be retrieved. See 10075 // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more 10076 // details. 10077 func (c *OrganizationsSourcesListCall) Fields(s ...googleapi.Field) *OrganizationsSourcesListCall { 10078 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 10079 return c 10080 } 10081 10082 // IfNoneMatch sets an optional parameter which makes the operation fail if the 10083 // object's ETag matches the given value. This is useful for getting updates 10084 // only after the object has changed since the last request. 10085 func (c *OrganizationsSourcesListCall) IfNoneMatch(entityTag string) *OrganizationsSourcesListCall { 10086 c.ifNoneMatch_ = entityTag 10087 return c 10088 } 10089 10090 // Context sets the context to be used in this call's Do method. 10091 func (c *OrganizationsSourcesListCall) Context(ctx context.Context) *OrganizationsSourcesListCall { 10092 c.ctx_ = ctx 10093 return c 10094 } 10095 10096 // Header returns a http.Header that can be modified by the caller to add 10097 // headers to the request. 10098 func (c *OrganizationsSourcesListCall) Header() http.Header { 10099 if c.header_ == nil { 10100 c.header_ = make(http.Header) 10101 } 10102 return c.header_ 10103 } 10104 10105 func (c *OrganizationsSourcesListCall) doRequest(alt string) (*http.Response, error) { 10106 reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) 10107 if c.ifNoneMatch_ != "" { 10108 reqHeaders.Set("If-None-Match", c.ifNoneMatch_) 10109 } 10110 var body io.Reader = nil 10111 c.urlParams_.Set("alt", alt) 10112 c.urlParams_.Set("prettyPrint", "false") 10113 urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/sources") 10114 urls += "?" + c.urlParams_.Encode() 10115 req, err := http.NewRequest("GET", urls, body) 10116 if err != nil { 10117 return nil, err 10118 } 10119 req.Header = reqHeaders 10120 googleapi.Expand(req.URL, map[string]string{ 10121 "parent": c.parent, 10122 }) 10123 return gensupport.SendRequest(c.ctx_, c.s.client, req) 10124 } 10125 10126 // Do executes the "securitycenter.organizations.sources.list" call. 10127 // Any non-2xx status code is an error. Response headers are in either 10128 // *ListSourcesResponse.ServerResponse.Header or (if a response was returned at 10129 // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to 10130 // check whether the returned error was because http.StatusNotModified was 10131 // returned. 10132 func (c *OrganizationsSourcesListCall) Do(opts ...googleapi.CallOption) (*ListSourcesResponse, error) { 10133 gensupport.SetOptions(c.urlParams_, opts...) 10134 res, err := c.doRequest("json") 10135 if res != nil && res.StatusCode == http.StatusNotModified { 10136 if res.Body != nil { 10137 res.Body.Close() 10138 } 10139 return nil, gensupport.WrapError(&googleapi.Error{ 10140 Code: res.StatusCode, 10141 Header: res.Header, 10142 }) 10143 } 10144 if err != nil { 10145 return nil, err 10146 } 10147 defer googleapi.CloseBody(res) 10148 if err := googleapi.CheckResponse(res); err != nil { 10149 return nil, gensupport.WrapError(err) 10150 } 10151 ret := &ListSourcesResponse{ 10152 ServerResponse: googleapi.ServerResponse{ 10153 Header: res.Header, 10154 HTTPStatusCode: res.StatusCode, 10155 }, 10156 } 10157 target := &ret 10158 if err := gensupport.DecodeResponse(target, res); err != nil { 10159 return nil, err 10160 } 10161 return ret, nil 10162 } 10163 10164 // Pages invokes f for each page of results. 10165 // A non-nil error returned from f will halt the iteration. 10166 // The provided context supersedes any context provided to the Context method. 10167 func (c *OrganizationsSourcesListCall) Pages(ctx context.Context, f func(*ListSourcesResponse) error) error { 10168 c.ctx_ = ctx 10169 defer c.PageToken(c.urlParams_.Get("pageToken")) 10170 for { 10171 x, err := c.Do() 10172 if err != nil { 10173 return err 10174 } 10175 if err := f(x); err != nil { 10176 return err 10177 } 10178 if x.NextPageToken == "" { 10179 return nil 10180 } 10181 c.PageToken(x.NextPageToken) 10182 } 10183 } 10184 10185 type OrganizationsSourcesPatchCall struct { 10186 s *Service 10187 name string 10188 source *Source 10189 urlParams_ gensupport.URLParams 10190 ctx_ context.Context 10191 header_ http.Header 10192 } 10193 10194 // Patch: Updates a source. 10195 // 10196 // - name: The relative resource name of this source. See: 10197 // https://cloud.google.com/apis/design/resource_names#relative_resource_name 10198 // Example: "organizations/{organization_id}/sources/{source_id}". 10199 func (r *OrganizationsSourcesService) Patch(name string, source *Source) *OrganizationsSourcesPatchCall { 10200 c := &OrganizationsSourcesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)} 10201 c.name = name 10202 c.source = source 10203 return c 10204 } 10205 10206 // UpdateMask sets the optional parameter "updateMask": The FieldMask to use 10207 // when updating the source resource. 10208 func (c *OrganizationsSourcesPatchCall) UpdateMask(updateMask string) *OrganizationsSourcesPatchCall { 10209 c.urlParams_.Set("updateMask", updateMask) 10210 return c 10211 } 10212 10213 // Fields allows partial responses to be retrieved. See 10214 // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more 10215 // details. 10216 func (c *OrganizationsSourcesPatchCall) Fields(s ...googleapi.Field) *OrganizationsSourcesPatchCall { 10217 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 10218 return c 10219 } 10220 10221 // Context sets the context to be used in this call's Do method. 10222 func (c *OrganizationsSourcesPatchCall) Context(ctx context.Context) *OrganizationsSourcesPatchCall { 10223 c.ctx_ = ctx 10224 return c 10225 } 10226 10227 // Header returns a http.Header that can be modified by the caller to add 10228 // headers to the request. 10229 func (c *OrganizationsSourcesPatchCall) Header() http.Header { 10230 if c.header_ == nil { 10231 c.header_ = make(http.Header) 10232 } 10233 return c.header_ 10234 } 10235 10236 func (c *OrganizationsSourcesPatchCall) doRequest(alt string) (*http.Response, error) { 10237 reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) 10238 var body io.Reader = nil 10239 body, err := googleapi.WithoutDataWrapper.JSONReader(c.source) 10240 if err != nil { 10241 return nil, err 10242 } 10243 c.urlParams_.Set("alt", alt) 10244 c.urlParams_.Set("prettyPrint", "false") 10245 urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}") 10246 urls += "?" + c.urlParams_.Encode() 10247 req, err := http.NewRequest("PATCH", urls, body) 10248 if err != nil { 10249 return nil, err 10250 } 10251 req.Header = reqHeaders 10252 googleapi.Expand(req.URL, map[string]string{ 10253 "name": c.name, 10254 }) 10255 return gensupport.SendRequest(c.ctx_, c.s.client, req) 10256 } 10257 10258 // Do executes the "securitycenter.organizations.sources.patch" call. 10259 // Any non-2xx status code is an error. Response headers are in either 10260 // *Source.ServerResponse.Header or (if a response was returned at all) in 10261 // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check 10262 // whether the returned error was because http.StatusNotModified was returned. 10263 func (c *OrganizationsSourcesPatchCall) Do(opts ...googleapi.CallOption) (*Source, error) { 10264 gensupport.SetOptions(c.urlParams_, opts...) 10265 res, err := c.doRequest("json") 10266 if res != nil && res.StatusCode == http.StatusNotModified { 10267 if res.Body != nil { 10268 res.Body.Close() 10269 } 10270 return nil, gensupport.WrapError(&googleapi.Error{ 10271 Code: res.StatusCode, 10272 Header: res.Header, 10273 }) 10274 } 10275 if err != nil { 10276 return nil, err 10277 } 10278 defer googleapi.CloseBody(res) 10279 if err := googleapi.CheckResponse(res); err != nil { 10280 return nil, gensupport.WrapError(err) 10281 } 10282 ret := &Source{ 10283 ServerResponse: googleapi.ServerResponse{ 10284 Header: res.Header, 10285 HTTPStatusCode: res.StatusCode, 10286 }, 10287 } 10288 target := &ret 10289 if err := gensupport.DecodeResponse(target, res); err != nil { 10290 return nil, err 10291 } 10292 return ret, nil 10293 } 10294 10295 type OrganizationsSourcesSetIamPolicyCall struct { 10296 s *Service 10297 resource string 10298 setiampolicyrequest *SetIamPolicyRequest 10299 urlParams_ gensupport.URLParams 10300 ctx_ context.Context 10301 header_ http.Header 10302 } 10303 10304 // SetIamPolicy: Sets the access control policy on the specified Source. 10305 // 10306 // - resource: REQUIRED: The resource for which the policy is being specified. 10307 // See Resource names (https://cloud.google.com/apis/design/resource_names) 10308 // for the appropriate value for this field. 10309 func (r *OrganizationsSourcesService) SetIamPolicy(resource string, setiampolicyrequest *SetIamPolicyRequest) *OrganizationsSourcesSetIamPolicyCall { 10310 c := &OrganizationsSourcesSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)} 10311 c.resource = resource 10312 c.setiampolicyrequest = setiampolicyrequest 10313 return c 10314 } 10315 10316 // Fields allows partial responses to be retrieved. See 10317 // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more 10318 // details. 10319 func (c *OrganizationsSourcesSetIamPolicyCall) Fields(s ...googleapi.Field) *OrganizationsSourcesSetIamPolicyCall { 10320 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 10321 return c 10322 } 10323 10324 // Context sets the context to be used in this call's Do method. 10325 func (c *OrganizationsSourcesSetIamPolicyCall) Context(ctx context.Context) *OrganizationsSourcesSetIamPolicyCall { 10326 c.ctx_ = ctx 10327 return c 10328 } 10329 10330 // Header returns a http.Header that can be modified by the caller to add 10331 // headers to the request. 10332 func (c *OrganizationsSourcesSetIamPolicyCall) Header() http.Header { 10333 if c.header_ == nil { 10334 c.header_ = make(http.Header) 10335 } 10336 return c.header_ 10337 } 10338 10339 func (c *OrganizationsSourcesSetIamPolicyCall) doRequest(alt string) (*http.Response, error) { 10340 reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) 10341 var body io.Reader = nil 10342 body, err := googleapi.WithoutDataWrapper.JSONReader(c.setiampolicyrequest) 10343 if err != nil { 10344 return nil, err 10345 } 10346 c.urlParams_.Set("alt", alt) 10347 c.urlParams_.Set("prettyPrint", "false") 10348 urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+resource}:setIamPolicy") 10349 urls += "?" + c.urlParams_.Encode() 10350 req, err := http.NewRequest("POST", urls, body) 10351 if err != nil { 10352 return nil, err 10353 } 10354 req.Header = reqHeaders 10355 googleapi.Expand(req.URL, map[string]string{ 10356 "resource": c.resource, 10357 }) 10358 return gensupport.SendRequest(c.ctx_, c.s.client, req) 10359 } 10360 10361 // Do executes the "securitycenter.organizations.sources.setIamPolicy" call. 10362 // Any non-2xx status code is an error. Response headers are in either 10363 // *Policy.ServerResponse.Header or (if a response was returned at all) in 10364 // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check 10365 // whether the returned error was because http.StatusNotModified was returned. 10366 func (c *OrganizationsSourcesSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) { 10367 gensupport.SetOptions(c.urlParams_, opts...) 10368 res, err := c.doRequest("json") 10369 if res != nil && res.StatusCode == http.StatusNotModified { 10370 if res.Body != nil { 10371 res.Body.Close() 10372 } 10373 return nil, gensupport.WrapError(&googleapi.Error{ 10374 Code: res.StatusCode, 10375 Header: res.Header, 10376 }) 10377 } 10378 if err != nil { 10379 return nil, err 10380 } 10381 defer googleapi.CloseBody(res) 10382 if err := googleapi.CheckResponse(res); err != nil { 10383 return nil, gensupport.WrapError(err) 10384 } 10385 ret := &Policy{ 10386 ServerResponse: googleapi.ServerResponse{ 10387 Header: res.Header, 10388 HTTPStatusCode: res.StatusCode, 10389 }, 10390 } 10391 target := &ret 10392 if err := gensupport.DecodeResponse(target, res); err != nil { 10393 return nil, err 10394 } 10395 return ret, nil 10396 } 10397 10398 type OrganizationsSourcesTestIamPermissionsCall struct { 10399 s *Service 10400 resource string 10401 testiampermissionsrequest *TestIamPermissionsRequest 10402 urlParams_ gensupport.URLParams 10403 ctx_ context.Context 10404 header_ http.Header 10405 } 10406 10407 // TestIamPermissions: Returns the permissions that a caller has on the 10408 // specified source. 10409 // 10410 // - resource: REQUIRED: The resource for which the policy detail is being 10411 // requested. See Resource names 10412 // (https://cloud.google.com/apis/design/resource_names) for the appropriate 10413 // value for this field. 10414 func (r *OrganizationsSourcesService) TestIamPermissions(resource string, testiampermissionsrequest *TestIamPermissionsRequest) *OrganizationsSourcesTestIamPermissionsCall { 10415 c := &OrganizationsSourcesTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)} 10416 c.resource = resource 10417 c.testiampermissionsrequest = testiampermissionsrequest 10418 return c 10419 } 10420 10421 // Fields allows partial responses to be retrieved. See 10422 // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more 10423 // details. 10424 func (c *OrganizationsSourcesTestIamPermissionsCall) Fields(s ...googleapi.Field) *OrganizationsSourcesTestIamPermissionsCall { 10425 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 10426 return c 10427 } 10428 10429 // Context sets the context to be used in this call's Do method. 10430 func (c *OrganizationsSourcesTestIamPermissionsCall) Context(ctx context.Context) *OrganizationsSourcesTestIamPermissionsCall { 10431 c.ctx_ = ctx 10432 return c 10433 } 10434 10435 // Header returns a http.Header that can be modified by the caller to add 10436 // headers to the request. 10437 func (c *OrganizationsSourcesTestIamPermissionsCall) Header() http.Header { 10438 if c.header_ == nil { 10439 c.header_ = make(http.Header) 10440 } 10441 return c.header_ 10442 } 10443 10444 func (c *OrganizationsSourcesTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) { 10445 reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) 10446 var body io.Reader = nil 10447 body, err := googleapi.WithoutDataWrapper.JSONReader(c.testiampermissionsrequest) 10448 if err != nil { 10449 return nil, err 10450 } 10451 c.urlParams_.Set("alt", alt) 10452 c.urlParams_.Set("prettyPrint", "false") 10453 urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+resource}:testIamPermissions") 10454 urls += "?" + c.urlParams_.Encode() 10455 req, err := http.NewRequest("POST", urls, body) 10456 if err != nil { 10457 return nil, err 10458 } 10459 req.Header = reqHeaders 10460 googleapi.Expand(req.URL, map[string]string{ 10461 "resource": c.resource, 10462 }) 10463 return gensupport.SendRequest(c.ctx_, c.s.client, req) 10464 } 10465 10466 // Do executes the "securitycenter.organizations.sources.testIamPermissions" call. 10467 // Any non-2xx status code is an error. Response headers are in either 10468 // *TestIamPermissionsResponse.ServerResponse.Header or (if a response was 10469 // returned at all) in error.(*googleapi.Error).Header. Use 10470 // googleapi.IsNotModified to check whether the returned error was because 10471 // http.StatusNotModified was returned. 10472 func (c *OrganizationsSourcesTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestIamPermissionsResponse, error) { 10473 gensupport.SetOptions(c.urlParams_, opts...) 10474 res, err := c.doRequest("json") 10475 if res != nil && res.StatusCode == http.StatusNotModified { 10476 if res.Body != nil { 10477 res.Body.Close() 10478 } 10479 return nil, gensupport.WrapError(&googleapi.Error{ 10480 Code: res.StatusCode, 10481 Header: res.Header, 10482 }) 10483 } 10484 if err != nil { 10485 return nil, err 10486 } 10487 defer googleapi.CloseBody(res) 10488 if err := googleapi.CheckResponse(res); err != nil { 10489 return nil, gensupport.WrapError(err) 10490 } 10491 ret := &TestIamPermissionsResponse{ 10492 ServerResponse: googleapi.ServerResponse{ 10493 Header: res.Header, 10494 HTTPStatusCode: res.StatusCode, 10495 }, 10496 } 10497 target := &ret 10498 if err := gensupport.DecodeResponse(target, res); err != nil { 10499 return nil, err 10500 } 10501 return ret, nil 10502 } 10503 10504 type OrganizationsSourcesFindingsCreateCall struct { 10505 s *Service 10506 parent string 10507 googlecloudsecuritycenterv1beta1finding *GoogleCloudSecuritycenterV1beta1Finding 10508 urlParams_ gensupport.URLParams 10509 ctx_ context.Context 10510 header_ http.Header 10511 } 10512 10513 // Create: Creates a finding. The corresponding source must exist for finding 10514 // creation to succeed. 10515 // 10516 // - parent: Resource name of the new finding's parent. Its format should be 10517 // "organizations/[organization_id]/sources/[source_id]". 10518 func (r *OrganizationsSourcesFindingsService) Create(parent string, googlecloudsecuritycenterv1beta1finding *GoogleCloudSecuritycenterV1beta1Finding) *OrganizationsSourcesFindingsCreateCall { 10519 c := &OrganizationsSourcesFindingsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)} 10520 c.parent = parent 10521 c.googlecloudsecuritycenterv1beta1finding = googlecloudsecuritycenterv1beta1finding 10522 return c 10523 } 10524 10525 // FindingId sets the optional parameter "findingId": Required. Unique 10526 // identifier provided by the client within the parent scope. It must be 10527 // alphanumeric and less than or equal to 32 characters and greater than 0 10528 // characters in length. 10529 func (c *OrganizationsSourcesFindingsCreateCall) FindingId(findingId string) *OrganizationsSourcesFindingsCreateCall { 10530 c.urlParams_.Set("findingId", findingId) 10531 return c 10532 } 10533 10534 // Fields allows partial responses to be retrieved. See 10535 // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more 10536 // details. 10537 func (c *OrganizationsSourcesFindingsCreateCall) Fields(s ...googleapi.Field) *OrganizationsSourcesFindingsCreateCall { 10538 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 10539 return c 10540 } 10541 10542 // Context sets the context to be used in this call's Do method. 10543 func (c *OrganizationsSourcesFindingsCreateCall) Context(ctx context.Context) *OrganizationsSourcesFindingsCreateCall { 10544 c.ctx_ = ctx 10545 return c 10546 } 10547 10548 // Header returns a http.Header that can be modified by the caller to add 10549 // headers to the request. 10550 func (c *OrganizationsSourcesFindingsCreateCall) Header() http.Header { 10551 if c.header_ == nil { 10552 c.header_ = make(http.Header) 10553 } 10554 return c.header_ 10555 } 10556 10557 func (c *OrganizationsSourcesFindingsCreateCall) doRequest(alt string) (*http.Response, error) { 10558 reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) 10559 var body io.Reader = nil 10560 body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudsecuritycenterv1beta1finding) 10561 if err != nil { 10562 return nil, err 10563 } 10564 c.urlParams_.Set("alt", alt) 10565 c.urlParams_.Set("prettyPrint", "false") 10566 urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/findings") 10567 urls += "?" + c.urlParams_.Encode() 10568 req, err := http.NewRequest("POST", urls, body) 10569 if err != nil { 10570 return nil, err 10571 } 10572 req.Header = reqHeaders 10573 googleapi.Expand(req.URL, map[string]string{ 10574 "parent": c.parent, 10575 }) 10576 return gensupport.SendRequest(c.ctx_, c.s.client, req) 10577 } 10578 10579 // Do executes the "securitycenter.organizations.sources.findings.create" call. 10580 // Any non-2xx status code is an error. Response headers are in either 10581 // *GoogleCloudSecuritycenterV1beta1Finding.ServerResponse.Header or (if a 10582 // response was returned at all) in error.(*googleapi.Error).Header. Use 10583 // googleapi.IsNotModified to check whether the returned error was because 10584 // http.StatusNotModified was returned. 10585 func (c *OrganizationsSourcesFindingsCreateCall) Do(opts ...googleapi.CallOption) (*GoogleCloudSecuritycenterV1beta1Finding, error) { 10586 gensupport.SetOptions(c.urlParams_, opts...) 10587 res, err := c.doRequest("json") 10588 if res != nil && res.StatusCode == http.StatusNotModified { 10589 if res.Body != nil { 10590 res.Body.Close() 10591 } 10592 return nil, gensupport.WrapError(&googleapi.Error{ 10593 Code: res.StatusCode, 10594 Header: res.Header, 10595 }) 10596 } 10597 if err != nil { 10598 return nil, err 10599 } 10600 defer googleapi.CloseBody(res) 10601 if err := googleapi.CheckResponse(res); err != nil { 10602 return nil, gensupport.WrapError(err) 10603 } 10604 ret := &GoogleCloudSecuritycenterV1beta1Finding{ 10605 ServerResponse: googleapi.ServerResponse{ 10606 Header: res.Header, 10607 HTTPStatusCode: res.StatusCode, 10608 }, 10609 } 10610 target := &ret 10611 if err := gensupport.DecodeResponse(target, res); err != nil { 10612 return nil, err 10613 } 10614 return ret, nil 10615 } 10616 10617 type OrganizationsSourcesFindingsGroupCall struct { 10618 s *Service 10619 parent string 10620 groupfindingsrequest *GroupFindingsRequest 10621 urlParams_ gensupport.URLParams 10622 ctx_ context.Context 10623 header_ http.Header 10624 } 10625 10626 // Group: Filters an organization or source's findings and groups them by their 10627 // specified properties. To group across all sources provide a `-` as the 10628 // source id. Example: 10629 // /v1beta1/organizations/{organization_id}/sources/-/findings 10630 // 10631 // - parent: Name of the source to groupBy. Its format is 10632 // "organizations/[organization_id]/sources/[source_id]". To groupBy across 10633 // all sources provide a source_id of `-`. For example: 10634 // organizations/{organization_id}/sources/-. 10635 func (r *OrganizationsSourcesFindingsService) Group(parent string, groupfindingsrequest *GroupFindingsRequest) *OrganizationsSourcesFindingsGroupCall { 10636 c := &OrganizationsSourcesFindingsGroupCall{s: r.s, urlParams_: make(gensupport.URLParams)} 10637 c.parent = parent 10638 c.groupfindingsrequest = groupfindingsrequest 10639 return c 10640 } 10641 10642 // Fields allows partial responses to be retrieved. See 10643 // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more 10644 // details. 10645 func (c *OrganizationsSourcesFindingsGroupCall) Fields(s ...googleapi.Field) *OrganizationsSourcesFindingsGroupCall { 10646 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 10647 return c 10648 } 10649 10650 // Context sets the context to be used in this call's Do method. 10651 func (c *OrganizationsSourcesFindingsGroupCall) Context(ctx context.Context) *OrganizationsSourcesFindingsGroupCall { 10652 c.ctx_ = ctx 10653 return c 10654 } 10655 10656 // Header returns a http.Header that can be modified by the caller to add 10657 // headers to the request. 10658 func (c *OrganizationsSourcesFindingsGroupCall) Header() http.Header { 10659 if c.header_ == nil { 10660 c.header_ = make(http.Header) 10661 } 10662 return c.header_ 10663 } 10664 10665 func (c *OrganizationsSourcesFindingsGroupCall) doRequest(alt string) (*http.Response, error) { 10666 reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) 10667 var body io.Reader = nil 10668 body, err := googleapi.WithoutDataWrapper.JSONReader(c.groupfindingsrequest) 10669 if err != nil { 10670 return nil, err 10671 } 10672 c.urlParams_.Set("alt", alt) 10673 c.urlParams_.Set("prettyPrint", "false") 10674 urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/findings:group") 10675 urls += "?" + c.urlParams_.Encode() 10676 req, err := http.NewRequest("POST", urls, body) 10677 if err != nil { 10678 return nil, err 10679 } 10680 req.Header = reqHeaders 10681 googleapi.Expand(req.URL, map[string]string{ 10682 "parent": c.parent, 10683 }) 10684 return gensupport.SendRequest(c.ctx_, c.s.client, req) 10685 } 10686 10687 // Do executes the "securitycenter.organizations.sources.findings.group" call. 10688 // Any non-2xx status code is an error. Response headers are in either 10689 // *GroupFindingsResponse.ServerResponse.Header or (if a response was returned 10690 // at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to 10691 // check whether the returned error was because http.StatusNotModified was 10692 // returned. 10693 func (c *OrganizationsSourcesFindingsGroupCall) Do(opts ...googleapi.CallOption) (*GroupFindingsResponse, error) { 10694 gensupport.SetOptions(c.urlParams_, opts...) 10695 res, err := c.doRequest("json") 10696 if res != nil && res.StatusCode == http.StatusNotModified { 10697 if res.Body != nil { 10698 res.Body.Close() 10699 } 10700 return nil, gensupport.WrapError(&googleapi.Error{ 10701 Code: res.StatusCode, 10702 Header: res.Header, 10703 }) 10704 } 10705 if err != nil { 10706 return nil, err 10707 } 10708 defer googleapi.CloseBody(res) 10709 if err := googleapi.CheckResponse(res); err != nil { 10710 return nil, gensupport.WrapError(err) 10711 } 10712 ret := &GroupFindingsResponse{ 10713 ServerResponse: googleapi.ServerResponse{ 10714 Header: res.Header, 10715 HTTPStatusCode: res.StatusCode, 10716 }, 10717 } 10718 target := &ret 10719 if err := gensupport.DecodeResponse(target, res); err != nil { 10720 return nil, err 10721 } 10722 return ret, nil 10723 } 10724 10725 // Pages invokes f for each page of results. 10726 // A non-nil error returned from f will halt the iteration. 10727 // The provided context supersedes any context provided to the Context method. 10728 func (c *OrganizationsSourcesFindingsGroupCall) Pages(ctx context.Context, f func(*GroupFindingsResponse) error) error { 10729 c.ctx_ = ctx 10730 defer func(pt string) { c.groupfindingsrequest.PageToken = pt }(c.groupfindingsrequest.PageToken) 10731 for { 10732 x, err := c.Do() 10733 if err != nil { 10734 return err 10735 } 10736 if err := f(x); err != nil { 10737 return err 10738 } 10739 if x.NextPageToken == "" { 10740 return nil 10741 } 10742 c.groupfindingsrequest.PageToken = x.NextPageToken 10743 } 10744 } 10745 10746 type OrganizationsSourcesFindingsListCall struct { 10747 s *Service 10748 parent string 10749 urlParams_ gensupport.URLParams 10750 ifNoneMatch_ string 10751 ctx_ context.Context 10752 header_ http.Header 10753 } 10754 10755 // List: Lists an organization or source's findings. To list across all sources 10756 // provide a `-` as the source id. Example: 10757 // /v1beta1/organizations/{organization_id}/sources/-/findings 10758 // 10759 // - parent: Name of the source the findings belong to. Its format is 10760 // "organizations/[organization_id]/sources/[source_id]". To list across all 10761 // sources provide a source_id of `-`. For example: 10762 // organizations/{organization_id}/sources/-. 10763 func (r *OrganizationsSourcesFindingsService) List(parent string) *OrganizationsSourcesFindingsListCall { 10764 c := &OrganizationsSourcesFindingsListCall{s: r.s, urlParams_: make(gensupport.URLParams)} 10765 c.parent = parent 10766 return c 10767 } 10768 10769 // FieldMask sets the optional parameter "fieldMask": A field mask to specify 10770 // the Finding fields to be listed in the response. An empty field mask will 10771 // list all fields. 10772 func (c *OrganizationsSourcesFindingsListCall) FieldMask(fieldMask string) *OrganizationsSourcesFindingsListCall { 10773 c.urlParams_.Set("fieldMask", fieldMask) 10774 return c 10775 } 10776 10777 // Filter sets the optional parameter "filter": Expression that defines the 10778 // filter to apply across findings. The expression is a list of one or more 10779 // restrictions combined via logical operators `AND` and `OR`. Parentheses are 10780 // not supported, and `OR` has higher precedence than `AND`. Restrictions have 10781 // the form ` ` and may have a `-` character in front of them to indicate 10782 // negation. Examples include: * name * source_properties.a_property * 10783 // security_marks.marks.marka The supported operators are: * `=` for all value 10784 // types. * `>`, `<`, `>=`, `<=` for integer values. * `:`, meaning substring 10785 // matching, for strings. The supported value types are: * string literals in 10786 // quotes. * integer literals without quotes. * boolean literals `true` and 10787 // `false` without quotes. For example, `source_properties.size = 100` is a 10788 // valid filter string. 10789 func (c *OrganizationsSourcesFindingsListCall) Filter(filter string) *OrganizationsSourcesFindingsListCall { 10790 c.urlParams_.Set("filter", filter) 10791 return c 10792 } 10793 10794 // OrderBy sets the optional parameter "orderBy": Expression that defines what 10795 // fields and order to use for sorting. The string value should follow SQL 10796 // syntax: comma separated list of fields. For example: 10797 // "name,resource_properties.a_property". The default sorting order is 10798 // ascending. To specify descending order for a field, a suffix " desc" should 10799 // be appended to the field name. For example: "name 10800 // desc,source_properties.a_property". Redundant space characters in the syntax 10801 // are insignificant. "name desc,source_properties.a_property" and " name desc 10802 // , source_properties.a_property " are equivalent. 10803 func (c *OrganizationsSourcesFindingsListCall) OrderBy(orderBy string) *OrganizationsSourcesFindingsListCall { 10804 c.urlParams_.Set("orderBy", orderBy) 10805 return c 10806 } 10807 10808 // PageSize sets the optional parameter "pageSize": The maximum number of 10809 // results to return in a single response. Default is 10, minimum is 1, maximum 10810 // is 1000. 10811 func (c *OrganizationsSourcesFindingsListCall) PageSize(pageSize int64) *OrganizationsSourcesFindingsListCall { 10812 c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) 10813 return c 10814 } 10815 10816 // PageToken sets the optional parameter "pageToken": The value returned by the 10817 // last `ListFindingsResponse`; indicates that this is a continuation of a 10818 // prior `ListFindings` call, and that the system should return the next page 10819 // of data. 10820 func (c *OrganizationsSourcesFindingsListCall) PageToken(pageToken string) *OrganizationsSourcesFindingsListCall { 10821 c.urlParams_.Set("pageToken", pageToken) 10822 return c 10823 } 10824 10825 // ReadTime sets the optional parameter "readTime": Time used as a reference 10826 // point when filtering findings. The filter is limited to findings existing at 10827 // the supplied time and their values are those at that specific time. Absence 10828 // of this field will default to the API's version of NOW. 10829 func (c *OrganizationsSourcesFindingsListCall) ReadTime(readTime string) *OrganizationsSourcesFindingsListCall { 10830 c.urlParams_.Set("readTime", readTime) 10831 return c 10832 } 10833 10834 // Fields allows partial responses to be retrieved. See 10835 // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more 10836 // details. 10837 func (c *OrganizationsSourcesFindingsListCall) Fields(s ...googleapi.Field) *OrganizationsSourcesFindingsListCall { 10838 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 10839 return c 10840 } 10841 10842 // IfNoneMatch sets an optional parameter which makes the operation fail if the 10843 // object's ETag matches the given value. This is useful for getting updates 10844 // only after the object has changed since the last request. 10845 func (c *OrganizationsSourcesFindingsListCall) IfNoneMatch(entityTag string) *OrganizationsSourcesFindingsListCall { 10846 c.ifNoneMatch_ = entityTag 10847 return c 10848 } 10849 10850 // Context sets the context to be used in this call's Do method. 10851 func (c *OrganizationsSourcesFindingsListCall) Context(ctx context.Context) *OrganizationsSourcesFindingsListCall { 10852 c.ctx_ = ctx 10853 return c 10854 } 10855 10856 // Header returns a http.Header that can be modified by the caller to add 10857 // headers to the request. 10858 func (c *OrganizationsSourcesFindingsListCall) Header() http.Header { 10859 if c.header_ == nil { 10860 c.header_ = make(http.Header) 10861 } 10862 return c.header_ 10863 } 10864 10865 func (c *OrganizationsSourcesFindingsListCall) doRequest(alt string) (*http.Response, error) { 10866 reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) 10867 if c.ifNoneMatch_ != "" { 10868 reqHeaders.Set("If-None-Match", c.ifNoneMatch_) 10869 } 10870 var body io.Reader = nil 10871 c.urlParams_.Set("alt", alt) 10872 c.urlParams_.Set("prettyPrint", "false") 10873 urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/findings") 10874 urls += "?" + c.urlParams_.Encode() 10875 req, err := http.NewRequest("GET", urls, body) 10876 if err != nil { 10877 return nil, err 10878 } 10879 req.Header = reqHeaders 10880 googleapi.Expand(req.URL, map[string]string{ 10881 "parent": c.parent, 10882 }) 10883 return gensupport.SendRequest(c.ctx_, c.s.client, req) 10884 } 10885 10886 // Do executes the "securitycenter.organizations.sources.findings.list" call. 10887 // Any non-2xx status code is an error. Response headers are in either 10888 // *ListFindingsResponse.ServerResponse.Header or (if a response was returned 10889 // at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to 10890 // check whether the returned error was because http.StatusNotModified was 10891 // returned. 10892 func (c *OrganizationsSourcesFindingsListCall) Do(opts ...googleapi.CallOption) (*ListFindingsResponse, error) { 10893 gensupport.SetOptions(c.urlParams_, opts...) 10894 res, err := c.doRequest("json") 10895 if res != nil && res.StatusCode == http.StatusNotModified { 10896 if res.Body != nil { 10897 res.Body.Close() 10898 } 10899 return nil, gensupport.WrapError(&googleapi.Error{ 10900 Code: res.StatusCode, 10901 Header: res.Header, 10902 }) 10903 } 10904 if err != nil { 10905 return nil, err 10906 } 10907 defer googleapi.CloseBody(res) 10908 if err := googleapi.CheckResponse(res); err != nil { 10909 return nil, gensupport.WrapError(err) 10910 } 10911 ret := &ListFindingsResponse{ 10912 ServerResponse: googleapi.ServerResponse{ 10913 Header: res.Header, 10914 HTTPStatusCode: res.StatusCode, 10915 }, 10916 } 10917 target := &ret 10918 if err := gensupport.DecodeResponse(target, res); err != nil { 10919 return nil, err 10920 } 10921 return ret, nil 10922 } 10923 10924 // Pages invokes f for each page of results. 10925 // A non-nil error returned from f will halt the iteration. 10926 // The provided context supersedes any context provided to the Context method. 10927 func (c *OrganizationsSourcesFindingsListCall) Pages(ctx context.Context, f func(*ListFindingsResponse) error) error { 10928 c.ctx_ = ctx 10929 defer c.PageToken(c.urlParams_.Get("pageToken")) 10930 for { 10931 x, err := c.Do() 10932 if err != nil { 10933 return err 10934 } 10935 if err := f(x); err != nil { 10936 return err 10937 } 10938 if x.NextPageToken == "" { 10939 return nil 10940 } 10941 c.PageToken(x.NextPageToken) 10942 } 10943 } 10944 10945 type OrganizationsSourcesFindingsPatchCall struct { 10946 s *Service 10947 name string 10948 googlecloudsecuritycenterv1beta1finding *GoogleCloudSecuritycenterV1beta1Finding 10949 urlParams_ gensupport.URLParams 10950 ctx_ context.Context 10951 header_ http.Header 10952 } 10953 10954 // Patch: Creates or updates a finding. The corresponding source must exist for 10955 // a finding creation to succeed. 10956 // 10957 // - name: The relative resource name of this finding. See: 10958 // https://cloud.google.com/apis/design/resource_names#relative_resource_name 10959 // Example: 10960 // "organizations/{organization_id}/sources/{source_id}/findings/{finding_id}". 10961 func (r *OrganizationsSourcesFindingsService) Patch(name string, googlecloudsecuritycenterv1beta1finding *GoogleCloudSecuritycenterV1beta1Finding) *OrganizationsSourcesFindingsPatchCall { 10962 c := &OrganizationsSourcesFindingsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)} 10963 c.name = name 10964 c.googlecloudsecuritycenterv1beta1finding = googlecloudsecuritycenterv1beta1finding 10965 return c 10966 } 10967 10968 // UpdateMask sets the optional parameter "updateMask": The FieldMask to use 10969 // when updating the finding resource. This field should not be specified when 10970 // creating a finding. 10971 func (c *OrganizationsSourcesFindingsPatchCall) UpdateMask(updateMask string) *OrganizationsSourcesFindingsPatchCall { 10972 c.urlParams_.Set("updateMask", updateMask) 10973 return c 10974 } 10975 10976 // Fields allows partial responses to be retrieved. See 10977 // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more 10978 // details. 10979 func (c *OrganizationsSourcesFindingsPatchCall) Fields(s ...googleapi.Field) *OrganizationsSourcesFindingsPatchCall { 10980 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 10981 return c 10982 } 10983 10984 // Context sets the context to be used in this call's Do method. 10985 func (c *OrganizationsSourcesFindingsPatchCall) Context(ctx context.Context) *OrganizationsSourcesFindingsPatchCall { 10986 c.ctx_ = ctx 10987 return c 10988 } 10989 10990 // Header returns a http.Header that can be modified by the caller to add 10991 // headers to the request. 10992 func (c *OrganizationsSourcesFindingsPatchCall) Header() http.Header { 10993 if c.header_ == nil { 10994 c.header_ = make(http.Header) 10995 } 10996 return c.header_ 10997 } 10998 10999 func (c *OrganizationsSourcesFindingsPatchCall) doRequest(alt string) (*http.Response, error) { 11000 reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) 11001 var body io.Reader = nil 11002 body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudsecuritycenterv1beta1finding) 11003 if err != nil { 11004 return nil, err 11005 } 11006 c.urlParams_.Set("alt", alt) 11007 c.urlParams_.Set("prettyPrint", "false") 11008 urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}") 11009 urls += "?" + c.urlParams_.Encode() 11010 req, err := http.NewRequest("PATCH", urls, body) 11011 if err != nil { 11012 return nil, err 11013 } 11014 req.Header = reqHeaders 11015 googleapi.Expand(req.URL, map[string]string{ 11016 "name": c.name, 11017 }) 11018 return gensupport.SendRequest(c.ctx_, c.s.client, req) 11019 } 11020 11021 // Do executes the "securitycenter.organizations.sources.findings.patch" call. 11022 // Any non-2xx status code is an error. Response headers are in either 11023 // *GoogleCloudSecuritycenterV1beta1Finding.ServerResponse.Header or (if a 11024 // response was returned at all) in error.(*googleapi.Error).Header. Use 11025 // googleapi.IsNotModified to check whether the returned error was because 11026 // http.StatusNotModified was returned. 11027 func (c *OrganizationsSourcesFindingsPatchCall) Do(opts ...googleapi.CallOption) (*GoogleCloudSecuritycenterV1beta1Finding, error) { 11028 gensupport.SetOptions(c.urlParams_, opts...) 11029 res, err := c.doRequest("json") 11030 if res != nil && res.StatusCode == http.StatusNotModified { 11031 if res.Body != nil { 11032 res.Body.Close() 11033 } 11034 return nil, gensupport.WrapError(&googleapi.Error{ 11035 Code: res.StatusCode, 11036 Header: res.Header, 11037 }) 11038 } 11039 if err != nil { 11040 return nil, err 11041 } 11042 defer googleapi.CloseBody(res) 11043 if err := googleapi.CheckResponse(res); err != nil { 11044 return nil, gensupport.WrapError(err) 11045 } 11046 ret := &GoogleCloudSecuritycenterV1beta1Finding{ 11047 ServerResponse: googleapi.ServerResponse{ 11048 Header: res.Header, 11049 HTTPStatusCode: res.StatusCode, 11050 }, 11051 } 11052 target := &ret 11053 if err := gensupport.DecodeResponse(target, res); err != nil { 11054 return nil, err 11055 } 11056 return ret, nil 11057 } 11058 11059 type OrganizationsSourcesFindingsSetStateCall struct { 11060 s *Service 11061 name string 11062 setfindingstaterequest *SetFindingStateRequest 11063 urlParams_ gensupport.URLParams 11064 ctx_ context.Context 11065 header_ http.Header 11066 } 11067 11068 // SetState: Updates the state of a finding. 11069 // 11070 // - name: The relative resource name of the finding. See: 11071 // https://cloud.google.com/apis/design/resource_names#relative_resource_name 11072 // Example: 11073 // "organizations/{organization_id}/sources/{source_id}/finding/{finding_id}". 11074 func (r *OrganizationsSourcesFindingsService) SetState(name string, setfindingstaterequest *SetFindingStateRequest) *OrganizationsSourcesFindingsSetStateCall { 11075 c := &OrganizationsSourcesFindingsSetStateCall{s: r.s, urlParams_: make(gensupport.URLParams)} 11076 c.name = name 11077 c.setfindingstaterequest = setfindingstaterequest 11078 return c 11079 } 11080 11081 // Fields allows partial responses to be retrieved. See 11082 // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more 11083 // details. 11084 func (c *OrganizationsSourcesFindingsSetStateCall) Fields(s ...googleapi.Field) *OrganizationsSourcesFindingsSetStateCall { 11085 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 11086 return c 11087 } 11088 11089 // Context sets the context to be used in this call's Do method. 11090 func (c *OrganizationsSourcesFindingsSetStateCall) Context(ctx context.Context) *OrganizationsSourcesFindingsSetStateCall { 11091 c.ctx_ = ctx 11092 return c 11093 } 11094 11095 // Header returns a http.Header that can be modified by the caller to add 11096 // headers to the request. 11097 func (c *OrganizationsSourcesFindingsSetStateCall) Header() http.Header { 11098 if c.header_ == nil { 11099 c.header_ = make(http.Header) 11100 } 11101 return c.header_ 11102 } 11103 11104 func (c *OrganizationsSourcesFindingsSetStateCall) doRequest(alt string) (*http.Response, error) { 11105 reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) 11106 var body io.Reader = nil 11107 body, err := googleapi.WithoutDataWrapper.JSONReader(c.setfindingstaterequest) 11108 if err != nil { 11109 return nil, err 11110 } 11111 c.urlParams_.Set("alt", alt) 11112 c.urlParams_.Set("prettyPrint", "false") 11113 urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}:setState") 11114 urls += "?" + c.urlParams_.Encode() 11115 req, err := http.NewRequest("POST", urls, body) 11116 if err != nil { 11117 return nil, err 11118 } 11119 req.Header = reqHeaders 11120 googleapi.Expand(req.URL, map[string]string{ 11121 "name": c.name, 11122 }) 11123 return gensupport.SendRequest(c.ctx_, c.s.client, req) 11124 } 11125 11126 // Do executes the "securitycenter.organizations.sources.findings.setState" call. 11127 // Any non-2xx status code is an error. Response headers are in either 11128 // *GoogleCloudSecuritycenterV1beta1Finding.ServerResponse.Header or (if a 11129 // response was returned at all) in error.(*googleapi.Error).Header. Use 11130 // googleapi.IsNotModified to check whether the returned error was because 11131 // http.StatusNotModified was returned. 11132 func (c *OrganizationsSourcesFindingsSetStateCall) Do(opts ...googleapi.CallOption) (*GoogleCloudSecuritycenterV1beta1Finding, error) { 11133 gensupport.SetOptions(c.urlParams_, opts...) 11134 res, err := c.doRequest("json") 11135 if res != nil && res.StatusCode == http.StatusNotModified { 11136 if res.Body != nil { 11137 res.Body.Close() 11138 } 11139 return nil, gensupport.WrapError(&googleapi.Error{ 11140 Code: res.StatusCode, 11141 Header: res.Header, 11142 }) 11143 } 11144 if err != nil { 11145 return nil, err 11146 } 11147 defer googleapi.CloseBody(res) 11148 if err := googleapi.CheckResponse(res); err != nil { 11149 return nil, gensupport.WrapError(err) 11150 } 11151 ret := &GoogleCloudSecuritycenterV1beta1Finding{ 11152 ServerResponse: googleapi.ServerResponse{ 11153 Header: res.Header, 11154 HTTPStatusCode: res.StatusCode, 11155 }, 11156 } 11157 target := &ret 11158 if err := gensupport.DecodeResponse(target, res); err != nil { 11159 return nil, err 11160 } 11161 return ret, nil 11162 } 11163 11164 type OrganizationsSourcesFindingsUpdateSecurityMarksCall struct { 11165 s *Service 11166 name string 11167 googlecloudsecuritycenterv1beta1securitymarks *GoogleCloudSecuritycenterV1beta1SecurityMarks 11168 urlParams_ gensupport.URLParams 11169 ctx_ context.Context 11170 header_ http.Header 11171 } 11172 11173 // UpdateSecurityMarks: Updates security marks. 11174 // 11175 // - name: The relative resource name of the SecurityMarks. See: 11176 // https://cloud.google.com/apis/design/resource_names#relative_resource_name 11177 // Examples: 11178 // "organizations/{organization_id}/assets/{asset_id}/securityMarks" 11179 // "organizations/{organization_id}/sources/{source_id}/findings/{finding_id}/ 11180 // securityMarks". 11181 func (r *OrganizationsSourcesFindingsService) UpdateSecurityMarks(name string, googlecloudsecuritycenterv1beta1securitymarks *GoogleCloudSecuritycenterV1beta1SecurityMarks) *OrganizationsSourcesFindingsUpdateSecurityMarksCall { 11182 c := &OrganizationsSourcesFindingsUpdateSecurityMarksCall{s: r.s, urlParams_: make(gensupport.URLParams)} 11183 c.name = name 11184 c.googlecloudsecuritycenterv1beta1securitymarks = googlecloudsecuritycenterv1beta1securitymarks 11185 return c 11186 } 11187 11188 // StartTime sets the optional parameter "startTime": The time at which the 11189 // updated SecurityMarks take effect. 11190 func (c *OrganizationsSourcesFindingsUpdateSecurityMarksCall) StartTime(startTime string) *OrganizationsSourcesFindingsUpdateSecurityMarksCall { 11191 c.urlParams_.Set("startTime", startTime) 11192 return c 11193 } 11194 11195 // UpdateMask sets the optional parameter "updateMask": The FieldMask to use 11196 // when updating the security marks resource. 11197 func (c *OrganizationsSourcesFindingsUpdateSecurityMarksCall) UpdateMask(updateMask string) *OrganizationsSourcesFindingsUpdateSecurityMarksCall { 11198 c.urlParams_.Set("updateMask", updateMask) 11199 return c 11200 } 11201 11202 // Fields allows partial responses to be retrieved. See 11203 // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more 11204 // details. 11205 func (c *OrganizationsSourcesFindingsUpdateSecurityMarksCall) Fields(s ...googleapi.Field) *OrganizationsSourcesFindingsUpdateSecurityMarksCall { 11206 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 11207 return c 11208 } 11209 11210 // Context sets the context to be used in this call's Do method. 11211 func (c *OrganizationsSourcesFindingsUpdateSecurityMarksCall) Context(ctx context.Context) *OrganizationsSourcesFindingsUpdateSecurityMarksCall { 11212 c.ctx_ = ctx 11213 return c 11214 } 11215 11216 // Header returns a http.Header that can be modified by the caller to add 11217 // headers to the request. 11218 func (c *OrganizationsSourcesFindingsUpdateSecurityMarksCall) Header() http.Header { 11219 if c.header_ == nil { 11220 c.header_ = make(http.Header) 11221 } 11222 return c.header_ 11223 } 11224 11225 func (c *OrganizationsSourcesFindingsUpdateSecurityMarksCall) doRequest(alt string) (*http.Response, error) { 11226 reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) 11227 var body io.Reader = nil 11228 body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudsecuritycenterv1beta1securitymarks) 11229 if err != nil { 11230 return nil, err 11231 } 11232 c.urlParams_.Set("alt", alt) 11233 c.urlParams_.Set("prettyPrint", "false") 11234 urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}") 11235 urls += "?" + c.urlParams_.Encode() 11236 req, err := http.NewRequest("PATCH", urls, body) 11237 if err != nil { 11238 return nil, err 11239 } 11240 req.Header = reqHeaders 11241 googleapi.Expand(req.URL, map[string]string{ 11242 "name": c.name, 11243 }) 11244 return gensupport.SendRequest(c.ctx_, c.s.client, req) 11245 } 11246 11247 // Do executes the "securitycenter.organizations.sources.findings.updateSecurityMarks" call. 11248 // Any non-2xx status code is an error. Response headers are in either 11249 // *GoogleCloudSecuritycenterV1beta1SecurityMarks.ServerResponse.Header or (if 11250 // a response was returned at all) in error.(*googleapi.Error).Header. Use 11251 // googleapi.IsNotModified to check whether the returned error was because 11252 // http.StatusNotModified was returned. 11253 func (c *OrganizationsSourcesFindingsUpdateSecurityMarksCall) Do(opts ...googleapi.CallOption) (*GoogleCloudSecuritycenterV1beta1SecurityMarks, error) { 11254 gensupport.SetOptions(c.urlParams_, opts...) 11255 res, err := c.doRequest("json") 11256 if res != nil && res.StatusCode == http.StatusNotModified { 11257 if res.Body != nil { 11258 res.Body.Close() 11259 } 11260 return nil, gensupport.WrapError(&googleapi.Error{ 11261 Code: res.StatusCode, 11262 Header: res.Header, 11263 }) 11264 } 11265 if err != nil { 11266 return nil, err 11267 } 11268 defer googleapi.CloseBody(res) 11269 if err := googleapi.CheckResponse(res); err != nil { 11270 return nil, gensupport.WrapError(err) 11271 } 11272 ret := &GoogleCloudSecuritycenterV1beta1SecurityMarks{ 11273 ServerResponse: googleapi.ServerResponse{ 11274 Header: res.Header, 11275 HTTPStatusCode: res.StatusCode, 11276 }, 11277 } 11278 target := &ret 11279 if err := gensupport.DecodeResponse(target, res); err != nil { 11280 return nil, err 11281 } 11282 return ret, nil 11283 } 11284