...

Source file src/google.golang.org/api/securitycenter/v1beta1/securitycenter-gen.go

Documentation: google.golang.org/api/securitycenter/v1beta1

     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  

View as plain text