blob: 58610a3ec9eebfdb2fcc41290ca8d1336a55a025 [file]
// Copyright 2026 Google LLC.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
// Code generated file. DO NOT EDIT.
// Package threatintelligence provides access to the Threat Intelligence API.
//
// For product documentation, see: https://docs.cloud.google.com/threatintelligence/
//
// # Library status
//
// These client libraries are officially supported by Google. However, this
// library is considered complete and is in maintenance mode. This means
// that we will address critical bugs and security issues but will not add
// any new features.
//
// When possible, we recommend using our newer
// [Cloud Client Libraries for Go](https://pkg.go.dev/cloud.google.com/go)
// that are still actively being worked and iterated on.
//
// # Creating a client
//
// Usage example:
//
// import "google.golang.org/api/threatintelligence/v1beta"
// ...
// ctx := context.Background()
// threatintelligenceService, err := threatintelligence.NewService(ctx)
//
// In this example, Google Application Default Credentials are used for
// authentication. For information on how to create and obtain Application
// Default Credentials, see https://developers.google.com/identity/protocols/application-default-credentials.
//
// # Other authentication options
//
// To use an API key for authentication (note: some APIs do not support API
// keys), use [google.golang.org/api/option.WithAPIKey]:
//
// threatintelligenceService, err := threatintelligence.NewService(ctx, option.WithAPIKey("AIza..."))
//
// To use an OAuth token (e.g., a user token obtained via a three-legged OAuth
// flow, use [google.golang.org/api/option.WithTokenSource]:
//
// config := &oauth2.Config{...}
// // ...
// token, err := config.Exchange(ctx, ...)
// threatintelligenceService, err := threatintelligence.NewService(ctx, option.WithTokenSource(config.TokenSource(ctx, token)))
//
// See [google.golang.org/api/option.ClientOption] for details on options.
package threatintelligence // import "google.golang.org/api/threatintelligence/v1beta"
import (
"bytes"
"context"
"encoding/json"
"errors"
"fmt"
"io"
"log/slog"
"net/http"
"net/url"
"strconv"
"strings"
"github.com/googleapis/gax-go/v2/internallog"
googleapi "google.golang.org/api/googleapi"
internal "google.golang.org/api/internal"
gensupport "google.golang.org/api/internal/gensupport"
option "google.golang.org/api/option"
internaloption "google.golang.org/api/option/internaloption"
htransport "google.golang.org/api/transport/http"
)
// Always reference these packages, just in case the auto-generated code
// below doesn't.
var _ = bytes.NewBuffer
var _ = strconv.Itoa
var _ = fmt.Sprintf
var _ = json.NewDecoder
var _ = io.Copy
var _ = url.Parse
var _ = gensupport.MarshalJSON
var _ = googleapi.Version
var _ = errors.New
var _ = strings.Replace
var _ = context.Canceled
var _ = internaloption.WithDefaultEndpoint
var _ = internal.Version
var _ = internallog.New
const apiId = "threatintelligence:v1beta"
const apiName = "threatintelligence"
const apiVersion = "v1beta"
const basePath = "https://threatintelligence.googleapis.com/"
const basePathTemplate = "https://threatintelligence.UNIVERSE_DOMAIN/"
const mtlsBasePath = "https://threatintelligence.mtls.googleapis.com/"
// OAuth2 scopes used by this API.
const (
// See, edit, configure, and delete your Google Cloud data and see the email
// address for your Google Account.
CloudPlatformScope = "https://www.googleapis.com/auth/cloud-platform"
)
// NewService creates a new Service.
func NewService(ctx context.Context, opts ...option.ClientOption) (*Service, error) {
scopesOption := internaloption.WithDefaultScopes(
"https://www.googleapis.com/auth/cloud-platform",
)
// NOTE: prepend, so we don't override user-specified scopes.
opts = append([]option.ClientOption{scopesOption}, opts...)
opts = append(opts, internaloption.WithDefaultEndpoint(basePath))
opts = append(opts, internaloption.WithDefaultEndpointTemplate(basePathTemplate))
opts = append(opts, internaloption.WithDefaultMTLSEndpoint(mtlsBasePath))
opts = append(opts, internaloption.EnableNewAuthLibrary())
client, endpoint, err := htransport.NewClient(ctx, opts...)
if err != nil {
return nil, err
}
s := &Service{client: client, BasePath: basePath, logger: internaloption.GetLogger(opts)}
s.Projects = NewProjectsService(s)
if endpoint != "" {
s.BasePath = endpoint
}
return s, nil
}
// New creates a new Service. It uses the provided http.Client for requests.
//
// Deprecated: please use NewService instead.
// To provide a custom HTTP client, use option.WithHTTPClient.
// If you are using google.golang.org/api/googleapis/transport.APIKey, use option.WithAPIKey with NewService instead.
func New(client *http.Client) (*Service, error) {
if client == nil {
return nil, errors.New("client is nil")
}
return NewService(context.TODO(), option.WithHTTPClient(client))
}
type Service struct {
client *http.Client
logger *slog.Logger
BasePath string // API endpoint base URL
UserAgent string // optional additional User-Agent fragment
Projects *ProjectsService
}
func (s *Service) userAgent() string {
if s.UserAgent == "" {
return googleapi.UserAgent
}
return googleapi.UserAgent + " " + s.UserAgent
}
func NewProjectsService(s *Service) *ProjectsService {
rs := &ProjectsService{s: s}
rs.Alerts = NewProjectsAlertsService(s)
rs.Configurations = NewProjectsConfigurationsService(s)
rs.Findings = NewProjectsFindingsService(s)
return rs
}
type ProjectsService struct {
s *Service
Alerts *ProjectsAlertsService
Configurations *ProjectsConfigurationsService
Findings *ProjectsFindingsService
}
func NewProjectsAlertsService(s *Service) *ProjectsAlertsService {
rs := &ProjectsAlertsService{s: s}
rs.Documents = NewProjectsAlertsDocumentsService(s)
return rs
}
type ProjectsAlertsService struct {
s *Service
Documents *ProjectsAlertsDocumentsService
}
func NewProjectsAlertsDocumentsService(s *Service) *ProjectsAlertsDocumentsService {
rs := &ProjectsAlertsDocumentsService{s: s}
return rs
}
type ProjectsAlertsDocumentsService struct {
s *Service
}
func NewProjectsConfigurationsService(s *Service) *ProjectsConfigurationsService {
rs := &ProjectsConfigurationsService{s: s}
rs.Revisions = NewProjectsConfigurationsRevisionsService(s)
return rs
}
type ProjectsConfigurationsService struct {
s *Service
Revisions *ProjectsConfigurationsRevisionsService
}
func NewProjectsConfigurationsRevisionsService(s *Service) *ProjectsConfigurationsRevisionsService {
rs := &ProjectsConfigurationsRevisionsService{s: s}
return rs
}
type ProjectsConfigurationsRevisionsService struct {
s *Service
}
func NewProjectsFindingsService(s *Service) *ProjectsFindingsService {
rs := &ProjectsFindingsService{s: s}
return rs
}
type ProjectsFindingsService struct {
s *Service
}
// Alert: Stateful object representing a group of Findings. Key feature to an
// Alert is that it expresses the user's intent towards the findings of that
// group, even those that haven't occurred yet.
type Alert struct {
// AiSummary: Optional. AI summary of the alert.
AiSummary string `json:"aiSummary,omitempty"`
// Audit: Output only. Audit information for the alert.
Audit *Audit `json:"audit,omitempty"`
// Configurations: Output only. The resource names of the Configurations bound
// to this alert. Format: projects/{project}/configurations/{configuration}
Configurations []string `json:"configurations,omitempty"`
// Detail: Output only. Details object for the alert, not all alerts will have
// a details object.
Detail *AlertDetail `json:"detail,omitempty"`
// DisplayName: Output only. A short title for the alert.
DisplayName string `json:"displayName,omitempty"`
// DuplicateOf: Output only. alert name of the alert this alert is a duplicate
// of. Format: projects/{project}/alerts/{alert}
DuplicateOf string `json:"duplicateOf,omitempty"`
// DuplicatedBy: Output only. alert names of the alerts that are duplicates of
// this alert. Format: projects/{project}/alerts/{alert}
DuplicatedBy []string `json:"duplicatedBy,omitempty"`
// Etag: Optional. If included when updating an alert, this should be set to
// the current etag of the alert. If the etags do not match, the update will be
// rejected and an ABORTED error will be returned.
Etag string `json:"etag,omitempty"`
// ExternalId: Output only. External ID for the alert. This is used internally
// to provide protection against out of order updates.
ExternalId string `json:"externalId,omitempty"`
// FindingCount: Output only. The number of findings associated with this
// alert.
FindingCount int64 `json:"findingCount,omitempty,string"`
// Findings: Output only. Findings that are covered by this alert.
Findings []string `json:"findings,omitempty"`
// Name: Identifier. Server generated name for the alert. format is
// projects/{project}/alerts/{alert}
Name string `json:"name,omitempty"`
// PriorityAnalysis: Output only. High-Precision Priority Analysis for the
// alert.
PriorityAnalysis *PriorityAnalysis `json:"priorityAnalysis,omitempty"`
// RelevanceAnalysis: Output only. High-Precision Relevance Analysis verdict
// for the alert.
RelevanceAnalysis *RelevanceAnalysis `json:"relevanceAnalysis,omitempty"`
// SeverityAnalysis: Output only. High-Precision Severity Analysis for the
// alert.
SeverityAnalysis *SeverityAnalysis `json:"severityAnalysis,omitempty"`
// State: Output only. State of the alert.
//
// Possible values:
// "STATE_UNSPECIFIED" - Default value, should never be set.
// "NEW" - alert is new.
// "READ" - alert was read by a human.
// "TRIAGED" - alert has been triaged.
// "ESCALATED" - alert has been escalated.
// "RESOLVED" - alert has been resolved.
// "DUPLICATE" - alert is a duplicate of another alert.
// "FALSE_POSITIVE" - alert is a false positive and should be ignored.
// "NOT_ACTIONABLE" - alert is not actionable.
// "BENIGN" - alert is benign.
// "TRACKED_EXTERNALLY" - alert is tracked externally.
State string `json:"state,omitempty"`
// ServerResponse contains the HTTP response code and headers from the server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "AiSummary") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "AiSummary") to include in API
// requests with the JSON null value. By default, fields with empty values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s Alert) MarshalJSON() ([]byte, error) {
type NoMethod Alert
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// AlertDetail: Container for different types of alert details.
type AlertDetail struct {
// DataLeak: Data Leak alert detail type.
DataLeak *DataLeakAlertDetail `json:"dataLeak,omitempty"`
// DetailType: Output only. Name of the detail type. Will be set by the server
// during creation to the name of the field that is set in the detail union.
DetailType string `json:"detailType,omitempty"`
// InitialAccessBroker: Initial Access Broker alert detail type.
InitialAccessBroker *InitialAccessBrokerAlertDetail `json:"initialAccessBroker,omitempty"`
// InsiderThreat: Insider Threat alert detail type.
InsiderThreat *InsiderThreatAlertDetail `json:"insiderThreat,omitempty"`
// TargetTechnology: Technology Watchlist alert detail type.
TargetTechnology *TargetTechnologyAlertDetail `json:"targetTechnology,omitempty"`
// ForceSendFields is a list of field names (e.g. "DataLeak") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "DataLeak") to include in API
// requests with the JSON null value. By default, fields with empty values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s AlertDetail) MarshalJSON() ([]byte, error) {
type NoMethod AlertDetail
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// AlertDocument: A document that is associated with an alert.
type AlertDocument struct {
// AiSummary: Output only. AI summary of the document.
AiSummary string `json:"aiSummary,omitempty"`
// Author: Output only. The author of the document.
Author string `json:"author,omitempty"`
// CollectionTime: Output only. Time when the origin source collected the
// intel.
CollectionTime string `json:"collectionTime,omitempty"`
// Content: Output only. The content of the document.
Content string `json:"content,omitempty"`
// CreateTime: Output only. The timestamp of the original external publication
// of the document.
CreateTime string `json:"createTime,omitempty"`
// IngestTime: Output only. Time when GTI received the intel.
IngestTime string `json:"ingestTime,omitempty"`
// LanguageCode: Output only. The language code of the document.
LanguageCode string `json:"languageCode,omitempty"`
// Name: Identifier. Server generated name for the alert document. format is
// projects/{project}/alerts/{alert}/documents/{document}
Name string `json:"name,omitempty"`
// Source: Output only. Source of the intel item, e.g. DarkMarket.
Source string `json:"source,omitempty"`
// SourceUpdateTime: Output only. Time when the intel was last updated by the
// source.
SourceUpdateTime string `json:"sourceUpdateTime,omitempty"`
// SourceUri: Output only. URI of the intel item from the source.
SourceUri string `json:"sourceUri,omitempty"`
// Title: Output only. The title of the document, if available.
Title string `json:"title,omitempty"`
// Translation: Output only. The translation of the document, if available.
Translation *AlertDocumentTranslation `json:"translation,omitempty"`
// ServerResponse contains the HTTP response code and headers from the server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "AiSummary") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "AiSummary") to include in API
// requests with the JSON null value. By default, fields with empty values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s AlertDocument) MarshalJSON() ([]byte, error) {
type NoMethod AlertDocument
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// AlertDocumentTranslation: The translation of an alert document.
type AlertDocumentTranslation struct {
// TranslatedContent: Output only. The translated content of the document.
TranslatedContent string `json:"translatedContent,omitempty"`
// TranslatedTitle: Output only. The translated title of the document.
TranslatedTitle string `json:"translatedTitle,omitempty"`
// ForceSendFields is a list of field names (e.g. "TranslatedContent") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "TranslatedContent") to include in
// API requests with the JSON null value. By default, fields with empty values
// are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s AlertDocumentTranslation) MarshalJSON() ([]byte, error) {
type NoMethod AlertDocumentTranslation
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// Association: Represents an association with a vulnerability.
type Association struct {
// Id: Required. The ID of the association.
Id string `json:"id,omitempty"`
// Type: Required. The type of the association.
//
// Possible values:
// "THREAT_INTEL_OBJECT_TYPE_UNSPECIFIED" - Unspecified object type.
// "THREAT_INTEL_OBJECT_TYPE_THREAT_ACTOR" - Threat actor object type.
// "THREAT_INTEL_OBJECT_TYPE_MALWARE" - Malware object type.
// "THREAT_INTEL_OBJECT_TYPE_REPORT" - Report object type.
// "THREAT_INTEL_OBJECT_TYPE_CAMPAIGN" - Campaign object type.
// "THREAT_INTEL_OBJECT_TYPE_IOC_COLLECTION" - IoC Collection object type.
// "THREAT_INTEL_OBJECT_TYPE_SOFTWARE_AND_TOOLKITS" - Software and toolkits
// object type.
// "THREAT_INTEL_OBJECT_TYPE_VULNERABILITY" - Vulnerability object type.
Type string `json:"type,omitempty"`
// ForceSendFields is a list of field names (e.g. "Id") to unconditionally
// include in API requests. By default, fields with empty or default values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Id") to include in API requests
// with the JSON null value. By default, fields with empty values are omitted
// from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s Association) MarshalJSON() ([]byte, error) {
type NoMethod Association
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// Audit: Tracks basic CRUD facts.
type Audit struct {
// CreateTime: Output only. Time of creation.
CreateTime string `json:"createTime,omitempty"`
// Creator: Output only. Agent that created or updated the record, could be a
// UserId or a JobId.
Creator string `json:"creator,omitempty"`
// UpdateTime: Output only. Time of creation or last update.
UpdateTime string `json:"updateTime,omitempty"`
// Updater: Output only. Agent that last updated the record, could be a UserId
// or a JobId.
Updater string `json:"updater,omitempty"`
// ForceSendFields is a list of field names (e.g. "CreateTime") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "CreateTime") to include in API
// requests with the JSON null value. By default, fields with empty values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s Audit) MarshalJSON() ([]byte, error) {
type NoMethod Audit
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// Configuration: A configuration represents a behavior an engine should follow
// when producing new findings.
type Configuration struct {
// Audit: Output only. Audit information for the configuration.
Audit *Audit `json:"audit,omitempty"`
// Description: Optional. A description of the configuration.
Description string `json:"description,omitempty"`
// Detail: Required. Domain specific details for the configuration.
Detail *ConfigurationDetail `json:"detail,omitempty"`
// DisplayName: Output only. Human readable name for the configuration.
DisplayName string `json:"displayName,omitempty"`
// Etag: If included when updating a configuration, this should be set to the
// current etag of the configuration. If the etags do not match, the update
// will be rejected and an ABORTED error will be returned.
Etag string `json:"etag,omitempty"`
// Name: Identifier. Server generated name for the configuration. format is
// projects/{project}/configurations/{configuration}
Name string `json:"name,omitempty"`
// Provider: Required. Name of the service that provides the configuration.
Provider string `json:"provider,omitempty"`
// State: Optional. State of the configuration.
//
// Possible values:
// "STATE_UNSPECIFIED" - Configuration state is unspecified. This is not
// expected to occur.
// "ENABLED" - Configuration is enabled for the customer.
// "DISABLED" - Configuration is disabled for the customer.
// "DEPRECATED" - Configuration is deprecated, no new configs are allowed to
// be created.
State string `json:"state,omitempty"`
// Version: Optional. A user-manipulatable version. Does not adhere to a
// specific format
Version string `json:"version,omitempty"`
// ServerResponse contains the HTTP response code and headers from the server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "Audit") to unconditionally
// include in API requests. By default, fields with empty or default values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Audit") to include in API
// requests with the JSON null value. By default, fields with empty values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s Configuration) MarshalJSON() ([]byte, error) {
type NoMethod Configuration
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// ConfigurationDetail: Wrapper class that contains the union struct for all
// the various configuration detail specific classes.
type ConfigurationDetail struct {
// CustomThreatScenario: Custom Threat Scenario detail config.
CustomThreatScenario *CustomThreatScenarioConfig `json:"customThreatScenario,omitempty"`
// CustomerProfile: Customer Profile detail config.
CustomerProfile *CustomerProfileConfig `json:"customerProfile,omitempty"`
// DetailType: Output only. Name of the detail type. Will be set by the server
// during creation to the name of the field that is set in the detail union.
DetailType string `json:"detailType,omitempty"`
// DomainConfiguration: Domain Configuration detail config.
DomainConfiguration *DomainConfiguration `json:"domainConfiguration,omitempty"`
// TechnologyWatchlist: Technology Watchlist detail config.
TechnologyWatchlist *TechnologyWatchListConfig `json:"technologyWatchlist,omitempty"`
// ForceSendFields is a list of field names (e.g. "CustomThreatScenario") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "CustomThreatScenario") to include
// in API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s ConfigurationDetail) MarshalJSON() ([]byte, error) {
type NoMethod ConfigurationDetail
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// ConfigurationRevision: A ConfigurationRevision is a snapshot of a
// Configuration at a point in time. It is immutable.
type ConfigurationRevision struct {
// CreateTime: Output only. The time the Revision was created
CreateTime string `json:"createTime,omitempty"`
// Name: Identifier. The name of the ConfigurationRevision Format:
// projects//configurations//revisions/
Name string `json:"name,omitempty"`
// Snapshot: The snapshot of the configuration
Snapshot *Configuration `json:"snapshot,omitempty"`
// ForceSendFields is a list of field names (e.g. "CreateTime") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "CreateTime") to include in API
// requests with the JSON null value. By default, fields with empty values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s ConfigurationRevision) MarshalJSON() ([]byte, error) {
type NoMethod ConfigurationRevision
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// CustomThreatScenarioConfig: CustomThreatScenarioConfig represents a
// user-defined threat scenario configuration.
type CustomThreatScenarioConfig struct {
// CompiledLuceneQuery: Output only. The compiled Lucene query string.
CompiledLuceneQuery string `json:"compiledLuceneQuery,omitempty"`
// DocumentCondition: Required. The condition driving the scenario, stored as a
// stringified JSON. This is used to query/filter documents.
DocumentCondition string `json:"documentCondition,omitempty"`
// DocumentQuery: Optional. The query used to match documents.
DocumentQuery *DocumentQuery `json:"documentQuery,omitempty"`
// LegacyMonitorMetadata: Output only. Legacy metadata associated with this
// scenario/monitor.
LegacyMonitorMetadata *LegacyMetadata `json:"legacyMonitorMetadata,omitempty"`
// ForceSendFields is a list of field names (e.g. "CompiledLuceneQuery") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "CompiledLuceneQuery") to include
// in API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s CustomThreatScenarioConfig) MarshalJSON() ([]byte, error) {
type NoMethod CustomThreatScenarioConfig
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// CustomerProfileCitation: Citation information for the customer profile.
type CustomerProfileCitation struct {
// CitationId: Required. The citation id for the citation. Should be unique
// within the profile.
CitationId string `json:"citationId,omitempty"`
// Document: Required. The name of the document the citation is from.
Document string `json:"document,omitempty"`
// RetrievalTime: The time the citation was retrieved.
RetrievalTime string `json:"retrievalTime,omitempty"`
// Source: Required. The source of the citation.
Source string `json:"source,omitempty"`
// Uri: Optional. The url of the citation.
Uri string `json:"uri,omitempty"`
// ForceSendFields is a list of field names (e.g. "CitationId") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "CitationId") to include in API
// requests with the JSON null value. By default, fields with empty values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s CustomerProfileCitation) MarshalJSON() ([]byte, error) {
type NoMethod CustomerProfileCitation
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// CustomerProfileCitedString: A string with citation ids.
type CustomerProfileCitedString struct {
// CitationIds: Optional. The citation ids for the string.
CitationIds []string `json:"citationIds,omitempty"`
// Value: Required. The value of the string.
Value string `json:"value,omitempty"`
// ForceSendFields is a list of field names (e.g. "CitationIds") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "CitationIds") to include in API
// requests with the JSON null value. By default, fields with empty values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s CustomerProfileCitedString) MarshalJSON() ([]byte, error) {
type NoMethod CustomerProfileCitedString
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// CustomerProfileCompany: Company information for the customer profile.
type CustomerProfileCompany struct {
// CitationIds: Optional. The citation ids for the company.
CitationIds []string `json:"citationIds,omitempty"`
// Company: Required. The name of the company.
Company string `json:"company,omitempty"`
// ForceSendFields is a list of field names (e.g. "CitationIds") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "CitationIds") to include in API
// requests with the JSON null value. By default, fields with empty values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s CustomerProfileCompany) MarshalJSON() ([]byte, error) {
type NoMethod CustomerProfileCompany
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// CustomerProfileConfig: CustomerProfileConfig is the configuration for the
// customer profile.
type CustomerProfileConfig struct {
// Citations: Optional. Citations for the organization profile.
Citations []*CustomerProfileCitation `json:"citations,omitempty"`
// ContactInfo: Optional. Contact information for the organization.
ContactInfo []*CustomerProfileContactInfo `json:"contactInfo,omitempty"`
// Executives: Optional. Executives of the organization.
Executives []*CustomerProfilePerson `json:"executives,omitempty"`
// Industries: Optional. The industries the organization is involved in.
Industries []*CustomerProfileIndustry `json:"industries,omitempty"`
// Locations: Optional. Locations the organization is present or conducts
// business in.
Locations []*CustomerProfileLocation `json:"locations,omitempty"`
// Org: Required. The name of the organization.
Org string `json:"org,omitempty"`
// OrgSummary: Optional. A summary of the organization.
OrgSummary string `json:"orgSummary,omitempty"`
// ParentCompanies: Optional. The parent companies of the organization.
ParentCompanies []*CustomerProfileCompany `json:"parentCompanies,omitempty"`
// Products: Optional. Product information for the organization.
Products []*CustomerProfileProduct `json:"products,omitempty"`
// SecurityConsiderations: Optional. Security considerations for the
// organization.
SecurityConsiderations *CustomerProfileSecurityConsiderations `json:"securityConsiderations,omitempty"`
// Summary: Optional. A summarized version of the customer profile.
Summary *CustomerProfileSummary `json:"summary,omitempty"`
// TechnologyPresence: Optional. Technology presence of the organization.
TechnologyPresence string `json:"technologyPresence,omitempty"`
// WebPresences: Optional. Web presence of the organization.
WebPresences []*CustomerProfileWebPresence `json:"webPresences,omitempty"`
// ForceSendFields is a list of field names (e.g. "Citations") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Citations") to include in API
// requests with the JSON null value. By default, fields with empty values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s CustomerProfileConfig) MarshalJSON() ([]byte, error) {
type NoMethod CustomerProfileConfig
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// CustomerProfileContactInfo: Contact information for the customer profile.
type CustomerProfileContactInfo struct {
// Address: The address of the contact.
Address string `json:"address,omitempty"`
// CitationIds: Optional. The citation ids for the contact information.
CitationIds []string `json:"citationIds,omitempty"`
// Email: The email address of the contact.
Email string `json:"email,omitempty"`
// Label: Optional. The name of the contact.
Label string `json:"label,omitempty"`
// Other: The other contact information.
Other string `json:"other,omitempty"`
// Phone: The phone number of the contact.
Phone string `json:"phone,omitempty"`
// ForceSendFields is a list of field names (e.g. "Address") to unconditionally
// include in API requests. By default, fields with empty or default values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Address") to include in API
// requests with the JSON null value. By default, fields with empty values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s CustomerProfileContactInfo) MarshalJSON() ([]byte, error) {
type NoMethod CustomerProfileContactInfo
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// CustomerProfileIndustry: Industry information for the customer profile.
type CustomerProfileIndustry struct {
// CitationIds: Optional. The citation ids for the industry.
CitationIds []string `json:"citationIds,omitempty"`
// Industry: Required. The name of the industry.
Industry string `json:"industry,omitempty"`
// ForceSendFields is a list of field names (e.g. "CitationIds") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "CitationIds") to include in API
// requests with the JSON null value. By default, fields with empty values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s CustomerProfileIndustry) MarshalJSON() ([]byte, error) {
type NoMethod CustomerProfileIndustry
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// CustomerProfileLocation: Location information for the customer profile.
type CustomerProfileLocation struct {
// Address: Required. The address of the location.
Address string `json:"address,omitempty"`
// Brand: Required. The brand of the location.
Brand string `json:"brand,omitempty"`
// CitationIds: Optional. The citation ids for the location.
CitationIds []string `json:"citationIds,omitempty"`
// FacilityType: Optional. The type of location.
FacilityType string `json:"facilityType,omitempty"`
// ForceSendFields is a list of field names (e.g. "Address") to unconditionally
// include in API requests. By default, fields with empty or default values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Address") to include in API
// requests with the JSON null value. By default, fields with empty values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s CustomerProfileLocation) MarshalJSON() ([]byte, error) {
type NoMethod CustomerProfileLocation
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// CustomerProfilePerson: Person information for the customer profile.
type CustomerProfilePerson struct {
// CitationIds: Optional. The citation ids for the person.
CitationIds []string `json:"citationIds,omitempty"`
// Name: Required. The name of the person.
Name string `json:"name,omitempty"`
// Title: Optional. The title of the person.
Title string `json:"title,omitempty"`
// ForceSendFields is a list of field names (e.g. "CitationIds") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "CitationIds") to include in API
// requests with the JSON null value. By default, fields with empty values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s CustomerProfilePerson) MarshalJSON() ([]byte, error) {
type NoMethod CustomerProfilePerson
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// CustomerProfileProduct: Product information for the customer profile.
type CustomerProfileProduct struct {
// Brand: Required. The brand of the product.
Brand string `json:"brand,omitempty"`
// CitationIds: Optional. The citation ids for the product.
CitationIds []string `json:"citationIds,omitempty"`
// Product: Required. The name of the product.
Product string `json:"product,omitempty"`
// ForceSendFields is a list of field names (e.g. "Brand") to unconditionally
// include in API requests. By default, fields with empty or default values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Brand") to include in API
// requests with the JSON null value. By default, fields with empty values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s CustomerProfileProduct) MarshalJSON() ([]byte, error) {
type NoMethod CustomerProfileProduct
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// CustomerProfileSecurityConsiderations: Security considerations for the
// customer profile.
type CustomerProfileSecurityConsiderations struct {
// Considerations: Optional. A series of considerations for the security of the
// organization, such as "high risk of compromise" or "vulnerable to
// cyberbullying".
Considerations []string `json:"considerations,omitempty"`
// Note: Optional. A note about the security considerations.
Note string `json:"note,omitempty"`
// ForceSendFields is a list of field names (e.g. "Considerations") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Considerations") to include in
// API requests with the JSON null value. By default, fields with empty values
// are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s CustomerProfileSecurityConsiderations) MarshalJSON() ([]byte, error) {
type NoMethod CustomerProfileSecurityConsiderations
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// CustomerProfileSummary: A summarized version of the customer profile.
// Generated by the backend.
type CustomerProfileSummary struct {
// AreaServed: Optional. The area the customer serves.
AreaServed *CustomerProfileCitedString `json:"areaServed,omitempty"`
// Brands: Optional. A narrative summary of brands.
Brands *CustomerProfileCitedString `json:"brands,omitempty"`
// EntityType: Optional. The entity type of the customer.
EntityType *CustomerProfileCitedString `json:"entityType,omitempty"`
// Founded: Optional. The date the customer was founded.
Founded *CustomerProfileCitedString `json:"founded,omitempty"`
// Headquarters: Optional. The headquarters of the customer.
Headquarters *CustomerProfileCitedString `json:"headquarters,omitempty"`
// Industry: Optional. The industry the customer is in.
Industry *CustomerProfileCitedString `json:"industry,omitempty"`
// KeyPeopleSummary: Optional. A narrative summary of key people.
KeyPeopleSummary *CustomerProfileCitedString `json:"keyPeopleSummary,omitempty"`
// ParentCompany: Optional. The parent company of the customer.
ParentCompany *CustomerProfileCitedString `json:"parentCompany,omitempty"`
// PrimaryWebsite: Optional. The primary website of the customer.
PrimaryWebsite *CustomerProfileCitedString `json:"primaryWebsite,omitempty"`
// ProductsSummary: Optional. A narrative summary of products.
ProductsSummary *CustomerProfileCitedString `json:"productsSummary,omitempty"`
// ServicesSummary: Optional. A narrative summary of services.
ServicesSummary *CustomerProfileCitedString `json:"servicesSummary,omitempty"`
// Title: Optional. The official name of the customer.
Title *CustomerProfileCitedString `json:"title,omitempty"`
// ForceSendFields is a list of field names (e.g. "AreaServed") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "AreaServed") to include in API
// requests with the JSON null value. By default, fields with empty values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s CustomerProfileSummary) MarshalJSON() ([]byte, error) {
type NoMethod CustomerProfileSummary
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// CustomerProfileWebPresence: Web presence information for the customer
// profile.
type CustomerProfileWebPresence struct {
// CitationIds: Optional. The citation ids for the web presence.
CitationIds []string `json:"citationIds,omitempty"`
// Domain: Required. The domain name of the web presence.
Domain string `json:"domain,omitempty"`
// ForceSendFields is a list of field names (e.g. "CitationIds") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "CitationIds") to include in API
// requests with the JSON null value. By default, fields with empty values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s CustomerProfileWebPresence) MarshalJSON() ([]byte, error) {
type NoMethod CustomerProfileWebPresence
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// DataLeakAlertDetail: Captures the specific details of Data Leak alert.
type DataLeakAlertDetail struct {
// DiscoveryDocumentIds: Required. Array of ids to accommodate multiple
// discovery documents
DiscoveryDocumentIds []string `json:"discoveryDocumentIds,omitempty"`
// Severity: Required. The severity of the Data Leak alert. Allowed values are:
// * `LOW` * `MEDIUM` * `HIGH` * `CRITICAL`
Severity string `json:"severity,omitempty"`
// ForceSendFields is a list of field names (e.g. "DiscoveryDocumentIds") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "DiscoveryDocumentIds") to include
// in API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s DataLeakAlertDetail) MarshalJSON() ([]byte, error) {
type NoMethod DataLeakAlertDetail
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// DataLeakFindingDetail: A detail object for a Data Leak finding.
type DataLeakFindingDetail struct {
// DocumentId: Required. The unique identifier of the document that triggered
// the Data Leak finding. This ID can be used to retrieve the content of the
// document for further analysis.
DocumentId string `json:"documentId,omitempty"`
// MatchScore: Required. Reference to the match score of the Data Leak finding.
// This is a float value greater than 0 and less than or equal to 1 calculated
// by the matching engine based on the similarity of the document and the user
// provided configurations.
MatchScore float64 `json:"matchScore,omitempty"`
// Severity: Required. The severity of the Data Leak finding. This indicates
// the potential impact of the threat.
//
// Possible values:
// "SEVERITY_UNSPECIFIED" - Default value, should never be set.
// "LOW" - Low severity.
// "MEDIUM" - Medium severity.
// "HIGH" - High severity.
// "CRITICAL" - Critical severity.
Severity string `json:"severity,omitempty"`
// ForceSendFields is a list of field names (e.g. "DocumentId") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "DocumentId") to include in API
// requests with the JSON null value. By default, fields with empty values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s DataLeakFindingDetail) MarshalJSON() ([]byte, error) {
type NoMethod DataLeakFindingDetail
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
func (s *DataLeakFindingDetail) UnmarshalJSON(data []byte) error {
type NoMethod DataLeakFindingDetail
var s1 struct {
MatchScore gensupport.JSONFloat64 `json:"matchScore"`
*NoMethod
}
s1.NoMethod = (*NoMethod)(s)
if err := json.Unmarshal(data, &s1); err != nil {
return err
}
s.MatchScore = float64(s1.MatchScore)
return nil
}
// DocumentQuery: Represents a query to match documents.
type DocumentQuery struct {
// DataModel: Required. The data model to query against.
//
// Possible values:
// "DATA_MODEL_UNSPECIFIED" - Default value, should never be set.
// "DATA_MODEL_GTI" - GTI data model.
DataModel string `json:"dataModel,omitempty"`
// Query: Required. The query string.
Query string `json:"query,omitempty"`
// QueryType: Required. The type of query.
//
// Possible values:
// "QUERY_TYPE_UNSPECIFIED" - Default value, should never be set.
// "QUERY_TYPE_LUCENE" - Lucene query type.
QueryType string `json:"queryType,omitempty"`
// ForceSendFields is a list of field names (e.g. "DataModel") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "DataModel") to include in API
// requests with the JSON null value. By default, fields with empty values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s DocumentQuery) MarshalJSON() ([]byte, error) {
type NoMethod DocumentQuery
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// DomainConfiguration: Configuration holding settings for one or more
// monitored domains.
type DomainConfiguration struct {
// DomainSettings: Optional. A list of settings for individual domains.
DomainSettings []*DomainSetting `json:"domainSettings,omitempty"`
// ForceSendFields is a list of field names (e.g. "DomainSettings") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "DomainSettings") to include in
// API requests with the JSON null value. By default, fields with empty values
// are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s DomainConfiguration) MarshalJSON() ([]byte, error) {
type NoMethod DomainConfiguration
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// DomainMonitoringFeatureConfig: Specific configuration for the Domain
// Monitoring feature.
type DomainMonitoringFeatureConfig struct {
// Disabled: Optional. Whether the Domain Monitoring feature is disabled for
// the domain.
Disabled bool `json:"disabled,omitempty"`
// ForceSendFields is a list of field names (e.g. "Disabled") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Disabled") to include in API
// requests with the JSON null value. By default, fields with empty values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s DomainMonitoringFeatureConfig) MarshalJSON() ([]byte, error) {
type NoMethod DomainMonitoringFeatureConfig
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// DomainSetting: Feature settings and toggles for a single specific domain.
type DomainSetting struct {
// Domain: Required. The domain name to match against.
Domain string `json:"domain,omitempty"`
// DomainMonitoringConfig: Optional. If not present, Domain Monitoring is
// enabled.
DomainMonitoringConfig *DomainMonitoringFeatureConfig `json:"domainMonitoringConfig,omitempty"`
// State: Output only. The verification state of the domain.
//
// Possible values:
// "STATE_UNSPECIFIED" - Default value. This value is unused.
// "PENDING" - Verification is pending. The customer needs to add the TXT
// record.
// "VERIFIED" - Verification succeeded.
State string `json:"state,omitempty"`
// ForceSendFields is a list of field names (e.g. "Domain") to unconditionally
// include in API requests. By default, fields with empty or default values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Domain") to include in API
// requests with the JSON null value. By default, fields with empty values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s DomainSetting) MarshalJSON() ([]byte, error) {
type NoMethod DomainSetting
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// EnumerateAlertFacetsResponse: Response message for EnumerateAlertFacets.
type EnumerateAlertFacetsResponse struct {
// Facets: List of facets and the counts.
Facets []*Facet `json:"facets,omitempty"`
// ServerResponse contains the HTTP response code and headers from the server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "Facets") to unconditionally
// include in API requests. By default, fields with empty or default values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Facets") to include in API
// requests with the JSON null value. By default, fields with empty values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s EnumerateAlertFacetsResponse) MarshalJSON() ([]byte, error) {
type NoMethod EnumerateAlertFacetsResponse
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// Evidence: Details the evidence used to determine the relevance verdict.
type Evidence struct {
// CommonThemes: A list of semantic themes or concepts found to be common,
// related, or aligned between the sources, supporting the verdict.
CommonThemes []string `json:"commonThemes,omitempty"`
// DistinctThemes: A list of semantic themes or descriptions unique to one
// source or semantically distant.
DistinctThemes []string `json:"distinctThemes,omitempty"`
// ForceSendFields is a list of field names (e.g. "CommonThemes") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "CommonThemes") to include in API
// requests with the JSON null value. By default, fields with empty values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s Evidence) MarshalJSON() ([]byte, error) {
type NoMethod Evidence
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// Facet: Facet represents a sub element of a resource for filtering. The
// results from this method are used to populate the filterable facets in the
// UI.
type Facet struct {
// Facet: Name of the facet. This is also the string that needs to be used in
// the filtering expression.
Facet string `json:"facet,omitempty"`
// FacetCounts: List of counts for the facet (if categorical).
FacetCounts []*FacetCount `json:"facetCounts,omitempty"`
// FacetType: The type of the facet. Options include "string", "int", "float",
// "bool", "enum", "timestamp", "user" and are useful to show the right sort of
// UI controls when building a AIP-160 style filtering string.
FacetType string `json:"facetType,omitempty"`
// MaxValue: Max value of the facet stringified based on type. Will be
// populated and formatted the same as min_value.
MaxValue string `json:"maxValue,omitempty"`
// MinValue: Min value of the facet stringified based on type. This is only
// populated for facets that have a clear ordering, for types like enum it will
// be left empty. Timestamps will be formatted using RFC3339.
MinValue string `json:"minValue,omitempty"`
// TotalCount: Total number of records that contain this facet with ANY value.
TotalCount int64 `json:"totalCount,omitempty,string"`
// ForceSendFields is a list of field names (e.g. "Facet") to unconditionally
// include in API requests. By default, fields with empty or default values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Facet") to include in API
// requests with the JSON null value. By default, fields with empty values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s Facet) MarshalJSON() ([]byte, error) {
type NoMethod Facet
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// FacetCount: FacetCount represents a count of records with each facet value.
type FacetCount struct {
// Count: Count of records with the value.
Count int64 `json:"count,omitempty"`
// Value: Value of the facet stringified. Timestamps will be formatted using
// RFC3339.
Value string `json:"value,omitempty"`
// ForceSendFields is a list of field names (e.g. "Count") to unconditionally
// include in API requests. By default, fields with empty or default values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Count") to include in API
// requests with the JSON null value. By default, fields with empty values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s FacetCount) MarshalJSON() ([]byte, error) {
type NoMethod FacetCount
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// Finding: A ‘stateless’ and a point in time event that a check produced a
// result of interest.
type Finding struct {
// AiSummary: Optional. AI summary of the finding.
AiSummary string `json:"aiSummary,omitempty"`
// Alert: Optional. Name of the alert that this finding is bound to.
Alert string `json:"alert,omitempty"`
// Audit: Output only. Audit data about the finding.
Audit *Audit `json:"audit,omitempty"`
// Configurations: Optional. Configuration names that are bound to this
// finding.
Configurations []string `json:"configurations,omitempty"`
// Detail: Required. Holder of the domain specific details of the finding.
Detail *FindingDetail `json:"detail,omitempty"`
// DisplayName: Required. A short descriptive title for the finding <= 250
// chars. EX: "Actor 'baddy' offering $1000 for credentials of 'goodguy'".
DisplayName string `json:"displayName,omitempty"`
// Name: Identifier. Server generated name for the finding (leave clear during
// creation). Format: projects/{project}/findings/{finding}
Name string `json:"name,omitempty"`
// Provider: Required. Logical source of this finding (name of the sub-engine).
Provider string `json:"provider,omitempty"`
// RelevanceAnalysis: Output only. High-Precision Relevance Analysis verdict
// for the finding.
RelevanceAnalysis *RelevanceAnalysis `json:"relevanceAnalysis,omitempty"`
// ReoccurrenceTimes: Output only. When identical finding (same labels and same
// details) has re-occurred.
ReoccurrenceTimes []string `json:"reoccurrenceTimes,omitempty"`
// Severity: Optional. Deprecated: Use the `severity_analysis` field instead.
// Base severity score from the finding source.
Severity float64 `json:"severity,omitempty"`
// SeverityAnalysis: Output only. High-Precision Severity Analysis verdict for
// the finding.
SeverityAnalysis *SeverityAnalysis `json:"severityAnalysis,omitempty"`
// ServerResponse contains the HTTP response code and headers from the server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "AiSummary") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "AiSummary") to include in API
// requests with the JSON null value. By default, fields with empty values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s Finding) MarshalJSON() ([]byte, error) {
type NoMethod Finding
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
func (s *Finding) UnmarshalJSON(data []byte) error {
type NoMethod Finding
var s1 struct {
Severity gensupport.JSONFloat64 `json:"severity"`
*NoMethod
}
s1.NoMethod = (*NoMethod)(s)
if err := json.Unmarshal(data, &s1); err != nil {
return err
}
s.Severity = float64(s1.Severity)
return nil
}
// FindingDetail: Wrapper class that contains the union struct for all the
// various findings detail specific classes.
type FindingDetail struct {
// DataLeak: Data Leak finding detail type.
DataLeak *DataLeakFindingDetail `json:"dataLeak,omitempty"`
// DetailType: Output only. Name of the detail type. Will be set by the server
// during creation to the name of the field that is set in the detail union.
DetailType string `json:"detailType,omitempty"`
// InitialAccessBroker: Initial Access Broker finding detail type.
InitialAccessBroker *InitialAccessBrokerFindingDetail `json:"initialAccessBroker,omitempty"`
// InsiderThreat: Insider Threat finding detail type.
InsiderThreat *InsiderThreatFindingDetail `json:"insiderThreat,omitempty"`
// TargetTechnology: Technology Watchlist finding detail type.
TargetTechnology *TargetTechnologyFindingDetail `json:"targetTechnology,omitempty"`
// ForceSendFields is a list of field names (e.g. "DataLeak") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "DataLeak") to include in API
// requests with the JSON null value. By default, fields with empty values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s FindingDetail) MarshalJSON() ([]byte, error) {
type NoMethod FindingDetail
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// GenerateOrgProfileConfigurationRequest: Request message for
// GenerateOrgProfileConfiguration.
type GenerateOrgProfileConfigurationRequest struct {
// DisplayName: Required. The display name of the organization to generate the
// profile for.
DisplayName string `json:"displayName,omitempty"`
// Domain: Required. The domain of the organization to generate the profile
// for.
Domain string `json:"domain,omitempty"`
// ForceSendFields is a list of field names (e.g. "DisplayName") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "DisplayName") to include in API
// requests with the JSON null value. By default, fields with empty values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s GenerateOrgProfileConfigurationRequest) MarshalJSON() ([]byte, error) {
type NoMethod GenerateOrgProfileConfigurationRequest
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// GetPasswordResponse: Response message for GetPassword.
type GetPasswordResponse struct {
// Password: The decrypted cleartext password for the compromised credential.
Password string `json:"password,omitempty"`
// ServerResponse contains the HTTP response code and headers from the server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "Password") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Password") to include in API
// requests with the JSON null value. By default, fields with empty values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s GetPasswordResponse) MarshalJSON() ([]byte, error) {
type NoMethod GetPasswordResponse
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// InitialAccessBrokerAlertDetail: Captures the specific details of
// InitialAccessBroker (IAB) alert.
type InitialAccessBrokerAlertDetail struct {
// DiscoveryDocumentIds: Required. Array of ids to accommodate multiple
// discovery documents
DiscoveryDocumentIds []string `json:"discoveryDocumentIds,omitempty"`
// Severity: Required. The severity of the Initial Access Broker (IAB) alert.
// Allowed values are: * `LOW` * `MEDIUM` * `HIGH` * `CRITICAL`
Severity string `json:"severity,omitempty"`
// ForceSendFields is a list of field names (e.g. "DiscoveryDocumentIds") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "DiscoveryDocumentIds") to include
// in API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s InitialAccessBrokerAlertDetail) MarshalJSON() ([]byte, error) {
type NoMethod InitialAccessBrokerAlertDetail
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// InitialAccessBrokerFindingDetail: A detail object for an Initial Access
// Broker (IAB) finding.
type InitialAccessBrokerFindingDetail struct {
// DocumentId: Required. The unique identifier of the document that triggered
// the IAB finding. This ID can be used to retrieve the content of the document
// for further analysis.
DocumentId string `json:"documentId,omitempty"`
// MatchScore: Required. Reference to the match score of the IAB finding. This
// is a float value between 0 and 1 calculated by the matching engine based on
// the similarity of the document and the user provided configurations.
MatchScore float64 `json:"matchScore,omitempty"`
// Severity: Required. The severity of the IAB finding. This indicates the
// potential impact of the threat.
//
// Possible values:
// "SEVERITY_UNSPECIFIED"
// "LOW"
// "MEDIUM"
// "HIGH"
// "CRITICAL"
Severity string `json:"severity,omitempty"`
// ForceSendFields is a list of field names (e.g. "DocumentId") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "DocumentId") to include in API
// requests with the JSON null value. By default, fields with empty values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s InitialAccessBrokerFindingDetail) MarshalJSON() ([]byte, error) {
type NoMethod InitialAccessBrokerFindingDetail
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
func (s *InitialAccessBrokerFindingDetail) UnmarshalJSON(data []byte) error {
type NoMethod InitialAccessBrokerFindingDetail
var s1 struct {
MatchScore gensupport.JSONFloat64 `json:"matchScore"`
*NoMethod
}
s1.NoMethod = (*NoMethod)(s)
if err := json.Unmarshal(data, &s1); err != nil {
return err
}
s.MatchScore = float64(s1.MatchScore)
return nil
}
// InsiderThreatAlertDetail: Captures the specific details of InsiderThreat
// alert.
type InsiderThreatAlertDetail struct {
// DiscoveryDocumentIds: Required. Array of ids to accommodate multiple
// discovery documents
DiscoveryDocumentIds []string `json:"discoveryDocumentIds,omitempty"`
// Severity: Required. The severity of the Insider Threat alert. Allowed values
// are: * `LOW` * `MEDIUM` * `HIGH` * `CRITICAL`
Severity string `json:"severity,omitempty"`
// ForceSendFields is a list of field names (e.g. "DiscoveryDocumentIds") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "DiscoveryDocumentIds") to include
// in API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s InsiderThreatAlertDetail) MarshalJSON() ([]byte, error) {
type NoMethod InsiderThreatAlertDetail
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// InsiderThreatFindingDetail: A detail object for a InsiderThreat finding.
type InsiderThreatFindingDetail struct {
// DocumentId: Required. The unique identifier of the document that triggered
// the InsiderThreat finding. This ID can be used to retrieve the content of
// the document for further analysis.
DocumentId string `json:"documentId,omitempty"`
// MatchScore: Required. Reference to the match score of the InsiderThreat
// finding. This is a float value greater than 0 and less than or equal to 1
// calculated by the matching engine based on the similarity of the document
// and the user provided configurations.
MatchScore float64 `json:"matchScore,omitempty"`
// Severity: Required. The severity of the InsiderThreat finding. This
// indicates the potential impact of the threat.
//
// Possible values:
// "SEVERITY_UNSPECIFIED" - Default value, should never be set.
// "LOW" - Low severity.
// "MEDIUM" - Medium severity.
// "HIGH" - High severity.
// "CRITICAL" - Critical severity.
Severity string `json:"severity,omitempty"`
// ForceSendFields is a list of field names (e.g. "DocumentId") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "DocumentId") to include in API
// requests with the JSON null value. By default, fields with empty values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s InsiderThreatFindingDetail) MarshalJSON() ([]byte, error) {
type NoMethod InsiderThreatFindingDetail
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
func (s *InsiderThreatFindingDetail) UnmarshalJSON(data []byte) error {
type NoMethod InsiderThreatFindingDetail
var s1 struct {
MatchScore gensupport.JSONFloat64 `json:"matchScore"`
*NoMethod
}
s1.NoMethod = (*NoMethod)(s)
if err := json.Unmarshal(data, &s1); err != nil {
return err
}
s.MatchScore = float64(s1.MatchScore)
return nil
}
// LegacyMetadata: Legacy metadata associated with this scenario/monitor.
type LegacyMetadata struct {
// AggregationEnabled: Output only. Whether aggregation is enabled for alerts
// from this monitor.
AggregationEnabled bool `json:"aggregationEnabled,omitempty"`
// AggregationSimilarity: Output only. Similarity threshold for aggregation.
AggregationSimilarity float64 `json:"aggregationSimilarity,omitempty"`
// ConditionVersion: Output only. Version of the condition schema.
ConditionVersion int64 `json:"conditionVersion,omitempty"`
// CreatorUserId: Output only. User ID who created the monitor.
CreatorUserId string `json:"creatorUserId,omitempty"`
// Description: Output only. Description of the legacy monitor.
Description string `json:"description,omitempty"`
// DisabledCode: Output only. Code indicating why the monitor is disabled (if
// applicable).
DisabledCode string `json:"disabledCode,omitempty"`
// DisabledReason: Output only. Reason why the monitor is disabled (if
// applicable).
DisabledReason string `json:"disabledReason,omitempty"`
// DisplayName: Output only. Name of the legacy monitor.
DisplayName string `json:"displayName,omitempty"`
// EmailNotificationEnabled: Output only. Deprecated: Whether email
// notifications are enabled. This field will not be used as email
// notifications are handled through the GTI Mail Hub.
EmailNotificationEnabled bool `json:"emailNotificationEnabled,omitempty"`
// EmailNotificationImmediate: Output only. Deprecated: Whether email
// notifications are intermediate/immediate. This field will not be used as
// email notifications are handled through the GTI Mail Hub.
EmailNotificationImmediate bool `json:"emailNotificationImmediate,omitempty"`
// LegacyMonitorId: Output only. Unique identifier of the legacy monitor.
LegacyMonitorId string `json:"legacyMonitorId,omitempty"`
// StaleTime: Output only. Time the legacy monitor was considered stale.
StaleTime string `json:"staleTime,omitempty"`
// TemplateId: Output only. ID of the template this monitor was created from.
TemplateId string `json:"templateId,omitempty"`
// TenantId: Output only. ID of the tenant owning the monitor.
TenantId string `json:"tenantId,omitempty"`
// UpdaterUserId: Output only. User ID who last updated the monitor.
UpdaterUserId string `json:"updaterUserId,omitempty"`
// Version: Output only. Version of the monitor configuration.
Version int64 `json:"version,omitempty"`
// ForceSendFields is a list of field names (e.g. "AggregationEnabled") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "AggregationEnabled") to include
// in API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s LegacyMetadata) MarshalJSON() ([]byte, error) {
type NoMethod LegacyMetadata
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
func (s *LegacyMetadata) UnmarshalJSON(data []byte) error {
type NoMethod LegacyMetadata
var s1 struct {
AggregationSimilarity gensupport.JSONFloat64 `json:"aggregationSimilarity"`
*NoMethod
}
s1.NoMethod = (*NoMethod)(s)
if err := json.Unmarshal(data, &s1); err != nil {
return err
}
s.AggregationSimilarity = float64(s1.AggregationSimilarity)
return nil
}
// ListAlertsResponse: Response message for ListAlerts.
type ListAlertsResponse struct {
// Alerts: List of alerts.
Alerts []*Alert `json:"alerts,omitempty"`
// NextPageToken: Page token.
NextPageToken string `json:"nextPageToken,omitempty"`
// ServerResponse contains the HTTP response code and headers from the server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "Alerts") to unconditionally
// include in API requests. By default, fields with empty or default values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Alerts") to include in API
// requests with the JSON null value. By default, fields with empty values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s ListAlertsResponse) MarshalJSON() ([]byte, error) {
type NoMethod ListAlertsResponse
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// ListConfigurationRevisionsResponse: Response message for
// ListConfigurationRevisions.
type ListConfigurationRevisionsResponse struct {
// NextPageToken: A token, which can be sent as `page_token` to retrieve the
// next page. If this field is omitted, there are no subsequent pages.
NextPageToken string `json:"nextPageToken,omitempty"`
// Revisions: The Configuration Revisions associated with the specified
// Configuration
Revisions []*ConfigurationRevision `json:"revisions,omitempty"`
// ServerResponse contains the HTTP response code and headers from the server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "NextPageToken") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "NextPageToken") to include in API
// requests with the JSON null value. By default, fields with empty values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s ListConfigurationRevisionsResponse) MarshalJSON() ([]byte, error) {
type NoMethod ListConfigurationRevisionsResponse
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// ListConfigurationsResponse: Response message for ListConfigurations.
type ListConfigurationsResponse struct {
// Configurations: List of configurations.
Configurations []*Configuration `json:"configurations,omitempty"`
// NextPageToken: Page token.
NextPageToken string `json:"nextPageToken,omitempty"`
// ServerResponse contains the HTTP response code and headers from the server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "Configurations") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Configurations") to include in
// API requests with the JSON null value. By default, fields with empty values
// are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s ListConfigurationsResponse) MarshalJSON() ([]byte, error) {
type NoMethod ListConfigurationsResponse
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// ListFindingsResponse: Response message for ListFindings.
type ListFindingsResponse struct {
// Findings: List of findings.
Findings []*Finding `json:"findings,omitempty"`
// NextPageToken: Page token.
NextPageToken string `json:"nextPageToken,omitempty"`
// ServerResponse contains the HTTP response code and headers from the server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "Findings") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Findings") to include in API
// requests with the JSON null value. By default, fields with empty values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s ListFindingsResponse) MarshalJSON() ([]byte, error) {
type NoMethod ListFindingsResponse
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// MarkAlertAsBenignRequest: Request message for MarkAlertAsBenign.
type MarkAlertAsBenignRequest struct {
}
// MarkAlertAsDuplicateRequest: Request message for MarkAlertAsDuplicate.
type MarkAlertAsDuplicateRequest struct {
// DuplicateOf: Optional. Name of the alert to mark as a duplicate of. Format:
// projects/{project}/alerts/{alert}
DuplicateOf string `json:"duplicateOf,omitempty"`
// ForceSendFields is a list of field names (e.g. "DuplicateOf") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "DuplicateOf") to include in API
// requests with the JSON null value. By default, fields with empty values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s MarkAlertAsDuplicateRequest) MarshalJSON() ([]byte, error) {
type NoMethod MarkAlertAsDuplicateRequest
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// MarkAlertAsEscalatedRequest: Request message for MarkAlertAsEscalated.
type MarkAlertAsEscalatedRequest struct {
}
// MarkAlertAsFalsePositiveRequest: Request message for
// MarkAlertAsFalsePositive.
type MarkAlertAsFalsePositiveRequest struct {
}
// MarkAlertAsNotActionableRequest: Request message for
// MarkAlertAsNotActionable.
type MarkAlertAsNotActionableRequest struct {
}
// MarkAlertAsReadRequest: Request message for MarkAlertAsRead.
type MarkAlertAsReadRequest struct {
}
// MarkAlertAsResolvedRequest: Request message for MarkAlertAsResolved.
type MarkAlertAsResolvedRequest struct {
}
// MarkAlertAsTrackedExternallyRequest: Request message for
// MarkAlertAsTrackedExternally.
type MarkAlertAsTrackedExternallyRequest struct {
}
// MarkAlertAsTriagedRequest: Request message for MarkAlertAsTriaged.
type MarkAlertAsTriagedRequest struct {
}
// Operation: This resource represents a long-running operation that is the
// result of a network API call.
type Operation struct {
// Done: If the value is `false`, it means the operation is still in progress.
// If `true`, the operation is completed, and either `error` or `response` is
// available.
Done bool `json:"done,omitempty"`
// Error: The error result of the operation in case of failure or cancellation.
Error *Status `json:"error,omitempty"`
// Metadata: Service-specific metadata associated with the operation. It
// typically contains progress information and common metadata such as create
// time. Some services might not provide such metadata. Any method that returns
// a long-running operation should document the metadata type, if any.
Metadata googleapi.RawMessage `json:"metadata,omitempty"`
// Name: The server-assigned name, which is only unique within the same service
// that originally returns it. If you use the default HTTP mapping, the `name`
// should be a resource name ending with `operations/{unique_id}`.
Name string `json:"name,omitempty"`
// Response: The normal, successful response of the operation. If the original
// method returns no data on success, such as `Delete`, the response is
// `google.protobuf.Empty`. If the original method is standard
// `Get`/`Create`/`Update`, the response should be the resource. For other
// methods, the response should have the type `XxxResponse`, where `Xxx` is the
// original method name. For example, if the original method name is
// `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.
Response googleapi.RawMessage `json:"response,omitempty"`
// ServerResponse contains the HTTP response code and headers from the server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "Done") to unconditionally
// include in API requests. By default, fields with empty or default values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Done") to include in API requests
// with the JSON null value. By default, fields with empty values are omitted
// from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s Operation) MarshalJSON() ([]byte, error) {
type NoMethod Operation
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// PriorityAnalysis: Structured priority analysis for a threat.
type PriorityAnalysis struct {
// Confidence: The level of confidence in the given verdict.
//
// Possible values:
// "CONFIDENCE_LEVEL_UNSPECIFIED" - Default value. Confidence level is not
// specified.
// "CONFIDENCE_LEVEL_LOW" - Low confidence in the verdict.
// "CONFIDENCE_LEVEL_MEDIUM" - Medium confidence in the verdict.
// "CONFIDENCE_LEVEL_HIGH" - High confidence in the verdict.
Confidence string `json:"confidence,omitempty"`
// PriorityLevel: The level of Priority.
//
// Possible values:
// "PRIORITY_LEVEL_UNSPECIFIED" - Default value, should never be set.
// "PRIORITY_LEVEL_LOW" - Low Priority.
// "PRIORITY_LEVEL_MEDIUM" - Medium Priority.
// "PRIORITY_LEVEL_HIGH" - High Priority.
// "PRIORITY_LEVEL_CRITICAL" - Critical Priority.
PriorityLevel string `json:"priorityLevel,omitempty"`
// Reasoning: Human-readable explanation from the model, detailing why a
// particular result is considered to have a certain priority.
Reasoning string `json:"reasoning,omitempty"`
// ForceSendFields is a list of field names (e.g. "Confidence") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Confidence") to include in API
// requests with the JSON null value. By default, fields with empty values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s PriorityAnalysis) MarshalJSON() ([]byte, error) {
type NoMethod PriorityAnalysis
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// ProductFix: Contains details about a product fix.
type ProductFix struct {
// DisplayName: Required. The name of the fix. Ex: "Magento".
DisplayName string `json:"displayName,omitempty"`
// PublishTime: Optional. The published time of the fix.
PublishTime string `json:"publishTime,omitempty"`
// SourceId: Required. The source ID of the fix. Ex: "APPSEC-1420".
SourceId string `json:"sourceId,omitempty"`
// Uri: Optional. The URI of the fix.
Uri string `json:"uri,omitempty"`
// ForceSendFields is a list of field names (e.g. "DisplayName") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "DisplayName") to include in API
// requests with the JSON null value. By default, fields with empty values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s ProductFix) MarshalJSON() ([]byte, error) {
type NoMethod ProductFix
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// PublicExploit: Contains details about a public exploit.
type PublicExploit struct {
// ExploitGrade: Optional. The grade of the exploit. Ex: "non-weaponized".
//
// Possible values:
// "EXPLOIT_GRADE_UNSPECIFIED" - Unspecified exploit grade.
// "UNEVALUATED" - Unevaluated exploit grade.
// "PROOF_OF_CONCEPT" - Proof-of-concept exploit grade.
// "NON_WEAPONIZED" - Non-weaponized exploit grade.
// "WEAPONIZED" - Weaponized exploit grade.
// "SCANNER" - Scanner exploit grade.
// "FAKE" - Fake exploit grade.
ExploitGrade string `json:"exploitGrade,omitempty"`
// ExploitName: Required. The name of the exploit. Ex: "Magentounauth.php.txt".
ExploitName string `json:"exploitName,omitempty"`
// ExploitReliability: Optional. The reliability of the exploit. Ex:
// "Unreviewed".
//
// Possible values:
// "EXPLOIT_RELIABILITY_UNSPECIFIED" - Unspecified exploit reliability.
// "UNREVIEWED" - Confirmed exploit reliability.
// "REVIEWED" - Uncorroborated exploit reliability.
// "TESTED" - Unconfirmed exploit reliability.
ExploitReliability string `json:"exploitReliability,omitempty"`
// ReleaseTime: Optional. The release time of the exploit.
ReleaseTime string `json:"releaseTime,omitempty"`
// SizeBytes: Optional. The size of the exploit.
SizeBytes int64 `json:"sizeBytes,omitempty,string"`
// Uri: Optional. The URI of the exploit.
Uri string `json:"uri,omitempty"`
// ForceSendFields is a list of field names (e.g. "ExploitGrade") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "ExploitGrade") to include in API
// requests with the JSON null value. By default, fields with empty values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s PublicExploit) MarshalJSON() ([]byte, error) {
type NoMethod PublicExploit
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// RelevanceAnalysis: Structured relevance analysis for a threat.
type RelevanceAnalysis struct {
// Confidence: The level of confidence in the given verdict.
//
// Possible values:
// "CONFIDENCE_LEVEL_UNSPECIFIED" - Default value. Confidence level is not
// specified.
// "CONFIDENCE_LEVEL_LOW" - Low confidence in the verdict.
// "CONFIDENCE_LEVEL_MEDIUM" - Medium confidence in the verdict.
// "CONFIDENCE_LEVEL_HIGH" - High confidence in the verdict.
Confidence string `json:"confidence,omitempty"`
// Evidence: Evidence supporting the verdict, including matched and unmatched
// items.
Evidence *Evidence `json:"evidence,omitempty"`
// Reasoning: Human-readable explanation from the matcher, detailing why a
// particular result is considered relevant or not relevant.
Reasoning string `json:"reasoning,omitempty"`
// RelevanceLevel: The level of relevance.
//
// Possible values:
// "RELEVANCE_LEVEL_UNSPECIFIED" - Default value, should never be set.
// "RELEVANCE_LEVEL_LOW" - Low Relevance.
// "RELEVANCE_LEVEL_MEDIUM" - Medium Relevance.
// "RELEVANCE_LEVEL_HIGH" - High Relevance.
RelevanceLevel string `json:"relevanceLevel,omitempty"`
// Relevant: Indicates whether the threat is considered relevant.
Relevant bool `json:"relevant,omitempty"`
// ForceSendFields is a list of field names (e.g. "Confidence") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Confidence") to include in API
// requests with the JSON null value. By default, fields with empty values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s RelevanceAnalysis) MarshalJSON() ([]byte, error) {
type NoMethod RelevanceAnalysis
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// SearchFindingsResponse: Response message for SearchFindings.
type SearchFindingsResponse struct {
// Findings: List of findings.
Findings []*Finding `json:"findings,omitempty"`
// NextPageToken: Page token.
NextPageToken string `json:"nextPageToken,omitempty"`
// ServerResponse contains the HTTP response code and headers from the server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "Findings") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Findings") to include in API
// requests with the JSON null value. By default, fields with empty values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s SearchFindingsResponse) MarshalJSON() ([]byte, error) {
type NoMethod SearchFindingsResponse
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// SeverityAnalysis: Structured severity analysis for a threat.
type SeverityAnalysis struct {
// Confidence: The level of confidence in the given verdict.
//
// Possible values:
// "CONFIDENCE_LEVEL_UNSPECIFIED" - Default value. Confidence level is not
// specified.
// "CONFIDENCE_LEVEL_LOW" - Low confidence in the verdict.
// "CONFIDENCE_LEVEL_MEDIUM" - Medium confidence in the verdict.
// "CONFIDENCE_LEVEL_HIGH" - High confidence in the verdict.
Confidence string `json:"confidence,omitempty"`
// Reasoning: Human-readable explanation from the model, detailing why a
// particular result is considered to have a certain severity.
Reasoning string `json:"reasoning,omitempty"`
// SeverityLevel: The level of severity.
//
// Possible values:
// "SEVERITY_LEVEL_UNSPECIFIED" - Default value, should never be set.
// "SEVERITY_LEVEL_LOW" - Low Severity.
// "SEVERITY_LEVEL_MEDIUM" - Medium Severity.
// "SEVERITY_LEVEL_HIGH" - High Severity.
SeverityLevel string `json:"severityLevel,omitempty"`
// ForceSendFields is a list of field names (e.g. "Confidence") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Confidence") to include in API
// requests with the JSON null value. By default, fields with empty values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s SeverityAnalysis) MarshalJSON() ([]byte, error) {
type NoMethod SeverityAnalysis
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// Status: The `Status` type defines a logical error model that is suitable for
// different programming environments, including REST APIs and RPC APIs. It is
// used by gRPC (https://github.com/grpc). Each `Status` message contains three
// pieces of data: error code, error message, and error details. You can find
// out more about this error model and how to work with it in the API Design
// Guide (https://cloud.google.com/apis/design/errors).
type Status struct {
// Code: The status code, which should be an enum value of google.rpc.Code.
Code int64 `json:"code,omitempty"`
// Details: A list of messages that carry the error details. There is a common
// set of message types for APIs to use.
Details []googleapi.RawMessage `json:"details,omitempty"`
// Message: A developer-facing error message, which should be in English. Any
// user-facing error message should be localized and sent in the
// google.rpc.Status.details field, or localized by the client.
Message string `json:"message,omitempty"`
// ForceSendFields is a list of field names (e.g. "Code") to unconditionally
// include in API requests. By default, fields with empty or default values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Code") to include in API requests
// with the JSON null value. By default, fields with empty values are omitted
// from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s Status) MarshalJSON() ([]byte, error) {
type NoMethod Status
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// TargetTechnologyAlertDetail: Contains details for a technology watchlist
// alert.
type TargetTechnologyAlertDetail struct {
// VulnerabilityMatch: Optional. The vulnerability match details.
VulnerabilityMatch *VulnerabilityMatch `json:"vulnerabilityMatch,omitempty"`
// ForceSendFields is a list of field names (e.g. "VulnerabilityMatch") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "VulnerabilityMatch") to include
// in API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s TargetTechnologyAlertDetail) MarshalJSON() ([]byte, error) {
type NoMethod TargetTechnologyAlertDetail
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// TargetTechnologyFindingDetail: Contains details for a technology watchlist
// finding.
type TargetTechnologyFindingDetail struct {
// VulnerabilityMatch: Optional. The vulnerability match details.
VulnerabilityMatch *VulnerabilityMatch `json:"vulnerabilityMatch,omitempty"`
// ForceSendFields is a list of field names (e.g. "VulnerabilityMatch") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "VulnerabilityMatch") to include
// in API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s TargetTechnologyFindingDetail) MarshalJSON() ([]byte, error) {
type NoMethod TargetTechnologyFindingDetail
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// TechnologyWatchListAlertThreshold: TechnologyWatchListAlertThreshold
// contains the thresholds for alerting.
type TechnologyWatchListAlertThreshold struct {
// CvssScoreMinimum: Optional. The minimum CVSS score for the alert. Evaluates
// to CVSS v3 when available with a fallback to v2 and v4. Ex: 7.0. Valid range
// is [0.0, 10.0].
CvssScoreMinimum float64 `json:"cvssScoreMinimum,omitempty"`
// EpssScoreMinimum: Optional. The minimum epss score for the alert. Ex: 0.8.
// Valid range is [0.0, 1.0].
EpssScoreMinimum float64 `json:"epssScoreMinimum,omitempty"`
// ExploitationStates: Optional. The exploitation states of the alert.
//
// Possible values:
// "EXPLOITATION_STATE_UNSPECIFIED" - Unspecified exploitation state.
// "EXPLOITATION_STATE_NO_KNOWN" - No known exploitation.
// "EXPLOITATION_STATE_REPORTED" - Exploitation has been reported.
// "EXPLOITATION_STATE_SUSPECTED" - Exploitation is suspected.
// "EXPLOITATION_STATE_CONFIRMED" - Exploitation is confirmed.
// "EXPLOITATION_STATE_WIDESPREAD" - Widespread exploitation.
ExploitationStates []string `json:"exploitationStates,omitempty"`
// PriorityMinimum: Optional. The minimum priority for the alert.
//
// Possible values:
// "PRIORITY_UNSPECIFIED" - Unspecified priority.
// "P0" - Priority level 0.
// "P1" - Priority level 1.
// "P2" - Priority level 2.
// "P3" - Priority level 3.
// "P4" - Priority level 4.
PriorityMinimum string `json:"priorityMinimum,omitempty"`
// RiskRatingMinimum: Optional. The minimum risk rating for the alert.
//
// Possible values:
// "RISK_RATING_UNSPECIFIED" - Unspecified risk rating. This is the default
// value when the risk rating is not set.
// "LOW" - Low risk rating.
// "MEDIUM" - Medium risk rating.
// "HIGH" - High risk rating.
// "CRITICAL" - Critical risk rating.
// "UNRATED" - The vulnerability has been assessed, but a specific risk
// rating could not be determined or assigned.
RiskRatingMinimum string `json:"riskRatingMinimum,omitempty"`
// ForceSendFields is a list of field names (e.g. "CvssScoreMinimum") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "CvssScoreMinimum") to include in
// API requests with the JSON null value. By default, fields with empty values
// are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s TechnologyWatchListAlertThreshold) MarshalJSON() ([]byte, error) {
type NoMethod TechnologyWatchListAlertThreshold
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
func (s *TechnologyWatchListAlertThreshold) UnmarshalJSON(data []byte) error {
type NoMethod TechnologyWatchListAlertThreshold
var s1 struct {
CvssScoreMinimum gensupport.JSONFloat64 `json:"cvssScoreMinimum"`
EpssScoreMinimum gensupport.JSONFloat64 `json:"epssScoreMinimum"`
*NoMethod
}
s1.NoMethod = (*NoMethod)(s)
if err := json.Unmarshal(data, &s1); err != nil {
return err
}
s.CvssScoreMinimum = float64(s1.CvssScoreMinimum)
s.EpssScoreMinimum = float64(s1.EpssScoreMinimum)
return nil
}
// TechnologyWatchListConfig: TechnologyWatchListConfig is the configuration
// for the technology watchlist.
type TechnologyWatchListConfig struct {
// AlertThreshold: Optional. Alert thresholds to effectively reduce noise.
AlertThreshold *TechnologyWatchListAlertThreshold `json:"alertThreshold,omitempty"`
// Technologies: Optional. List of vendor, technology or cpe fingerprint.
// example: Microsoft office 360 Apache Server 3.5
// cpe:2.3:a:microsoft:outlook:*:*:*:*:*:*:*:*
Technologies []string `json:"technologies,omitempty"`
// ForceSendFields is a list of field names (e.g. "AlertThreshold") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "AlertThreshold") to include in
// API requests with the JSON null value. By default, fields with empty values
// are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s TechnologyWatchListConfig) MarshalJSON() ([]byte, error) {
type NoMethod TechnologyWatchListConfig
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// UpsertConfigurationResponse: Response message for UpsertConfiguration.
type UpsertConfigurationResponse struct {
// Configuration: Output only. Created configuration ID with server assigned
// id.
Configuration string `json:"configuration,omitempty"`
// ServerResponse contains the HTTP response code and headers from the server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "Configuration") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Configuration") to include in API
// requests with the JSON null value. By default, fields with empty values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s UpsertConfigurationResponse) MarshalJSON() ([]byte, error) {
type NoMethod UpsertConfigurationResponse
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// VulnerabilityMatch: Contains details about a vulnerability match.
type VulnerabilityMatch struct {
// Associations: Optional. Associated threat actors, malware, etc. This is
// embedded as a snapshot because the details of the association at the time of
// the vulnerability match are important for context and reporting.
Associations []*Association `json:"associations,omitempty"`
// CollectionId: Required. The collection ID of the vulnerability. Ex:
// "vulnerability--cve-2025-9876".
CollectionId string `json:"collectionId,omitempty"`
// CveId: Required. The CVE ID of the vulnerability. Ex: "CVE-2025-9876". See
// https://www.cve.org/ for more information.
CveId string `json:"cveId,omitempty"`
// Cvss3Score: Required. The CVSS score of the vulnerability. Evaluates to CVSS
// v3 when available with a fallback to v2 and v4. Example: 6.4.
Cvss3Score float64 `json:"cvss3Score,omitempty"`
// Description: Required. A description of the vulnerability.
Description string `json:"description,omitempty"`
// DisclosureTime: Optional. The disclosure time of the vulnerability.
DisclosureTime string `json:"disclosureTime,omitempty"`
// EpssScore: Optional. The EPSS score, representing the probability of
// exploitation. Example: 0.87.
EpssScore float64 `json:"epssScore,omitempty"`
// ExploitationConsequences: Optional. List of exploitation consequences for
// the vulnerability.
//
// Possible values:
// "EXPLOITATION_CONSEQUENCE_UNSPECIFIED" - Unspecified exploitation
// consequence.
// "CODE_EXECUTION" - Code execution consequence.
// "COMMAND_EXECUTION" - Command execution consequence.
// "DATA_LOSS" - Data loss consequence.
// "DATA_MANIPULATION" - Data manipulation consequence.
// "DENIAL_OF_SERVICE" - Denial-of-Service consequence.
// "INFORMATION_DISCLOSURE" - Information disclosure consequence.
// "UNAUTHORIZED_ACCESS" - Unauthorized access consequence.
// "PRIVILEGE_ESCALATION" - Privilege escalation consequence.
// "SANDBOX_ESCAPE" - Sandbox escape consequence.
// "SECURITY_BYPASS" - Security bypass consequence.
// "CONTAINER_ESCAPE" - Container escape consequence.
// "SPOOFING" - Spoofing consequence.
ExploitationConsequences []string `json:"exploitationConsequences,omitempty"`
// ExploitationState: Required. The exploitation state of the vulnerability.
//
// Possible values:
// "EXPLOITATION_STATE_UNSPECIFIED" - Unspecified exploitation state.
// "EXPLOITATION_STATE_NO_KNOWN" - No known exploitation.
// "EXPLOITATION_STATE_REPORTED" - Exploitation has been reported.
// "EXPLOITATION_STATE_SUSPECTED" - Exploitation is suspected.
// "EXPLOITATION_STATE_CONFIRMED" - Exploitation is confirmed.
// "EXPLOITATION_STATE_WIDESPREAD" - Widespread exploitation.
ExploitationState string `json:"exploitationState,omitempty"`
// ExploitationVectors: Optional. List of exploitation vectors for the
// vulnerability.
//
// Possible values:
// "EXPLOITATION_VECTOR_UNSPECIFIED" - Unspecified exploitation vector.
// "ADMINISTRATIVE_INTERFACE" - Administrative interface vector.
// "BLUETOOTH_ACCESS" - Bluetooth access vector.
// "BROWSER" - Browser vector.
// "COMPROMISED_COMMUNICATION_CHANNEL" - Compromised communication channel
// vector.
// "EMAIL" - Email vector.
// "EXPOSED_WEB_APPLICATION" - Exposed web application vector.
// "LOCAL_NETWORK_ACCESS" - Local network access vector.
// "MALICIOUS_APPLICATION" - Malicious application vector.
// "MALICIOUS_FILE" - Malicious file vector.
// "MALICIOUS_SERVER" - Malicious server vector.
// "OPEN_PORT" - Open port vector.
// "PHYSICAL_ACCESS" - Physical access vector.
// "SHORT_RANGE_RADIO" - Short range radio vector.
// "UNSPECIFIED_LOCAL_VECTOR" - Unspecified local vector.
// "UNSPECIFIED_REMOTE_VECTOR" - Unspecified remote vector.
// "VPN_ACCESS" - VPN access vector.
// "WIFI_ACCESS" - WiFi access vector.
ExploitationVectors []string `json:"exploitationVectors,omitempty"`
// MatchedTechnologies: Optional. The specific technologies from the configured
// watchlist that triggered the match. Ex: "Apache Struts".
MatchedTechnologies []string `json:"matchedTechnologies,omitempty"`
// Priority: Optional. The priority level of the vulnerability data. Ex: "P1".
//
// Possible values:
// "PRIORITY_UNSPECIFIED" - Unspecified priority.
// "P0" - Priority level 0.
// "P1" - Priority level 1.
// "P2" - Priority level 2.
// "P3" - Priority level 3.
// "P4" - Priority level 4.
Priority string `json:"priority,omitempty"`
// ProductFixes: Optional. List of product fixes for the vulnerability.
ProductFixes []*ProductFix `json:"productFixes,omitempty"`
// PublicExploits: Optional. List of public exploits.
PublicExploits []*PublicExploit `json:"publicExploits,omitempty"`
// PubliclyAvailableExploit: Output only. Whether a publicly available exploit
// exists.
PubliclyAvailableExploit bool `json:"publiclyAvailableExploit,omitempty"`
// RiskRating: Required. The risk rating of the vulnerability.
//
// Possible values:
// "RISK_RATING_UNSPECIFIED" - Unspecified risk rating. This is the default
// value when the risk rating is not set.
// "LOW" - Low risk rating.
// "MEDIUM" - Medium risk rating.
// "HIGH" - High risk rating.
// "CRITICAL" - Critical risk rating.
// "UNRATED" - The vulnerability has been assessed, but a specific risk
// rating could not be determined or assigned.
RiskRating string `json:"riskRating,omitempty"`
// Technologies: Required. All technologies affected by the vulnerability. Ex:
// "Apache Struts".
Technologies []string `json:"technologies,omitempty"`
// ForceSendFields is a list of field names (e.g. "Associations") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Associations") to include in API
// requests with the JSON null value. By default, fields with empty values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s VulnerabilityMatch) MarshalJSON() ([]byte, error) {
type NoMethod VulnerabilityMatch
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
func (s *VulnerabilityMatch) UnmarshalJSON(data []byte) error {
type NoMethod VulnerabilityMatch
var s1 struct {
Cvss3Score gensupport.JSONFloat64 `json:"cvss3Score"`
EpssScore gensupport.JSONFloat64 `json:"epssScore"`
*NoMethod
}
s1.NoMethod = (*NoMethod)(s)
if err := json.Unmarshal(data, &s1); err != nil {
return err
}
s.Cvss3Score = float64(s1.Cvss3Score)
s.EpssScore = float64(s1.EpssScore)
return nil
}
type ProjectsGenerateOrgProfileCall struct {
s *Service
name string
generateorgprofileconfigurationrequest *GenerateOrgProfileConfigurationRequest
urlParams_ gensupport.URLParams
ctx_ context.Context
header_ http.Header
}
// GenerateOrgProfile: Triggers the generation of a Customer Profile for a
// project.
//
// - name: The name of the project to generate the profile for. Format:
// projects/{project}.
func (r *ProjectsService) GenerateOrgProfile(name string, generateorgprofileconfigurationrequest *GenerateOrgProfileConfigurationRequest) *ProjectsGenerateOrgProfileCall {
c := &ProjectsGenerateOrgProfileCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.name = name
c.generateorgprofileconfigurationrequest = generateorgprofileconfigurationrequest
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsGenerateOrgProfileCall) Fields(s ...googleapi.Field) *ProjectsGenerateOrgProfileCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
func (c *ProjectsGenerateOrgProfileCall) Context(ctx context.Context) *ProjectsGenerateOrgProfileCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsGenerateOrgProfileCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *ProjectsGenerateOrgProfileCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.generateorgprofileconfigurationrequest)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+name}:generateOrgProfile")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("POST", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"name": c.name,
})
c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "threatintelligence.projects.generateOrgProfile", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "threatintelligence.projects.generateOrgProfile" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
func (c *ProjectsGenerateOrgProfileCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
if res.Body != nil {
res.Body.Close()
}
return nil, gensupport.WrapError(&googleapi.Error{
Code: res.StatusCode,
Header: res.Header,
})
}
if err != nil {
return nil, err
}
defer googleapi.CloseBody(res)
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
ret := &Operation{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
b, err := gensupport.DecodeResponseBytes(target, res)
if err != nil {
return nil, err
}
c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "threatintelligence.projects.generateOrgProfile", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
type ProjectsAlertsBenignCall struct {
s *Service
name string
markalertasbenignrequest *MarkAlertAsBenignRequest
urlParams_ gensupport.URLParams
ctx_ context.Context
header_ http.Header
}
// Benign: Marks an alert as benign - BENIGN.
//
// - name: Name of the alert to mark as a benign. Format:
// projects/{project}/alerts/{alert}.
func (r *ProjectsAlertsService) Benign(name string, markalertasbenignrequest *MarkAlertAsBenignRequest) *ProjectsAlertsBenignCall {
c := &ProjectsAlertsBenignCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.name = name
c.markalertasbenignrequest = markalertasbenignrequest
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsAlertsBenignCall) Fields(s ...googleapi.Field) *ProjectsAlertsBenignCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
func (c *ProjectsAlertsBenignCall) Context(ctx context.Context) *ProjectsAlertsBenignCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsAlertsBenignCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *ProjectsAlertsBenignCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.markalertasbenignrequest)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+name}:benign")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("POST", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"name": c.name,
})
c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "threatintelligence.projects.alerts.benign", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "threatintelligence.projects.alerts.benign" call.
// Any non-2xx status code is an error. Response headers are in either
// *Alert.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
func (c *ProjectsAlertsBenignCall) Do(opts ...googleapi.CallOption) (*Alert, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
if res.Body != nil {
res.Body.Close()
}
return nil, gensupport.WrapError(&googleapi.Error{
Code: res.StatusCode,
Header: res.Header,
})
}
if err != nil {
return nil, err
}
defer googleapi.CloseBody(res)
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
ret := &Alert{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
b, err := gensupport.DecodeResponseBytes(target, res)
if err != nil {
return nil, err
}
c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "threatintelligence.projects.alerts.benign", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
type ProjectsAlertsDuplicateCall struct {
s *Service
name string
markalertasduplicaterequest *MarkAlertAsDuplicateRequest
urlParams_ gensupport.URLParams
ctx_ context.Context
header_ http.Header
}
// Duplicate: Marks an alert as a duplicate of another alert. - DUPLICATE.
//
// - name: Name of the alert to mark as a duplicate. Format:
// projects/{project}/alerts/{alert}.
func (r *ProjectsAlertsService) Duplicate(name string, markalertasduplicaterequest *MarkAlertAsDuplicateRequest) *ProjectsAlertsDuplicateCall {
c := &ProjectsAlertsDuplicateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.name = name
c.markalertasduplicaterequest = markalertasduplicaterequest
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsAlertsDuplicateCall) Fields(s ...googleapi.Field) *ProjectsAlertsDuplicateCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
func (c *ProjectsAlertsDuplicateCall) Context(ctx context.Context) *ProjectsAlertsDuplicateCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsAlertsDuplicateCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *ProjectsAlertsDuplicateCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.markalertasduplicaterequest)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+name}:duplicate")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("POST", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"name": c.name,
})
c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "threatintelligence.projects.alerts.duplicate", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "threatintelligence.projects.alerts.duplicate" call.
// Any non-2xx status code is an error. Response headers are in either
// *Alert.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
func (c *ProjectsAlertsDuplicateCall) Do(opts ...googleapi.CallOption) (*Alert, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
if res.Body != nil {
res.Body.Close()
}
return nil, gensupport.WrapError(&googleapi.Error{
Code: res.StatusCode,
Header: res.Header,
})
}
if err != nil {
return nil, err
}
defer googleapi.CloseBody(res)
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
ret := &Alert{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
b, err := gensupport.DecodeResponseBytes(target, res)
if err != nil {
return nil, err
}
c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "threatintelligence.projects.alerts.duplicate", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
type ProjectsAlertsEnumerateFacetsCall struct {
s *Service
parent string
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
header_ http.Header
}
// EnumerateFacets: EnumerateAlertFacets returns the facets and the number of
// alerts that meet the filter criteria and have that value for each facet.
//
// - parent: Parent of the alerts.
func (r *ProjectsAlertsService) EnumerateFacets(parent string) *ProjectsAlertsEnumerateFacetsCall {
c := &ProjectsAlertsEnumerateFacetsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.parent = parent
return c
}
// Filter sets the optional parameter "filter": Filter on what alerts will be
// enumerated.
func (c *ProjectsAlertsEnumerateFacetsCall) Filter(filter string) *ProjectsAlertsEnumerateFacetsCall {
c.urlParams_.Set("filter", filter)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsAlertsEnumerateFacetsCall) Fields(s ...googleapi.Field) *ProjectsAlertsEnumerateFacetsCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsAlertsEnumerateFacetsCall) IfNoneMatch(entityTag string) *ProjectsAlertsEnumerateFacetsCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
func (c *ProjectsAlertsEnumerateFacetsCall) Context(ctx context.Context) *ProjectsAlertsEnumerateFacetsCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsAlertsEnumerateFacetsCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *ProjectsAlertsEnumerateFacetsCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+parent}/alerts:enumerateFacets")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"parent": c.parent,
})
c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "threatintelligence.projects.alerts.enumerateFacets", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "threatintelligence.projects.alerts.enumerateFacets" call.
// Any non-2xx status code is an error. Response headers are in either
// *EnumerateAlertFacetsResponse.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsAlertsEnumerateFacetsCall) Do(opts ...googleapi.CallOption) (*EnumerateAlertFacetsResponse, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
if res.Body != nil {
res.Body.Close()
}
return nil, gensupport.WrapError(&googleapi.Error{
Code: res.StatusCode,
Header: res.Header,
})
}
if err != nil {
return nil, err
}
defer googleapi.CloseBody(res)
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
ret := &EnumerateAlertFacetsResponse{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
b, err := gensupport.DecodeResponseBytes(target, res)
if err != nil {
return nil, err
}
c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "threatintelligence.projects.alerts.enumerateFacets", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
type ProjectsAlertsEscalateCall struct {
s *Service
name string
markalertasescalatedrequest *MarkAlertAsEscalatedRequest
urlParams_ gensupport.URLParams
ctx_ context.Context
header_ http.Header
}
// Escalate: Marks an alert as escalated - ESCALATED.
//
// - name: Name of the alert to mark as escalated. Format:
// projects/{project}/alerts/{alert}.
func (r *ProjectsAlertsService) Escalate(name string, markalertasescalatedrequest *MarkAlertAsEscalatedRequest) *ProjectsAlertsEscalateCall {
c := &ProjectsAlertsEscalateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.name = name
c.markalertasescalatedrequest = markalertasescalatedrequest
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsAlertsEscalateCall) Fields(s ...googleapi.Field) *ProjectsAlertsEscalateCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
func (c *ProjectsAlertsEscalateCall) Context(ctx context.Context) *ProjectsAlertsEscalateCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsAlertsEscalateCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *ProjectsAlertsEscalateCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.markalertasescalatedrequest)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+name}:escalate")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("POST", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"name": c.name,
})
c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "threatintelligence.projects.alerts.escalate", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "threatintelligence.projects.alerts.escalate" call.
// Any non-2xx status code is an error. Response headers are in either
// *Alert.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
func (c *ProjectsAlertsEscalateCall) Do(opts ...googleapi.CallOption) (*Alert, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
if res.Body != nil {
res.Body.Close()
}
return nil, gensupport.WrapError(&googleapi.Error{
Code: res.StatusCode,
Header: res.Header,
})
}
if err != nil {
return nil, err
}
defer googleapi.CloseBody(res)
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
ret := &Alert{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
b, err := gensupport.DecodeResponseBytes(target, res)
if err != nil {
return nil, err
}
c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "threatintelligence.projects.alerts.escalate", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
type ProjectsAlertsFalsePositiveCall struct {
s *Service
name string
markalertasfalsepositiverequest *MarkAlertAsFalsePositiveRequest
urlParams_ gensupport.URLParams
ctx_ context.Context
header_ http.Header
}
// FalsePositive: Marks an alert as a false positive - FALSE_POSITIVE.
//
// - name: Name of the alert to mark as a false positive. Format:
// projects/{project}/alerts/{alert}.
func (r *ProjectsAlertsService) FalsePositive(name string, markalertasfalsepositiverequest *MarkAlertAsFalsePositiveRequest) *ProjectsAlertsFalsePositiveCall {
c := &ProjectsAlertsFalsePositiveCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.name = name
c.markalertasfalsepositiverequest = markalertasfalsepositiverequest
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsAlertsFalsePositiveCall) Fields(s ...googleapi.Field) *ProjectsAlertsFalsePositiveCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
func (c *ProjectsAlertsFalsePositiveCall) Context(ctx context.Context) *ProjectsAlertsFalsePositiveCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsAlertsFalsePositiveCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *ProjectsAlertsFalsePositiveCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.markalertasfalsepositiverequest)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+name}:falsePositive")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("POST", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"name": c.name,
})
c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "threatintelligence.projects.alerts.falsePositive", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "threatintelligence.projects.alerts.falsePositive" call.
// Any non-2xx status code is an error. Response headers are in either
// *Alert.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
func (c *ProjectsAlertsFalsePositiveCall) Do(opts ...googleapi.CallOption) (*Alert, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
if res.Body != nil {
res.Body.Close()
}
return nil, gensupport.WrapError(&googleapi.Error{
Code: res.StatusCode,
Header: res.Header,
})
}
if err != nil {
return nil, err
}
defer googleapi.CloseBody(res)
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
ret := &Alert{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
b, err := gensupport.DecodeResponseBytes(target, res)
if err != nil {
return nil, err
}
c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "threatintelligence.projects.alerts.falsePositive", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
type ProjectsAlertsGetCall struct {
s *Service
name string
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
header_ http.Header
}
// Get: Get an alert by name.
//
// - name: Name of the alert to get. Format: projects/{project}/alerts/{alert}.
func (r *ProjectsAlertsService) Get(name string) *ProjectsAlertsGetCall {
c := &ProjectsAlertsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.name = name
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsAlertsGetCall) Fields(s ...googleapi.Field) *ProjectsAlertsGetCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsAlertsGetCall) IfNoneMatch(entityTag string) *ProjectsAlertsGetCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
func (c *ProjectsAlertsGetCall) Context(ctx context.Context) *ProjectsAlertsGetCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsAlertsGetCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *ProjectsAlertsGetCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+name}")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"name": c.name,
})
c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "threatintelligence.projects.alerts.get", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "threatintelligence.projects.alerts.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *Alert.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
func (c *ProjectsAlertsGetCall) Do(opts ...googleapi.CallOption) (*Alert, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
if res.Body != nil {
res.Body.Close()
}
return nil, gensupport.WrapError(&googleapi.Error{
Code: res.StatusCode,
Header: res.Header,
})
}
if err != nil {
return nil, err
}
defer googleapi.CloseBody(res)
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
ret := &Alert{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
b, err := gensupport.DecodeResponseBytes(target, res)
if err != nil {
return nil, err
}
c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "threatintelligence.projects.alerts.get", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
type ProjectsAlertsGetPasswordCall struct {
s *Service
name string
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
header_ http.Header
}
// GetPassword: Get the decrypted password of an alert.
//
// - name: Name of the alert to get password for. Format:
// projects/{project}/alerts/{alert}.
func (r *ProjectsAlertsService) GetPassword(name string) *ProjectsAlertsGetPasswordCall {
c := &ProjectsAlertsGetPasswordCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.name = name
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsAlertsGetPasswordCall) Fields(s ...googleapi.Field) *ProjectsAlertsGetPasswordCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsAlertsGetPasswordCall) IfNoneMatch(entityTag string) *ProjectsAlertsGetPasswordCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
func (c *ProjectsAlertsGetPasswordCall) Context(ctx context.Context) *ProjectsAlertsGetPasswordCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsAlertsGetPasswordCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *ProjectsAlertsGetPasswordCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+name}:getPassword")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"name": c.name,
})
c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "threatintelligence.projects.alerts.getPassword", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "threatintelligence.projects.alerts.getPassword" call.
// Any non-2xx status code is an error. Response headers are in either
// *GetPasswordResponse.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsAlertsGetPasswordCall) Do(opts ...googleapi.CallOption) (*GetPasswordResponse, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
if res.Body != nil {
res.Body.Close()
}
return nil, gensupport.WrapError(&googleapi.Error{
Code: res.StatusCode,
Header: res.Header,
})
}
if err != nil {
return nil, err
}
defer googleapi.CloseBody(res)
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
ret := &GetPasswordResponse{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
b, err := gensupport.DecodeResponseBytes(target, res)
if err != nil {
return nil, err
}
c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "threatintelligence.projects.alerts.getPassword", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
type ProjectsAlertsListCall struct {
s *Service
parent string
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
header_ http.Header
}
// List: Get a list of alerts that meet the filter criteria.
//
// - parent: Parent of the alerts. Format: projects/{project}.
func (r *ProjectsAlertsService) List(parent string) *ProjectsAlertsListCall {
c := &ProjectsAlertsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.parent = parent
return c
}
// Filter sets the optional parameter "filter": Filter criteria. Supported
// fields for filtering include: * `audit.create_time` * `audit.creator` *
// `audit.update_time` * `audit.updater` *
// `detail.data_leak.discovery_document_ids` * `detail.data_leak.severity` *
// `detail.detail_type` * `detail.initial_access_broker.discovery_document_ids`
// * `detail.initial_access_broker.severity` *
// `detail.insider_threat.discovery_document_ids` *
// `detail.insider_threat.severity` * `finding_count` *
// `priority_analysis.priority_level` * `relevance_analysis.confidence` *
// `relevance_analysis.relevance_level` * `relevance_analysis.relevant` *
// `severity_analysis.severity_level` * `state` Examples: * `detail.detail_type
// = "initial_access_broker" * `detail.detail_type != "data_leak" *
// `detail.insider_threat.severity = "HIGH" * `audit.create_time >=
// "2026-04-03T00:00:00Z" AND audit.create_time < "2026-04-06T00:00:00Z" *
// `state = "NEW" OR state = "TRIAGED" * `severity_analysis.severity_level =
// "SEVERITY_LEVEL_CRITICAL"
func (c *ProjectsAlertsListCall) Filter(filter string) *ProjectsAlertsListCall {
c.urlParams_.Set("filter", filter)
return c
}
// OrderBy sets the optional parameter "orderBy": Order by criteria in the csv
// format: "field1, field2 desc" or "field1, field2" or "field1 asc, field2".
// If a field is specified without `asc` or `desc`, ascending order is used by
// default. Supported fields for ordering are identical to those supported for
// filtering. Examples: * `audit.create_time desc` * `audit.update_time asc` *
// `audit.create_time desc, severity_analysis.severity_level desc`
func (c *ProjectsAlertsListCall) OrderBy(orderBy string) *ProjectsAlertsListCall {
c.urlParams_.Set("orderBy", orderBy)
return c
}
// PageSize sets the optional parameter "pageSize": Page size. Default to 100
// alerts per page. Maximum is 1000 alerts per page.
func (c *ProjectsAlertsListCall) PageSize(pageSize int64) *ProjectsAlertsListCall {
c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
return c
}
// PageToken sets the optional parameter "pageToken": Page token to retrieve
// the next page of results.
func (c *ProjectsAlertsListCall) PageToken(pageToken string) *ProjectsAlertsListCall {
c.urlParams_.Set("pageToken", pageToken)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsAlertsListCall) Fields(s ...googleapi.Field) *ProjectsAlertsListCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsAlertsListCall) IfNoneMatch(entityTag string) *ProjectsAlertsListCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
func (c *ProjectsAlertsListCall) Context(ctx context.Context) *ProjectsAlertsListCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsAlertsListCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *ProjectsAlertsListCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+parent}/alerts")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"parent": c.parent,
})
c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "threatintelligence.projects.alerts.list", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "threatintelligence.projects.alerts.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *ListAlertsResponse.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsAlertsListCall) Do(opts ...googleapi.CallOption) (*ListAlertsResponse, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
if res.Body != nil {
res.Body.Close()
}
return nil, gensupport.WrapError(&googleapi.Error{
Code: res.StatusCode,
Header: res.Header,
})
}
if err != nil {
return nil, err
}
defer googleapi.CloseBody(res)
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
ret := &ListAlertsResponse{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
b, err := gensupport.DecodeResponseBytes(target, res)
if err != nil {
return nil, err
}
c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "threatintelligence.projects.alerts.list", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ProjectsAlertsListCall) Pages(ctx context.Context, f func(*ListAlertsResponse) error) error {
c.ctx_ = ctx
defer c.PageToken(c.urlParams_.Get("pageToken"))
for {
x, err := c.Do()
if err != nil {
return err
}
if err := f(x); err != nil {
return err
}
if x.NextPageToken == "" {
return nil
}
c.PageToken(x.NextPageToken)
}
}
type ProjectsAlertsNotActionableCall struct {
s *Service
name string
markalertasnotactionablerequest *MarkAlertAsNotActionableRequest
urlParams_ gensupport.URLParams
ctx_ context.Context
header_ http.Header
}
// NotActionable: Marks an alert as not actionable - NOT_ACTIONABLE.
//
// - name: Name of the alert to mark as a not actionable. Format:
// projects/{project}/alerts/{alert}.
func (r *ProjectsAlertsService) NotActionable(name string, markalertasnotactionablerequest *MarkAlertAsNotActionableRequest) *ProjectsAlertsNotActionableCall {
c := &ProjectsAlertsNotActionableCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.name = name
c.markalertasnotactionablerequest = markalertasnotactionablerequest
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsAlertsNotActionableCall) Fields(s ...googleapi.Field) *ProjectsAlertsNotActionableCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
func (c *ProjectsAlertsNotActionableCall) Context(ctx context.Context) *ProjectsAlertsNotActionableCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsAlertsNotActionableCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *ProjectsAlertsNotActionableCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.markalertasnotactionablerequest)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+name}:notActionable")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("POST", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"name": c.name,
})
c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "threatintelligence.projects.alerts.notActionable", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "threatintelligence.projects.alerts.notActionable" call.
// Any non-2xx status code is an error. Response headers are in either
// *Alert.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
func (c *ProjectsAlertsNotActionableCall) Do(opts ...googleapi.CallOption) (*Alert, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
if res.Body != nil {
res.Body.Close()
}
return nil, gensupport.WrapError(&googleapi.Error{
Code: res.StatusCode,
Header: res.Header,
})
}
if err != nil {
return nil, err
}
defer googleapi.CloseBody(res)
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
ret := &Alert{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
b, err := gensupport.DecodeResponseBytes(target, res)
if err != nil {
return nil, err
}
c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "threatintelligence.projects.alerts.notActionable", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
type ProjectsAlertsReadCall struct {
s *Service
name string
markalertasreadrequest *MarkAlertAsReadRequest
urlParams_ gensupport.URLParams
ctx_ context.Context
header_ http.Header
}
// Read: Marks an alert as read - READ.
//
// - name: Name of the alert to mark as read. Format:
// projects/{project}/alerts/{alert}.
func (r *ProjectsAlertsService) Read(name string, markalertasreadrequest *MarkAlertAsReadRequest) *ProjectsAlertsReadCall {
c := &ProjectsAlertsReadCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.name = name
c.markalertasreadrequest = markalertasreadrequest
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsAlertsReadCall) Fields(s ...googleapi.Field) *ProjectsAlertsReadCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
func (c *ProjectsAlertsReadCall) Context(ctx context.Context) *ProjectsAlertsReadCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsAlertsReadCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *ProjectsAlertsReadCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.markalertasreadrequest)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+name}:read")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("POST", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"name": c.name,
})
c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "threatintelligence.projects.alerts.read", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "threatintelligence.projects.alerts.read" call.
// Any non-2xx status code is an error. Response headers are in either
// *Alert.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
func (c *ProjectsAlertsReadCall) Do(opts ...googleapi.CallOption) (*Alert, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
if res.Body != nil {
res.Body.Close()
}
return nil, gensupport.WrapError(&googleapi.Error{
Code: res.StatusCode,
Header: res.Header,
})
}
if err != nil {
return nil, err
}
defer googleapi.CloseBody(res)
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
ret := &Alert{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
b, err := gensupport.DecodeResponseBytes(target, res)
if err != nil {
return nil, err
}
c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "threatintelligence.projects.alerts.read", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
type ProjectsAlertsResolveCall struct {
s *Service
name string
markalertasresolvedrequest *MarkAlertAsResolvedRequest
urlParams_ gensupport.URLParams
ctx_ context.Context
header_ http.Header
}
// Resolve: Marks an alert to closed state - RESOLVED.
//
// - name: Name of the alert to mark as resolved. Format:
// projects/{project}/alerts/{alert}.
func (r *ProjectsAlertsService) Resolve(name string, markalertasresolvedrequest *MarkAlertAsResolvedRequest) *ProjectsAlertsResolveCall {
c := &ProjectsAlertsResolveCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.name = name
c.markalertasresolvedrequest = markalertasresolvedrequest
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsAlertsResolveCall) Fields(s ...googleapi.Field) *ProjectsAlertsResolveCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
func (c *ProjectsAlertsResolveCall) Context(ctx context.Context) *ProjectsAlertsResolveCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsAlertsResolveCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *ProjectsAlertsResolveCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.markalertasresolvedrequest)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+name}:resolve")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("POST", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"name": c.name,
})
c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "threatintelligence.projects.alerts.resolve", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "threatintelligence.projects.alerts.resolve" call.
// Any non-2xx status code is an error. Response headers are in either
// *Alert.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
func (c *ProjectsAlertsResolveCall) Do(opts ...googleapi.CallOption) (*Alert, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
if res.Body != nil {
res.Body.Close()
}
return nil, gensupport.WrapError(&googleapi.Error{
Code: res.StatusCode,
Header: res.Header,
})
}
if err != nil {
return nil, err
}
defer googleapi.CloseBody(res)
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
ret := &Alert{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
b, err := gensupport.DecodeResponseBytes(target, res)
if err != nil {
return nil, err
}
c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "threatintelligence.projects.alerts.resolve", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
type ProjectsAlertsTrackExternallyCall struct {
s *Service
name string
markalertastrackedexternallyrequest *MarkAlertAsTrackedExternallyRequest
urlParams_ gensupport.URLParams
ctx_ context.Context
header_ http.Header
}
// TrackExternally: Marks an alert as tracked externally - TRACKED_EXTERNALLY.
//
// - name: Name of the alert to mark as tracked externally. Format:
// projects/{project}/alerts/{alert}.
func (r *ProjectsAlertsService) TrackExternally(name string, markalertastrackedexternallyrequest *MarkAlertAsTrackedExternallyRequest) *ProjectsAlertsTrackExternallyCall {
c := &ProjectsAlertsTrackExternallyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.name = name
c.markalertastrackedexternallyrequest = markalertastrackedexternallyrequest
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsAlertsTrackExternallyCall) Fields(s ...googleapi.Field) *ProjectsAlertsTrackExternallyCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
func (c *ProjectsAlertsTrackExternallyCall) Context(ctx context.Context) *ProjectsAlertsTrackExternallyCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsAlertsTrackExternallyCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *ProjectsAlertsTrackExternallyCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.markalertastrackedexternallyrequest)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+name}:trackExternally")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("POST", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"name": c.name,
})
c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "threatintelligence.projects.alerts.trackExternally", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "threatintelligence.projects.alerts.trackExternally" call.
// Any non-2xx status code is an error. Response headers are in either
// *Alert.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
func (c *ProjectsAlertsTrackExternallyCall) Do(opts ...googleapi.CallOption) (*Alert, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
if res.Body != nil {
res.Body.Close()
}
return nil, gensupport.WrapError(&googleapi.Error{
Code: res.StatusCode,
Header: res.Header,
})
}
if err != nil {
return nil, err
}
defer googleapi.CloseBody(res)
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
ret := &Alert{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
b, err := gensupport.DecodeResponseBytes(target, res)
if err != nil {
return nil, err
}
c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "threatintelligence.projects.alerts.trackExternally", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
type ProjectsAlertsTriageCall struct {
s *Service
name string
markalertastriagedrequest *MarkAlertAsTriagedRequest
urlParams_ gensupport.URLParams
ctx_ context.Context
header_ http.Header
}
// Triage: Marks an alert as triaged - TRIAGED.
//
// - name: Name of the alert to mark as a triaged. Format:
// projects/{project}/alerts/{alert}.
func (r *ProjectsAlertsService) Triage(name string, markalertastriagedrequest *MarkAlertAsTriagedRequest) *ProjectsAlertsTriageCall {
c := &ProjectsAlertsTriageCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.name = name
c.markalertastriagedrequest = markalertastriagedrequest
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsAlertsTriageCall) Fields(s ...googleapi.Field) *ProjectsAlertsTriageCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
func (c *ProjectsAlertsTriageCall) Context(ctx context.Context) *ProjectsAlertsTriageCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsAlertsTriageCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *ProjectsAlertsTriageCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.markalertastriagedrequest)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+name}:triage")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("POST", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"name": c.name,
})
c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "threatintelligence.projects.alerts.triage", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "threatintelligence.projects.alerts.triage" call.
// Any non-2xx status code is an error. Response headers are in either
// *Alert.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
func (c *ProjectsAlertsTriageCall) Do(opts ...googleapi.CallOption) (*Alert, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
if res.Body != nil {
res.Body.Close()
}
return nil, gensupport.WrapError(&googleapi.Error{
Code: res.StatusCode,
Header: res.Header,
})
}
if err != nil {
return nil, err
}
defer googleapi.CloseBody(res)
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
ret := &Alert{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
b, err := gensupport.DecodeResponseBytes(target, res)
if err != nil {
return nil, err
}
c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "threatintelligence.projects.alerts.triage", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
type ProjectsAlertsDocumentsGetCall struct {
s *Service
name string
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
header_ http.Header
}
// Get: Gets a specific document associated with an alert.
//
// - name: Name of the alert document to get. Format:
// projects/{project}/alerts/{alert}/documents/{document}.
func (r *ProjectsAlertsDocumentsService) Get(name string) *ProjectsAlertsDocumentsGetCall {
c := &ProjectsAlertsDocumentsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.name = name
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsAlertsDocumentsGetCall) Fields(s ...googleapi.Field) *ProjectsAlertsDocumentsGetCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsAlertsDocumentsGetCall) IfNoneMatch(entityTag string) *ProjectsAlertsDocumentsGetCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
func (c *ProjectsAlertsDocumentsGetCall) Context(ctx context.Context) *ProjectsAlertsDocumentsGetCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsAlertsDocumentsGetCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *ProjectsAlertsDocumentsGetCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+name}")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"name": c.name,
})
c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "threatintelligence.projects.alerts.documents.get", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "threatintelligence.projects.alerts.documents.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *AlertDocument.ServerResponse.Header or (if a response was returned at all)
// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
func (c *ProjectsAlertsDocumentsGetCall) Do(opts ...googleapi.CallOption) (*AlertDocument, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
if res.Body != nil {
res.Body.Close()
}
return nil, gensupport.WrapError(&googleapi.Error{
Code: res.StatusCode,
Header: res.Header,
})
}
if err != nil {
return nil, err
}
defer googleapi.CloseBody(res)
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
ret := &AlertDocument{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
b, err := gensupport.DecodeResponseBytes(target, res)
if err != nil {
return nil, err
}
c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "threatintelligence.projects.alerts.documents.get", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
type ProjectsConfigurationsGetCall struct {
s *Service
name string
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
header_ http.Header
}
// Get: Get a configuration by name.
//
// - name: Name of the configuration to get. Format:
// vaults/{vault}/configurations/{configuration}.
func (r *ProjectsConfigurationsService) Get(name string) *ProjectsConfigurationsGetCall {
c := &ProjectsConfigurationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.name = name
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsConfigurationsGetCall) Fields(s ...googleapi.Field) *ProjectsConfigurationsGetCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsConfigurationsGetCall) IfNoneMatch(entityTag string) *ProjectsConfigurationsGetCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
func (c *ProjectsConfigurationsGetCall) Context(ctx context.Context) *ProjectsConfigurationsGetCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsConfigurationsGetCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *ProjectsConfigurationsGetCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+name}")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"name": c.name,
})
c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "threatintelligence.projects.configurations.get", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "threatintelligence.projects.configurations.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *Configuration.ServerResponse.Header or (if a response was returned at all)
// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
func (c *ProjectsConfigurationsGetCall) Do(opts ...googleapi.CallOption) (*Configuration, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
if res.Body != nil {
res.Body.Close()
}
return nil, gensupport.WrapError(&googleapi.Error{
Code: res.StatusCode,
Header: res.Header,
})
}
if err != nil {
return nil, err
}
defer googleapi.CloseBody(res)
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
ret := &Configuration{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
b, err := gensupport.DecodeResponseBytes(target, res)
if err != nil {
return nil, err
}
c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "threatintelligence.projects.configurations.get", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
type ProjectsConfigurationsListCall struct {
s *Service
parent string
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
header_ http.Header
}
// List: Get a list of configurations that meet the filter criteria.
//
// - parent: Parent of the configuration. Format: vaults/{vault}.
func (r *ProjectsConfigurationsService) List(parent string) *ProjectsConfigurationsListCall {
c := &ProjectsConfigurationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.parent = parent
return c
}
// Filter sets the optional parameter "filter": Filter criteria.
func (c *ProjectsConfigurationsListCall) Filter(filter string) *ProjectsConfigurationsListCall {
c.urlParams_.Set("filter", filter)
return c
}
// OrderBy sets the optional parameter "orderBy": Order by criteria in the csv
// format: "field1,field2 desc" or "field1,field2" or "field1 asc, field2".
func (c *ProjectsConfigurationsListCall) OrderBy(orderBy string) *ProjectsConfigurationsListCall {
c.urlParams_.Set("orderBy", orderBy)
return c
}
// PageSize sets the optional parameter "pageSize": Page size.
func (c *ProjectsConfigurationsListCall) PageSize(pageSize int64) *ProjectsConfigurationsListCall {
c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
return c
}
// PageToken sets the optional parameter "pageToken": Page token.
func (c *ProjectsConfigurationsListCall) PageToken(pageToken string) *ProjectsConfigurationsListCall {
c.urlParams_.Set("pageToken", pageToken)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsConfigurationsListCall) Fields(s ...googleapi.Field) *ProjectsConfigurationsListCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsConfigurationsListCall) IfNoneMatch(entityTag string) *ProjectsConfigurationsListCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
func (c *ProjectsConfigurationsListCall) Context(ctx context.Context) *ProjectsConfigurationsListCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsConfigurationsListCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *ProjectsConfigurationsListCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+parent}/configurations")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"parent": c.parent,
})
c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "threatintelligence.projects.configurations.list", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "threatintelligence.projects.configurations.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *ListConfigurationsResponse.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsConfigurationsListCall) Do(opts ...googleapi.CallOption) (*ListConfigurationsResponse, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
if res.Body != nil {
res.Body.Close()
}
return nil, gensupport.WrapError(&googleapi.Error{
Code: res.StatusCode,
Header: res.Header,
})
}
if err != nil {
return nil, err
}
defer googleapi.CloseBody(res)
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
ret := &ListConfigurationsResponse{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
b, err := gensupport.DecodeResponseBytes(target, res)
if err != nil {
return nil, err
}
c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "threatintelligence.projects.configurations.list", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ProjectsConfigurationsListCall) Pages(ctx context.Context, f func(*ListConfigurationsResponse) error) error {
c.ctx_ = ctx
defer c.PageToken(c.urlParams_.Get("pageToken"))
for {
x, err := c.Do()
if err != nil {
return err
}
if err := f(x); err != nil {
return err
}
if x.NextPageToken == "" {
return nil
}
c.PageToken(x.NextPageToken)
}
}
type ProjectsConfigurationsUpsertCall struct {
s *Service
parent string
configuration *Configuration
urlParams_ gensupport.URLParams
ctx_ context.Context
header_ http.Header
}
// Upsert: Creates or updates a configuration.
//
// - parent: Parent of the configuration.
func (r *ProjectsConfigurationsService) Upsert(parent string, configuration *Configuration) *ProjectsConfigurationsUpsertCall {
c := &ProjectsConfigurationsUpsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.parent = parent
c.configuration = configuration
return c
}
// PublishTime sets the optional parameter "publishTime": Time that the
// configuration should be considered to have been published. This is an
// advanced feature used when onboarding and bulk loading data from other
// systems. Do not set this field without consulting with the API team.
func (c *ProjectsConfigurationsUpsertCall) PublishTime(publishTime string) *ProjectsConfigurationsUpsertCall {
c.urlParams_.Set("publishTime", publishTime)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsConfigurationsUpsertCall) Fields(s ...googleapi.Field) *ProjectsConfigurationsUpsertCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
func (c *ProjectsConfigurationsUpsertCall) Context(ctx context.Context) *ProjectsConfigurationsUpsertCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsConfigurationsUpsertCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *ProjectsConfigurationsUpsertCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.configuration)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+parent}/configurations:upsert")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("POST", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"parent": c.parent,
})
c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "threatintelligence.projects.configurations.upsert", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "threatintelligence.projects.configurations.upsert" call.
// Any non-2xx status code is an error. Response headers are in either
// *UpsertConfigurationResponse.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsConfigurationsUpsertCall) Do(opts ...googleapi.CallOption) (*UpsertConfigurationResponse, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
if res.Body != nil {
res.Body.Close()
}
return nil, gensupport.WrapError(&googleapi.Error{
Code: res.StatusCode,
Header: res.Header,
})
}
if err != nil {
return nil, err
}
defer googleapi.CloseBody(res)
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
ret := &UpsertConfigurationResponse{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
b, err := gensupport.DecodeResponseBytes(target, res)
if err != nil {
return nil, err
}
c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "threatintelligence.projects.configurations.upsert", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
type ProjectsConfigurationsRevisionsListCall struct {
s *Service
parent string
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
header_ http.Header
}
// List: List configuration revisions that meet the filter criteria.
//
// - parent: The name of the Configuration to retrieve Revisions for.
func (r *ProjectsConfigurationsRevisionsService) List(parent string) *ProjectsConfigurationsRevisionsListCall {
c := &ProjectsConfigurationsRevisionsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.parent = parent
return c
}
// Filter sets the optional parameter "filter": An AIP-160 filter string
func (c *ProjectsConfigurationsRevisionsListCall) Filter(filter string) *ProjectsConfigurationsRevisionsListCall {
c.urlParams_.Set("filter", filter)
return c
}
// OrderBy sets the optional parameter "orderBy": Specify ordering of response
func (c *ProjectsConfigurationsRevisionsListCall) OrderBy(orderBy string) *ProjectsConfigurationsRevisionsListCall {
c.urlParams_.Set("orderBy", orderBy)
return c
}
// PageSize sets the optional parameter "pageSize": Page Size
func (c *ProjectsConfigurationsRevisionsListCall) PageSize(pageSize int64) *ProjectsConfigurationsRevisionsListCall {
c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
return c
}
// PageToken sets the optional parameter "pageToken": A page token provided by
// the API
func (c *ProjectsConfigurationsRevisionsListCall) PageToken(pageToken string) *ProjectsConfigurationsRevisionsListCall {
c.urlParams_.Set("pageToken", pageToken)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsConfigurationsRevisionsListCall) Fields(s ...googleapi.Field) *ProjectsConfigurationsRevisionsListCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsConfigurationsRevisionsListCall) IfNoneMatch(entityTag string) *ProjectsConfigurationsRevisionsListCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
func (c *ProjectsConfigurationsRevisionsListCall) Context(ctx context.Context) *ProjectsConfigurationsRevisionsListCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsConfigurationsRevisionsListCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *ProjectsConfigurationsRevisionsListCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+parent}/revisions")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"parent": c.parent,
})
c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "threatintelligence.projects.configurations.revisions.list", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "threatintelligence.projects.configurations.revisions.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *ListConfigurationRevisionsResponse.ServerResponse.Header or (if a response
// was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsConfigurationsRevisionsListCall) Do(opts ...googleapi.CallOption) (*ListConfigurationRevisionsResponse, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
if res.Body != nil {
res.Body.Close()
}
return nil, gensupport.WrapError(&googleapi.Error{
Code: res.StatusCode,
Header: res.Header,
})
}
if err != nil {
return nil, err
}
defer googleapi.CloseBody(res)
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
ret := &ListConfigurationRevisionsResponse{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
b, err := gensupport.DecodeResponseBytes(target, res)
if err != nil {
return nil, err
}
c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "threatintelligence.projects.configurations.revisions.list", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ProjectsConfigurationsRevisionsListCall) Pages(ctx context.Context, f func(*ListConfigurationRevisionsResponse) error) error {
c.ctx_ = ctx
defer c.PageToken(c.urlParams_.Get("pageToken"))
for {
x, err := c.Do()
if err != nil {
return err
}
if err := f(x); err != nil {
return err
}
if x.NextPageToken == "" {
return nil
}
c.PageToken(x.NextPageToken)
}
}
type ProjectsFindingsGetCall struct {
s *Service
name string
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
header_ http.Header
}
// Get: Get a finding by name. The `name` field should have the format:
// `projects/{project}/findings/{finding}`
//
// - name: Name of the finding to get.
func (r *ProjectsFindingsService) Get(name string) *ProjectsFindingsGetCall {
c := &ProjectsFindingsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.name = name
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsFindingsGetCall) Fields(s ...googleapi.Field) *ProjectsFindingsGetCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsFindingsGetCall) IfNoneMatch(entityTag string) *ProjectsFindingsGetCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
func (c *ProjectsFindingsGetCall) Context(ctx context.Context) *ProjectsFindingsGetCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsFindingsGetCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *ProjectsFindingsGetCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+name}")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"name": c.name,
})
c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "threatintelligence.projects.findings.get", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "threatintelligence.projects.findings.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *Finding.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
func (c *ProjectsFindingsGetCall) Do(opts ...googleapi.CallOption) (*Finding, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
if res.Body != nil {
res.Body.Close()
}
return nil, gensupport.WrapError(&googleapi.Error{
Code: res.StatusCode,
Header: res.Header,
})
}
if err != nil {
return nil, err
}
defer googleapi.CloseBody(res)
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
ret := &Finding{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
b, err := gensupport.DecodeResponseBytes(target, res)
if err != nil {
return nil, err
}
c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "threatintelligence.projects.findings.get", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
type ProjectsFindingsListCall struct {
s *Service
parent string
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
header_ http.Header
}
// List: Get a list of findings that meet the filter criteria. The `parent`
// field in ListFindingsRequest should have the format: projects/{project}
//
// - parent: Parent of the findings.
func (r *ProjectsFindingsService) List(parent string) *ProjectsFindingsListCall {
c := &ProjectsFindingsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.parent = parent
return c
}
// Filter sets the optional parameter "filter": Filter criteria.
func (c *ProjectsFindingsListCall) Filter(filter string) *ProjectsFindingsListCall {
c.urlParams_.Set("filter", filter)
return c
}
// OrderBy sets the optional parameter "orderBy": Order by criteria in the csv
// format: "field1,field2 desc" or "field1,field2" or "field1 asc, field2".
func (c *ProjectsFindingsListCall) OrderBy(orderBy string) *ProjectsFindingsListCall {
c.urlParams_.Set("orderBy", orderBy)
return c
}
// PageSize sets the optional parameter "pageSize": Page size.
func (c *ProjectsFindingsListCall) PageSize(pageSize int64) *ProjectsFindingsListCall {
c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
return c
}
// PageToken sets the optional parameter "pageToken": Page token.
func (c *ProjectsFindingsListCall) PageToken(pageToken string) *ProjectsFindingsListCall {
c.urlParams_.Set("pageToken", pageToken)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsFindingsListCall) Fields(s ...googleapi.Field) *ProjectsFindingsListCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsFindingsListCall) IfNoneMatch(entityTag string) *ProjectsFindingsListCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
func (c *ProjectsFindingsListCall) Context(ctx context.Context) *ProjectsFindingsListCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsFindingsListCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *ProjectsFindingsListCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+parent}/findings")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"parent": c.parent,
})
c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "threatintelligence.projects.findings.list", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "threatintelligence.projects.findings.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *ListFindingsResponse.ServerResponse.Header or (if a response was returned
// at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsFindingsListCall) Do(opts ...googleapi.CallOption) (*ListFindingsResponse, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
if res.Body != nil {
res.Body.Close()
}
return nil, gensupport.WrapError(&googleapi.Error{
Code: res.StatusCode,
Header: res.Header,
})
}
if err != nil {
return nil, err
}
defer googleapi.CloseBody(res)
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
ret := &ListFindingsResponse{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
b, err := gensupport.DecodeResponseBytes(target, res)
if err != nil {
return nil, err
}
c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "threatintelligence.projects.findings.list", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ProjectsFindingsListCall) Pages(ctx context.Context, f func(*ListFindingsResponse) error) error {
c.ctx_ = ctx
defer c.PageToken(c.urlParams_.Get("pageToken"))
for {
x, err := c.Do()
if err != nil {
return err
}
if err := f(x); err != nil {
return err
}
if x.NextPageToken == "" {
return nil
}
c.PageToken(x.NextPageToken)
}
}
type ProjectsFindingsSearchCall struct {
s *Service
parent string
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
header_ http.Header
}
// Search: SearchFindings is a more powerful version of ListFindings that
// supports complex queries like "findings for alerts" using functions such as
// `has_alert` in the query string. The `parent` field in SearchFindingsRequest
// should have the format: projects/{project} Example to search for findings
// for a specific issue:
// `has_alert("name=\"projects/gti-12345/alerts/alert-12345\"")`
//
// - parent: Parent of the findings. Format: vaults/{vault}.
func (r *ProjectsFindingsService) Search(parent string) *ProjectsFindingsSearchCall {
c := &ProjectsFindingsSearchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.parent = parent
return c
}
// OrderBy sets the optional parameter "orderBy": Order by criteria in the csv
// format: "field1,field2 desc" or "field1,field2" or "field1 asc, field2".
func (c *ProjectsFindingsSearchCall) OrderBy(orderBy string) *ProjectsFindingsSearchCall {
c.urlParams_.Set("orderBy", orderBy)
return c
}
// PageSize sets the optional parameter "pageSize": Page size.
func (c *ProjectsFindingsSearchCall) PageSize(pageSize int64) *ProjectsFindingsSearchCall {
c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
return c
}
// PageToken sets the optional parameter "pageToken": Page token.
func (c *ProjectsFindingsSearchCall) PageToken(pageToken string) *ProjectsFindingsSearchCall {
c.urlParams_.Set("pageToken", pageToken)
return c
}
// Query sets the optional parameter "query": Query on what findings will be
// returned. This supports the same filter criteria as
// FindingService.ListFindings as well as the following relationship query
// `has_alert`. Example: -
// `has_alert("name=\"projects/gti-12345/alerts/alert-12345\"")`
func (c *ProjectsFindingsSearchCall) Query(query string) *ProjectsFindingsSearchCall {
c.urlParams_.Set("query", query)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsFindingsSearchCall) Fields(s ...googleapi.Field) *ProjectsFindingsSearchCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsFindingsSearchCall) IfNoneMatch(entityTag string) *ProjectsFindingsSearchCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
func (c *ProjectsFindingsSearchCall) Context(ctx context.Context) *ProjectsFindingsSearchCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsFindingsSearchCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *ProjectsFindingsSearchCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+parent}/findings:search")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"parent": c.parent,
})
c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "threatintelligence.projects.findings.search", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "threatintelligence.projects.findings.search" call.
// Any non-2xx status code is an error. Response headers are in either
// *SearchFindingsResponse.ServerResponse.Header or (if a response was returned
// at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsFindingsSearchCall) Do(opts ...googleapi.CallOption) (*SearchFindingsResponse, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
if res.Body != nil {
res.Body.Close()
}
return nil, gensupport.WrapError(&googleapi.Error{
Code: res.StatusCode,
Header: res.Header,
})
}
if err != nil {
return nil, err
}
defer googleapi.CloseBody(res)
if err := googleapi.CheckResponse(res); err != nil {
return nil, gensupport.WrapError(err)
}
ret := &SearchFindingsResponse{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
b, err := gensupport.DecodeResponseBytes(target, res)
if err != nil {
return nil, err
}
c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "threatintelligence.projects.findings.search", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ProjectsFindingsSearchCall) Pages(ctx context.Context, f func(*SearchFindingsResponse) error) error {
c.ctx_ = ctx
defer c.PageToken(c.urlParams_.Get("pageToken"))
for {
x, err := c.Do()
if err != nil {
return err
}
if err := f(x); err != nil {
return err
}
if x.NextPageToken == "" {
return nil
}
c.PageToken(x.NextPageToken)
}
}