mirror of
https://github.com/Luzifer/nginx-sso.git
synced 2024-12-25 15:21:16 +00:00
1611 lines
57 KiB
Go
1611 lines
57 KiB
Go
// Copyright 2019 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 cloudasset provides access to the Cloud Asset API.
|
|
//
|
|
// For product documentation, see: https://cloud.google.com/resource-manager/docs/cloud-asset-inventory/quickstart-cloud-asset-inventory
|
|
//
|
|
// Creating a client
|
|
//
|
|
// Usage example:
|
|
//
|
|
// import "google.golang.org/api/cloudasset/v1"
|
|
// ...
|
|
// ctx := context.Background()
|
|
// cloudassetService, err := cloudasset.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 option.WithAPIKey:
|
|
//
|
|
// cloudassetService, err := cloudasset.NewService(ctx, option.WithAPIKey("AIza..."))
|
|
//
|
|
// To use an OAuth token (e.g., a user token obtained via a three-legged OAuth flow), use option.WithTokenSource:
|
|
//
|
|
// config := &oauth2.Config{...}
|
|
// // ...
|
|
// token, err := config.Exchange(ctx, ...)
|
|
// cloudassetService, err := cloudasset.NewService(ctx, option.WithTokenSource(config.TokenSource(ctx, token)))
|
|
//
|
|
// See https://godoc.org/google.golang.org/api/option/ for details on options.
|
|
package cloudasset // import "google.golang.org/api/cloudasset/v1"
|
|
|
|
import (
|
|
"bytes"
|
|
"context"
|
|
"encoding/json"
|
|
"errors"
|
|
"fmt"
|
|
"io"
|
|
"net/http"
|
|
"net/url"
|
|
"strconv"
|
|
"strings"
|
|
|
|
gensupport "google.golang.org/api/gensupport"
|
|
googleapi "google.golang.org/api/googleapi"
|
|
option "google.golang.org/api/option"
|
|
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
|
|
|
|
const apiId = "cloudasset:v1"
|
|
const apiName = "cloudasset"
|
|
const apiVersion = "v1"
|
|
const basePath = "https://cloudasset.googleapis.com/"
|
|
|
|
// OAuth2 scopes used by this API.
|
|
const (
|
|
// View and manage your data across Google Cloud Platform services
|
|
CloudPlatformScope = "https://www.googleapis.com/auth/cloud-platform"
|
|
)
|
|
|
|
// NewService creates a new Service.
|
|
func NewService(ctx context.Context, opts ...option.ClientOption) (*Service, error) {
|
|
scopesOption := option.WithScopes(
|
|
"https://www.googleapis.com/auth/cloud-platform",
|
|
)
|
|
// NOTE: prepend, so we don't override user-specified scopes.
|
|
opts = append([]option.ClientOption{scopesOption}, opts...)
|
|
client, endpoint, err := htransport.NewClient(ctx, opts...)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
s, err := New(client)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
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")
|
|
}
|
|
s := &Service{client: client, BasePath: basePath}
|
|
s.Operations = NewOperationsService(s)
|
|
s.V1 = NewV1Service(s)
|
|
return s, nil
|
|
}
|
|
|
|
type Service struct {
|
|
client *http.Client
|
|
BasePath string // API endpoint base URL
|
|
UserAgent string // optional additional User-Agent fragment
|
|
|
|
Operations *OperationsService
|
|
|
|
V1 *V1Service
|
|
}
|
|
|
|
func (s *Service) userAgent() string {
|
|
if s.UserAgent == "" {
|
|
return googleapi.UserAgent
|
|
}
|
|
return googleapi.UserAgent + " " + s.UserAgent
|
|
}
|
|
|
|
func NewOperationsService(s *Service) *OperationsService {
|
|
rs := &OperationsService{s: s}
|
|
return rs
|
|
}
|
|
|
|
type OperationsService struct {
|
|
s *Service
|
|
}
|
|
|
|
func NewV1Service(s *Service) *V1Service {
|
|
rs := &V1Service{s: s}
|
|
return rs
|
|
}
|
|
|
|
type V1Service struct {
|
|
s *Service
|
|
}
|
|
|
|
// Asset: Cloud asset. This includes all Google Cloud Platform
|
|
// resources,
|
|
// Cloud IAM policies, and other non-GCP assets.
|
|
type Asset struct {
|
|
// AssetType: Type of the asset. Example: "compute.googleapis.com/Disk".
|
|
AssetType string `json:"assetType,omitempty"`
|
|
|
|
// IamPolicy: Representation of the actual Cloud IAM policy set on a
|
|
// cloud resource. For
|
|
// each resource, there must be at most one Cloud IAM policy set on it.
|
|
IamPolicy *Policy `json:"iamPolicy,omitempty"`
|
|
|
|
// Name: The full name of the asset. For
|
|
// example:
|
|
// `//compute.googleapis.com/projects/my_project_123/zones/zone1
|
|
// /instances/instance1`.
|
|
// See
|
|
// [Resource
|
|
// Names](https://cloud.google.com/apis/design/resource_names#f
|
|
// ull_resource_name)
|
|
// for more information.
|
|
Name string `json:"name,omitempty"`
|
|
|
|
// Resource: Representation of the resource.
|
|
Resource *Resource `json:"resource,omitempty"`
|
|
|
|
// ForceSendFields is a list of field names (e.g. "AssetType") to
|
|
// unconditionally include in API requests. By default, fields with
|
|
// empty values are omitted from API requests. However, any non-pointer,
|
|
// non-interface field appearing in ForceSendFields will be sent to the
|
|
// server regardless of whether the field is empty or not. This may be
|
|
// used to include empty fields in Patch requests.
|
|
ForceSendFields []string `json:"-"`
|
|
|
|
// NullFields is a list of field names (e.g. "AssetType") to include in
|
|
// API requests with the JSON null value. By default, fields with empty
|
|
// values are omitted from API requests. However, any field with an
|
|
// empty value appearing in NullFields will be sent to the server as
|
|
// null. It is an error if a field in this list has a non-empty value.
|
|
// This may be used to include null fields in Patch requests.
|
|
NullFields []string `json:"-"`
|
|
}
|
|
|
|
func (s *Asset) MarshalJSON() ([]byte, error) {
|
|
type NoMethod Asset
|
|
raw := NoMethod(*s)
|
|
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
|
|
}
|
|
|
|
// AuditConfig: Specifies the audit configuration for a service.
|
|
// The configuration determines which permission types are logged, and
|
|
// what
|
|
// identities, if any, are exempted from logging.
|
|
// An AuditConfig must have one or more AuditLogConfigs.
|
|
//
|
|
// If there are AuditConfigs for both `allServices` and a specific
|
|
// service,
|
|
// the union of the two AuditConfigs is used for that service: the
|
|
// log_types
|
|
// specified in each AuditConfig are enabled, and the exempted_members
|
|
// in each
|
|
// AuditLogConfig are exempted.
|
|
//
|
|
// Example Policy with multiple AuditConfigs:
|
|
//
|
|
// {
|
|
// "audit_configs": [
|
|
// {
|
|
// "service": "allServices"
|
|
// "audit_log_configs": [
|
|
// {
|
|
// "log_type": "DATA_READ",
|
|
// "exempted_members": [
|
|
// "user:foo@gmail.com"
|
|
// ]
|
|
// },
|
|
// {
|
|
// "log_type": "DATA_WRITE",
|
|
// },
|
|
// {
|
|
// "log_type": "ADMIN_READ",
|
|
// }
|
|
// ]
|
|
// },
|
|
// {
|
|
// "service": "fooservice.googleapis.com"
|
|
// "audit_log_configs": [
|
|
// {
|
|
// "log_type": "DATA_READ",
|
|
// },
|
|
// {
|
|
// "log_type": "DATA_WRITE",
|
|
// "exempted_members": [
|
|
// "user:bar@gmail.com"
|
|
// ]
|
|
// }
|
|
// ]
|
|
// }
|
|
// ]
|
|
// }
|
|
//
|
|
// For fooservice, this policy enables DATA_READ, DATA_WRITE and
|
|
// ADMIN_READ
|
|
// logging. It also exempts foo@gmail.com from DATA_READ logging,
|
|
// and
|
|
// bar@gmail.com from DATA_WRITE logging.
|
|
type AuditConfig struct {
|
|
// AuditLogConfigs: The configuration for logging of each type of
|
|
// permission.
|
|
AuditLogConfigs []*AuditLogConfig `json:"auditLogConfigs,omitempty"`
|
|
|
|
// Service: Specifies a service that will be enabled for audit
|
|
// logging.
|
|
// For example, `storage.googleapis.com`,
|
|
// `cloudsql.googleapis.com`.
|
|
// `allServices` is a special value that covers all services.
|
|
Service string `json:"service,omitempty"`
|
|
|
|
// ForceSendFields is a list of field names (e.g. "AuditLogConfigs") to
|
|
// unconditionally include in API requests. By default, fields with
|
|
// empty values are omitted from API requests. However, any non-pointer,
|
|
// non-interface field appearing in ForceSendFields will be sent to the
|
|
// server regardless of whether the field is empty or not. This may be
|
|
// used to include empty fields in Patch requests.
|
|
ForceSendFields []string `json:"-"`
|
|
|
|
// NullFields is a list of field names (e.g. "AuditLogConfigs") to
|
|
// include in API requests with the JSON null value. By default, fields
|
|
// with empty values are omitted from API requests. However, any field
|
|
// with an empty value appearing in NullFields will be sent to the
|
|
// server as null. It is an error if a field in this list has a
|
|
// non-empty value. This may be used to include null fields in Patch
|
|
// requests.
|
|
NullFields []string `json:"-"`
|
|
}
|
|
|
|
func (s *AuditConfig) MarshalJSON() ([]byte, error) {
|
|
type NoMethod AuditConfig
|
|
raw := NoMethod(*s)
|
|
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
|
|
}
|
|
|
|
// AuditLogConfig: Provides the configuration for logging a type of
|
|
// permissions.
|
|
// Example:
|
|
//
|
|
// {
|
|
// "audit_log_configs": [
|
|
// {
|
|
// "log_type": "DATA_READ",
|
|
// "exempted_members": [
|
|
// "user:foo@gmail.com"
|
|
// ]
|
|
// },
|
|
// {
|
|
// "log_type": "DATA_WRITE",
|
|
// }
|
|
// ]
|
|
// }
|
|
//
|
|
// This enables 'DATA_READ' and 'DATA_WRITE' logging, while
|
|
// exempting
|
|
// foo@gmail.com from DATA_READ logging.
|
|
type AuditLogConfig struct {
|
|
// ExemptedMembers: Specifies the identities that do not cause logging
|
|
// for this type of
|
|
// permission.
|
|
// Follows the same format of Binding.members.
|
|
ExemptedMembers []string `json:"exemptedMembers,omitempty"`
|
|
|
|
// LogType: The log type that this config enables.
|
|
//
|
|
// Possible values:
|
|
// "LOG_TYPE_UNSPECIFIED" - Default case. Should never be this.
|
|
// "ADMIN_READ" - Admin reads. Example: CloudIAM getIamPolicy
|
|
// "DATA_WRITE" - Data writes. Example: CloudSQL Users create
|
|
// "DATA_READ" - Data reads. Example: CloudSQL Users list
|
|
LogType string `json:"logType,omitempty"`
|
|
|
|
// ForceSendFields is a list of field names (e.g. "ExemptedMembers") to
|
|
// unconditionally include in API requests. By default, fields with
|
|
// empty values are omitted from API requests. However, any non-pointer,
|
|
// non-interface field appearing in ForceSendFields will be sent to the
|
|
// server regardless of whether the field is empty or not. This may be
|
|
// used to include empty fields in Patch requests.
|
|
ForceSendFields []string `json:"-"`
|
|
|
|
// NullFields is a list of field names (e.g. "ExemptedMembers") to
|
|
// include in API requests with the JSON null value. By default, fields
|
|
// with empty values are omitted from API requests. However, any field
|
|
// with an empty value appearing in NullFields will be sent to the
|
|
// server as null. It is an error if a field in this list has a
|
|
// non-empty value. This may be used to include null fields in Patch
|
|
// requests.
|
|
NullFields []string `json:"-"`
|
|
}
|
|
|
|
func (s *AuditLogConfig) MarshalJSON() ([]byte, error) {
|
|
type NoMethod AuditLogConfig
|
|
raw := NoMethod(*s)
|
|
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
|
|
}
|
|
|
|
// BatchGetAssetsHistoryResponse: Batch get assets history response.
|
|
type BatchGetAssetsHistoryResponse struct {
|
|
// Assets: A list of assets with valid time windows.
|
|
Assets []*TemporalAsset `json:"assets,omitempty"`
|
|
|
|
// ServerResponse contains the HTTP response code and headers from the
|
|
// server.
|
|
googleapi.ServerResponse `json:"-"`
|
|
|
|
// ForceSendFields is a list of field names (e.g. "Assets") to
|
|
// unconditionally include in API requests. By default, fields with
|
|
// empty values are omitted from API requests. However, any non-pointer,
|
|
// non-interface field appearing in ForceSendFields will be sent to the
|
|
// server regardless of whether the field is empty or not. This may be
|
|
// used to include empty fields in Patch requests.
|
|
ForceSendFields []string `json:"-"`
|
|
|
|
// NullFields is a list of field names (e.g. "Assets") to include in API
|
|
// requests with the JSON null value. By default, fields with empty
|
|
// values are omitted from API requests. However, any field with an
|
|
// empty value appearing in NullFields will be sent to the server as
|
|
// null. It is an error if a field in this list has a non-empty value.
|
|
// This may be used to include null fields in Patch requests.
|
|
NullFields []string `json:"-"`
|
|
}
|
|
|
|
func (s *BatchGetAssetsHistoryResponse) MarshalJSON() ([]byte, error) {
|
|
type NoMethod BatchGetAssetsHistoryResponse
|
|
raw := NoMethod(*s)
|
|
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
|
|
}
|
|
|
|
// Binding: Associates `members` with a `role`.
|
|
type Binding struct {
|
|
// Condition: The condition that is associated with this binding.
|
|
// NOTE: An unsatisfied condition will not allow user access via
|
|
// current
|
|
// binding. Different bindings, including their conditions, are
|
|
// examined
|
|
// independently.
|
|
Condition *Expr `json:"condition,omitempty"`
|
|
|
|
// Members: Specifies the identities requesting access for a Cloud
|
|
// Platform resource.
|
|
// `members` can have the following values:
|
|
//
|
|
// * `allUsers`: A special identifier that represents anyone who is
|
|
// on the internet; with or without a Google account.
|
|
//
|
|
// * `allAuthenticatedUsers`: A special identifier that represents
|
|
// anyone
|
|
// who is authenticated with a Google account or a service
|
|
// account.
|
|
//
|
|
// * `user:{emailid}`: An email address that represents a specific
|
|
// Google
|
|
// account. For example, `alice@gmail.com` .
|
|
//
|
|
//
|
|
// * `serviceAccount:{emailid}`: An email address that represents a
|
|
// service
|
|
// account. For example,
|
|
// `my-other-app@appspot.gserviceaccount.com`.
|
|
//
|
|
// * `group:{emailid}`: An email address that represents a Google
|
|
// group.
|
|
// For example, `admins@example.com`.
|
|
//
|
|
//
|
|
// * `domain:{domain}`: The G Suite domain (primary) that represents all
|
|
// the
|
|
// users of that domain. For example, `google.com` or
|
|
// `example.com`.
|
|
//
|
|
//
|
|
Members []string `json:"members,omitempty"`
|
|
|
|
// Role: Role that is assigned to `members`.
|
|
// For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
|
|
Role string `json:"role,omitempty"`
|
|
|
|
// ForceSendFields is a list of field names (e.g. "Condition") to
|
|
// unconditionally include in API requests. By default, fields with
|
|
// empty values are omitted from API requests. However, any non-pointer,
|
|
// non-interface field appearing in ForceSendFields will be sent to the
|
|
// server regardless of whether the field is empty or not. This may be
|
|
// used to include empty fields in Patch requests.
|
|
ForceSendFields []string `json:"-"`
|
|
|
|
// NullFields is a list of field names (e.g. "Condition") to include in
|
|
// API requests with the JSON null value. By default, fields with empty
|
|
// values are omitted from API requests. However, any field with an
|
|
// empty value appearing in NullFields will be sent to the server as
|
|
// null. It is an error if a field in this list has a non-empty value.
|
|
// This may be used to include null fields in Patch requests.
|
|
NullFields []string `json:"-"`
|
|
}
|
|
|
|
func (s *Binding) MarshalJSON() ([]byte, error) {
|
|
type NoMethod Binding
|
|
raw := NoMethod(*s)
|
|
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
|
|
}
|
|
|
|
// ExportAssetsRequest: Export asset request.
|
|
type ExportAssetsRequest struct {
|
|
// AssetTypes: A list of asset types of which to take a snapshot for.
|
|
// For example:
|
|
// "compute.googleapis.com/Disk". If specified, only matching assets
|
|
// will be returned.
|
|
// See [Introduction to Cloud
|
|
// Asset
|
|
// Inventory](https://cloud.google.com/resource-manager/docs/cloud-
|
|
// asset-inventory/overview)
|
|
// for all supported asset types.
|
|
AssetTypes []string `json:"assetTypes,omitempty"`
|
|
|
|
// ContentType: Asset content type. If not specified, no content but the
|
|
// asset name will be
|
|
// returned.
|
|
//
|
|
// Possible values:
|
|
// "CONTENT_TYPE_UNSPECIFIED" - Unspecified content type.
|
|
// "RESOURCE" - Resource metadata.
|
|
// "IAM_POLICY" - The actual IAM policy set on a resource.
|
|
ContentType string `json:"contentType,omitempty"`
|
|
|
|
// OutputConfig: Required. Output configuration indicating where the
|
|
// results will be output
|
|
// to. All results will be in newline delimited JSON format.
|
|
OutputConfig *OutputConfig `json:"outputConfig,omitempty"`
|
|
|
|
// ReadTime: Timestamp to take an asset snapshot. This can only be set
|
|
// to a timestamp
|
|
// between 2018-10-02 UTC (inclusive) and the current time. If not
|
|
// specified,
|
|
// the current time will be used. Due to delays in resource data
|
|
// collection
|
|
// and indexing, there is a volatile window during which running the
|
|
// same
|
|
// query may get different results.
|
|
ReadTime string `json:"readTime,omitempty"`
|
|
|
|
// ForceSendFields is a list of field names (e.g. "AssetTypes") to
|
|
// unconditionally include in API requests. By default, fields with
|
|
// empty values are omitted from API requests. However, any non-pointer,
|
|
// non-interface field appearing in ForceSendFields will be sent to the
|
|
// server regardless of whether the field is empty or not. This may be
|
|
// used to include empty fields in Patch requests.
|
|
ForceSendFields []string `json:"-"`
|
|
|
|
// NullFields is a list of field names (e.g. "AssetTypes") to include in
|
|
// API requests with the JSON null value. By default, fields with empty
|
|
// values are omitted from API requests. However, any field with an
|
|
// empty value appearing in NullFields will be sent to the server as
|
|
// null. It is an error if a field in this list has a non-empty value.
|
|
// This may be used to include null fields in Patch requests.
|
|
NullFields []string `json:"-"`
|
|
}
|
|
|
|
func (s *ExportAssetsRequest) MarshalJSON() ([]byte, error) {
|
|
type NoMethod ExportAssetsRequest
|
|
raw := NoMethod(*s)
|
|
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
|
|
}
|
|
|
|
// Expr: Represents an expression text. Example:
|
|
//
|
|
// title: "User account presence"
|
|
// description: "Determines whether the request has a user account"
|
|
// expression: "size(request.user) > 0"
|
|
type Expr struct {
|
|
// Description: An optional description of the expression. This is a
|
|
// longer text which
|
|
// describes the expression, e.g. when hovered over it in a UI.
|
|
Description string `json:"description,omitempty"`
|
|
|
|
// Expression: Textual representation of an expression in
|
|
// Common Expression Language syntax.
|
|
//
|
|
// The application context of the containing message determines
|
|
// which
|
|
// well-known feature set of CEL is supported.
|
|
Expression string `json:"expression,omitempty"`
|
|
|
|
// Location: An optional string indicating the location of the
|
|
// expression for error
|
|
// reporting, e.g. a file name and a position in the file.
|
|
Location string `json:"location,omitempty"`
|
|
|
|
// Title: An optional title for the expression, i.e. a short string
|
|
// describing
|
|
// its purpose. This can be used e.g. in UIs which allow to enter
|
|
// the
|
|
// expression.
|
|
Title string `json:"title,omitempty"`
|
|
|
|
// ForceSendFields is a list of field names (e.g. "Description") to
|
|
// unconditionally include in API requests. By default, fields with
|
|
// empty values are omitted from API requests. However, any non-pointer,
|
|
// non-interface field appearing in ForceSendFields will be sent to the
|
|
// server regardless of whether the field is empty or not. This may be
|
|
// used to include empty fields in Patch requests.
|
|
ForceSendFields []string `json:"-"`
|
|
|
|
// NullFields is a list of field names (e.g. "Description") to include
|
|
// in API requests with the JSON null value. By default, fields with
|
|
// empty values are omitted from API requests. However, any field with
|
|
// an empty value appearing in NullFields will be sent to the server as
|
|
// null. It is an error if a field in this list has a non-empty value.
|
|
// This may be used to include null fields in Patch requests.
|
|
NullFields []string `json:"-"`
|
|
}
|
|
|
|
func (s *Expr) MarshalJSON() ([]byte, error) {
|
|
type NoMethod Expr
|
|
raw := NoMethod(*s)
|
|
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
|
|
}
|
|
|
|
// GcsDestination: A Cloud Storage location.
|
|
type GcsDestination struct {
|
|
// Uri: The uri of the Cloud Storage object. It's the same uri that is
|
|
// used by
|
|
// gsutil. For example: "gs://bucket_name/object_name". See [Viewing
|
|
// and
|
|
// Editing
|
|
// Object
|
|
// Metadata](https://cloud.google.com/storage/docs/viewing-editing
|
|
// -metadata)
|
|
// for more information.
|
|
Uri string `json:"uri,omitempty"`
|
|
|
|
// ForceSendFields is a list of field names (e.g. "Uri") to
|
|
// unconditionally include in API requests. By default, fields with
|
|
// empty values are omitted from API requests. However, any non-pointer,
|
|
// non-interface field appearing in ForceSendFields will be sent to the
|
|
// server regardless of whether the field is empty or not. This may be
|
|
// used to include empty fields in Patch requests.
|
|
ForceSendFields []string `json:"-"`
|
|
|
|
// NullFields is a list of field names (e.g. "Uri") to include in API
|
|
// requests with the JSON null value. By default, fields with empty
|
|
// values are omitted from API requests. However, any field with an
|
|
// empty value appearing in NullFields will be sent to the server as
|
|
// null. It is an error if a field in this list has a non-empty value.
|
|
// This may be used to include null fields in Patch requests.
|
|
NullFields []string `json:"-"`
|
|
}
|
|
|
|
func (s *GcsDestination) MarshalJSON() ([]byte, error) {
|
|
type NoMethod GcsDestination
|
|
raw := NoMethod(*s)
|
|
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
|
|
}
|
|
|
|
// 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 have the format of `operations/some/unique/name`.
|
|
Name string `json:"name,omitempty"`
|
|
|
|
// Response: The normal response of the operation in case of success.
|
|
// 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 values are omitted from API requests. However, any non-pointer,
|
|
// non-interface field appearing in ForceSendFields will be sent to the
|
|
// server regardless of whether the field is empty or not. This may be
|
|
// used to include empty fields in Patch requests.
|
|
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. However, any field with an
|
|
// empty value appearing in NullFields will be sent to the server as
|
|
// null. It is an error if a field in this list has a non-empty value.
|
|
// This may be used to include null fields in Patch requests.
|
|
NullFields []string `json:"-"`
|
|
}
|
|
|
|
func (s *Operation) MarshalJSON() ([]byte, error) {
|
|
type NoMethod Operation
|
|
raw := NoMethod(*s)
|
|
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
|
|
}
|
|
|
|
// OutputConfig: Output configuration for export assets destination.
|
|
type OutputConfig struct {
|
|
// GcsDestination: Destination on Cloud Storage.
|
|
GcsDestination *GcsDestination `json:"gcsDestination,omitempty"`
|
|
|
|
// ForceSendFields is a list of field names (e.g. "GcsDestination") to
|
|
// unconditionally include in API requests. By default, fields with
|
|
// empty values are omitted from API requests. However, any non-pointer,
|
|
// non-interface field appearing in ForceSendFields will be sent to the
|
|
// server regardless of whether the field is empty or not. This may be
|
|
// used to include empty fields in Patch requests.
|
|
ForceSendFields []string `json:"-"`
|
|
|
|
// NullFields is a list of field names (e.g. "GcsDestination") to
|
|
// include in API requests with the JSON null value. By default, fields
|
|
// with empty values are omitted from API requests. However, any field
|
|
// with an empty value appearing in NullFields will be sent to the
|
|
// server as null. It is an error if a field in this list has a
|
|
// non-empty value. This may be used to include null fields in Patch
|
|
// requests.
|
|
NullFields []string `json:"-"`
|
|
}
|
|
|
|
func (s *OutputConfig) MarshalJSON() ([]byte, error) {
|
|
type NoMethod OutputConfig
|
|
raw := NoMethod(*s)
|
|
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
|
|
}
|
|
|
|
// Policy: Defines an Identity and Access Management (IAM) policy. It is
|
|
// used to
|
|
// specify access control policies for Cloud Platform resources.
|
|
//
|
|
//
|
|
// A `Policy` consists of a list of `bindings`. A `binding` binds a list
|
|
// of
|
|
// `members` to a `role`, where the members can be user accounts, Google
|
|
// groups,
|
|
// Google domains, and service accounts. A `role` is a named list of
|
|
// permissions
|
|
// defined by IAM.
|
|
//
|
|
// **JSON Example**
|
|
//
|
|
// {
|
|
// "bindings": [
|
|
// {
|
|
// "role": "roles/owner",
|
|
// "members": [
|
|
// "user:mike@example.com",
|
|
// "group:admins@example.com",
|
|
// "domain:google.com",
|
|
//
|
|
// "serviceAccount:my-other-app@appspot.gserviceaccount.com"
|
|
// ]
|
|
// },
|
|
// {
|
|
// "role": "roles/viewer",
|
|
// "members": ["user:sean@example.com"]
|
|
// }
|
|
// ]
|
|
// }
|
|
//
|
|
// **YAML Example**
|
|
//
|
|
// bindings:
|
|
// - members:
|
|
// - user:mike@example.com
|
|
// - group:admins@example.com
|
|
// - domain:google.com
|
|
// - serviceAccount:my-other-app@appspot.gserviceaccount.com
|
|
// role: roles/owner
|
|
// - members:
|
|
// - user:sean@example.com
|
|
// role: roles/viewer
|
|
//
|
|
//
|
|
// For a description of IAM and its features, see the
|
|
// [IAM developer's guide](https://cloud.google.com/iam/docs).
|
|
type Policy struct {
|
|
// AuditConfigs: Specifies cloud audit logging configuration for this
|
|
// policy.
|
|
AuditConfigs []*AuditConfig `json:"auditConfigs,omitempty"`
|
|
|
|
// Bindings: Associates a list of `members` to a `role`.
|
|
// `bindings` with no members will result in an error.
|
|
Bindings []*Binding `json:"bindings,omitempty"`
|
|
|
|
// Etag: `etag` is used for optimistic concurrency control as a way to
|
|
// help
|
|
// prevent simultaneous updates of a policy from overwriting each
|
|
// other.
|
|
// It is strongly suggested that systems make use of the `etag` in
|
|
// the
|
|
// read-modify-write cycle to perform policy updates in order to avoid
|
|
// race
|
|
// conditions: An `etag` is returned in the response to `getIamPolicy`,
|
|
// and
|
|
// systems are expected to put that etag in the request to
|
|
// `setIamPolicy` to
|
|
// ensure that their change will be applied to the same version of the
|
|
// policy.
|
|
//
|
|
// If no `etag` is provided in the call to `setIamPolicy`, then the
|
|
// existing
|
|
// policy is overwritten blindly.
|
|
Etag string `json:"etag,omitempty"`
|
|
|
|
// Version: Deprecated.
|
|
Version int64 `json:"version,omitempty"`
|
|
|
|
// ForceSendFields is a list of field names (e.g. "AuditConfigs") to
|
|
// unconditionally include in API requests. By default, fields with
|
|
// empty values are omitted from API requests. However, any non-pointer,
|
|
// non-interface field appearing in ForceSendFields will be sent to the
|
|
// server regardless of whether the field is empty or not. This may be
|
|
// used to include empty fields in Patch requests.
|
|
ForceSendFields []string `json:"-"`
|
|
|
|
// NullFields is a list of field names (e.g. "AuditConfigs") to include
|
|
// in API requests with the JSON null value. By default, fields with
|
|
// empty values are omitted from API requests. However, any field with
|
|
// an empty value appearing in NullFields will be sent to the server as
|
|
// null. It is an error if a field in this list has a non-empty value.
|
|
// This may be used to include null fields in Patch requests.
|
|
NullFields []string `json:"-"`
|
|
}
|
|
|
|
func (s *Policy) MarshalJSON() ([]byte, error) {
|
|
type NoMethod Policy
|
|
raw := NoMethod(*s)
|
|
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
|
|
}
|
|
|
|
// Resource: Representation of a cloud resource.
|
|
type Resource struct {
|
|
// Data: The content of the resource, in which some sensitive fields are
|
|
// scrubbed
|
|
// away and may not be present.
|
|
Data googleapi.RawMessage `json:"data,omitempty"`
|
|
|
|
// DiscoveryDocumentUri: The URL of the discovery document containing
|
|
// the resource's JSON schema.
|
|
// For
|
|
// example:
|
|
// "https://www.googleapis.com/discovery/v1/apis/compute/v1/res
|
|
// t".
|
|
// It will be left unspecified for resources without a discovery-based
|
|
// API,
|
|
// such as Cloud Bigtable.
|
|
DiscoveryDocumentUri string `json:"discoveryDocumentUri,omitempty"`
|
|
|
|
// DiscoveryName: The JSON schema name listed in the discovery
|
|
// document.
|
|
// Example: "Project". It will be left unspecified for resources (such
|
|
// as
|
|
// Cloud Bigtable) without a discovery-based API.
|
|
DiscoveryName string `json:"discoveryName,omitempty"`
|
|
|
|
// Parent: The full name of the immediate parent of this resource.
|
|
// See
|
|
// [Resource
|
|
// Names](https://cloud.google.com/apis/design/resource_nam
|
|
// es#full_resource_name)
|
|
// for more information.
|
|
//
|
|
// For GCP assets, it is the parent resource defined in the [Cloud IAM
|
|
// policy
|
|
// hierarchy](https://cloud.google.com/iam/docs/overview#policy_hi
|
|
// erarchy).
|
|
// For
|
|
// example:
|
|
// "//cloudresourcemanager.googleapis.com/projects/my_project_1
|
|
// 23".
|
|
//
|
|
// For third-party assets, it is up to the users to define.
|
|
Parent string `json:"parent,omitempty"`
|
|
|
|
// ResourceUrl: The REST URL for accessing the resource. An HTTP GET
|
|
// operation using this
|
|
// URL returns the resource
|
|
// itself.
|
|
// Example:
|
|
// `https://cloudresourcemanager.googleapis.com/v1/proje
|
|
// cts/my-project-123`.
|
|
// It will be left unspecified for resources without a REST API.
|
|
ResourceUrl string `json:"resourceUrl,omitempty"`
|
|
|
|
// Version: The API version. Example: "v1".
|
|
Version string `json:"version,omitempty"`
|
|
|
|
// ForceSendFields is a list of field names (e.g. "Data") to
|
|
// unconditionally include in API requests. By default, fields with
|
|
// empty values are omitted from API requests. However, any non-pointer,
|
|
// non-interface field appearing in ForceSendFields will be sent to the
|
|
// server regardless of whether the field is empty or not. This may be
|
|
// used to include empty fields in Patch requests.
|
|
ForceSendFields []string `json:"-"`
|
|
|
|
// NullFields is a list of field names (e.g. "Data") to include in API
|
|
// requests with the JSON null value. By default, fields with empty
|
|
// values are omitted from API requests. However, any field with an
|
|
// empty value appearing in NullFields will be sent to the server as
|
|
// null. It is an error if a field in this list has a non-empty value.
|
|
// This may be used to include null fields in Patch requests.
|
|
NullFields []string `json:"-"`
|
|
}
|
|
|
|
func (s *Resource) MarshalJSON() ([]byte, error) {
|
|
type NoMethod Resource
|
|
raw := NoMethod(*s)
|
|
return gensupport.MarshalJSON(raw, 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). The error model is designed
|
|
// to be:
|
|
//
|
|
// - Simple to use and understand for most users
|
|
// - Flexible enough to meet unexpected needs
|
|
//
|
|
// # Overview
|
|
//
|
|
// The `Status` message contains three pieces of data: error code,
|
|
// error
|
|
// message, and error details. The error code should be an enum value
|
|
// of
|
|
// google.rpc.Code, but it may accept additional error codes if needed.
|
|
// The
|
|
// error message should be a developer-facing English message that
|
|
// helps
|
|
// developers *understand* and *resolve* the error. If a localized
|
|
// user-facing
|
|
// error message is needed, put the localized message in the error
|
|
// details or
|
|
// localize it in the client. The optional error details may contain
|
|
// arbitrary
|
|
// information about the error. There is a predefined set of error
|
|
// detail types
|
|
// in the package `google.rpc` that can be used for common error
|
|
// conditions.
|
|
//
|
|
// # Language mapping
|
|
//
|
|
// The `Status` message is the logical representation of the error
|
|
// model, but it
|
|
// is not necessarily the actual wire format. When the `Status` message
|
|
// is
|
|
// exposed in different client libraries and different wire protocols,
|
|
// it can be
|
|
// mapped differently. For example, it will likely be mapped to some
|
|
// exceptions
|
|
// in Java, but more likely mapped to some error codes in C.
|
|
//
|
|
// # Other uses
|
|
//
|
|
// The error model and the `Status` message can be used in a variety
|
|
// of
|
|
// environments, either with or without APIs, to provide a
|
|
// consistent developer experience across different
|
|
// environments.
|
|
//
|
|
// Example uses of this error model include:
|
|
//
|
|
// - Partial errors. If a service needs to return partial errors to the
|
|
// client,
|
|
// it may embed the `Status` in the normal response to indicate the
|
|
// partial
|
|
// errors.
|
|
//
|
|
// - Workflow errors. A typical workflow has multiple steps. Each step
|
|
// may
|
|
// have a `Status` message for error reporting.
|
|
//
|
|
// - Batch operations. If a client uses batch request and batch
|
|
// response, the
|
|
// `Status` message should be used directly inside batch response,
|
|
// one for
|
|
// each error sub-response.
|
|
//
|
|
// - Asynchronous operations. If an API call embeds asynchronous
|
|
// operation
|
|
// results in its response, the status of those operations should
|
|
// be
|
|
// represented directly using the `Status` message.
|
|
//
|
|
// - Logging. If some API errors are stored in logs, the message
|
|
// `Status` could
|
|
// be used directly after any stripping needed for security/privacy
|
|
// reasons.
|
|
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 values are omitted from API requests. However, any non-pointer,
|
|
// non-interface field appearing in ForceSendFields will be sent to the
|
|
// server regardless of whether the field is empty or not. This may be
|
|
// used to include empty fields in Patch requests.
|
|
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. However, any field with an
|
|
// empty value appearing in NullFields will be sent to the server as
|
|
// null. It is an error if a field in this list has a non-empty value.
|
|
// This may be used to include null fields in Patch requests.
|
|
NullFields []string `json:"-"`
|
|
}
|
|
|
|
func (s *Status) MarshalJSON() ([]byte, error) {
|
|
type NoMethod Status
|
|
raw := NoMethod(*s)
|
|
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
|
|
}
|
|
|
|
// TemporalAsset: Temporal asset. In addition to the asset, the temporal
|
|
// asset includes the
|
|
// status of the asset and valid from and to time of it.
|
|
type TemporalAsset struct {
|
|
// Asset: Asset.
|
|
Asset *Asset `json:"asset,omitempty"`
|
|
|
|
// Deleted: If the asset is deleted or not.
|
|
Deleted bool `json:"deleted,omitempty"`
|
|
|
|
// Window: The time window when the asset data and state was observed.
|
|
Window *TimeWindow `json:"window,omitempty"`
|
|
|
|
// ForceSendFields is a list of field names (e.g. "Asset") to
|
|
// unconditionally include in API requests. By default, fields with
|
|
// empty values are omitted from API requests. However, any non-pointer,
|
|
// non-interface field appearing in ForceSendFields will be sent to the
|
|
// server regardless of whether the field is empty or not. This may be
|
|
// used to include empty fields in Patch requests.
|
|
ForceSendFields []string `json:"-"`
|
|
|
|
// NullFields is a list of field names (e.g. "Asset") to include in API
|
|
// requests with the JSON null value. By default, fields with empty
|
|
// values are omitted from API requests. However, any field with an
|
|
// empty value appearing in NullFields will be sent to the server as
|
|
// null. It is an error if a field in this list has a non-empty value.
|
|
// This may be used to include null fields in Patch requests.
|
|
NullFields []string `json:"-"`
|
|
}
|
|
|
|
func (s *TemporalAsset) MarshalJSON() ([]byte, error) {
|
|
type NoMethod TemporalAsset
|
|
raw := NoMethod(*s)
|
|
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
|
|
}
|
|
|
|
// TimeWindow: A time window of (start_time, end_time].
|
|
type TimeWindow struct {
|
|
// EndTime: End time of the time window (inclusive).
|
|
// Current timestamp if not specified.
|
|
EndTime string `json:"endTime,omitempty"`
|
|
|
|
// StartTime: Start time of the time window (exclusive).
|
|
StartTime string `json:"startTime,omitempty"`
|
|
|
|
// ForceSendFields is a list of field names (e.g. "EndTime") to
|
|
// unconditionally include in API requests. By default, fields with
|
|
// empty values are omitted from API requests. However, any non-pointer,
|
|
// non-interface field appearing in ForceSendFields will be sent to the
|
|
// server regardless of whether the field is empty or not. This may be
|
|
// used to include empty fields in Patch requests.
|
|
ForceSendFields []string `json:"-"`
|
|
|
|
// NullFields is a list of field names (e.g. "EndTime") to include in
|
|
// API requests with the JSON null value. By default, fields with empty
|
|
// values are omitted from API requests. However, any field with an
|
|
// empty value appearing in NullFields will be sent to the server as
|
|
// null. It is an error if a field in this list has a non-empty value.
|
|
// This may be used to include null fields in Patch requests.
|
|
NullFields []string `json:"-"`
|
|
}
|
|
|
|
func (s *TimeWindow) MarshalJSON() ([]byte, error) {
|
|
type NoMethod TimeWindow
|
|
raw := NoMethod(*s)
|
|
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
|
|
}
|
|
|
|
// method id "cloudasset.operations.get":
|
|
|
|
type OperationsGetCall struct {
|
|
s *Service
|
|
name string
|
|
urlParams_ gensupport.URLParams
|
|
ifNoneMatch_ string
|
|
ctx_ context.Context
|
|
header_ http.Header
|
|
}
|
|
|
|
// Get: Gets the latest state of a long-running operation. Clients can
|
|
// use this
|
|
// method to poll the operation result at intervals as recommended by
|
|
// the API
|
|
// service.
|
|
func (r *OperationsService) Get(name string) *OperationsGetCall {
|
|
c := &OperationsGetCall{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 information.
|
|
func (c *OperationsGetCall) Fields(s ...googleapi.Field) *OperationsGetCall {
|
|
c.urlParams_.Set("fields", googleapi.CombineFields(s))
|
|
return c
|
|
}
|
|
|
|
// IfNoneMatch sets the 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. Use googleapi.IsNotModified to check whether the response
|
|
// error from Do is the result of In-None-Match.
|
|
func (c *OperationsGetCall) IfNoneMatch(entityTag string) *OperationsGetCall {
|
|
c.ifNoneMatch_ = entityTag
|
|
return c
|
|
}
|
|
|
|
// Context sets the context to be used in this call's Do method. Any
|
|
// pending HTTP request will be aborted if the provided context is
|
|
// canceled.
|
|
func (c *OperationsGetCall) Context(ctx context.Context) *OperationsGetCall {
|
|
c.ctx_ = ctx
|
|
return c
|
|
}
|
|
|
|
// Header returns an http.Header that can be modified by the caller to
|
|
// add HTTP headers to the request.
|
|
func (c *OperationsGetCall) Header() http.Header {
|
|
if c.header_ == nil {
|
|
c.header_ = make(http.Header)
|
|
}
|
|
return c.header_
|
|
}
|
|
|
|
func (c *OperationsGetCall) doRequest(alt string) (*http.Response, error) {
|
|
reqHeaders := make(http.Header)
|
|
for k, v := range c.header_ {
|
|
reqHeaders[k] = v
|
|
}
|
|
reqHeaders.Set("User-Agent", c.s.userAgent())
|
|
if c.ifNoneMatch_ != "" {
|
|
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
|
|
}
|
|
var body io.Reader = nil
|
|
c.urlParams_.Set("alt", alt)
|
|
c.urlParams_.Set("prettyPrint", "false")
|
|
urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
|
|
urls += "?" + c.urlParams_.Encode()
|
|
req, err := http.NewRequest("GET", urls, body)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
req.Header = reqHeaders
|
|
googleapi.Expand(req.URL, map[string]string{
|
|
"name": c.name,
|
|
})
|
|
return gensupport.SendRequest(c.ctx_, c.s.client, req)
|
|
}
|
|
|
|
// Do executes the "cloudasset.operations.get" call.
|
|
// Exactly one of *Operation or error will be non-nil. 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 *OperationsGetCall) 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, &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, err
|
|
}
|
|
ret := &Operation{
|
|
ServerResponse: googleapi.ServerResponse{
|
|
Header: res.Header,
|
|
HTTPStatusCode: res.StatusCode,
|
|
},
|
|
}
|
|
target := &ret
|
|
if err := gensupport.DecodeResponse(target, res); err != nil {
|
|
return nil, err
|
|
}
|
|
return ret, nil
|
|
// {
|
|
// "description": "Gets the latest state of a long-running operation. Clients can use this\nmethod to poll the operation result at intervals as recommended by the API\nservice.",
|
|
// "flatPath": "v1/{v1Id}/{v1Id1}/operations/{operationsId}/{operationsId1}",
|
|
// "httpMethod": "GET",
|
|
// "id": "cloudasset.operations.get",
|
|
// "parameterOrder": [
|
|
// "name"
|
|
// ],
|
|
// "parameters": {
|
|
// "name": {
|
|
// "description": "The name of the operation resource.",
|
|
// "location": "path",
|
|
// "pattern": "^[^/]+/[^/]+/operations/[^/]+/.+$",
|
|
// "required": true,
|
|
// "type": "string"
|
|
// }
|
|
// },
|
|
// "path": "v1/{+name}",
|
|
// "response": {
|
|
// "$ref": "Operation"
|
|
// },
|
|
// "scopes": [
|
|
// "https://www.googleapis.com/auth/cloud-platform"
|
|
// ]
|
|
// }
|
|
|
|
}
|
|
|
|
// method id "cloudasset.batchGetAssetsHistory":
|
|
|
|
type V1BatchGetAssetsHistoryCall struct {
|
|
s *Service
|
|
parent string
|
|
urlParams_ gensupport.URLParams
|
|
ifNoneMatch_ string
|
|
ctx_ context.Context
|
|
header_ http.Header
|
|
}
|
|
|
|
// BatchGetAssetsHistory: Batch gets the update history of assets that
|
|
// overlap a time window.
|
|
// For RESOURCE content, this API outputs history with asset in
|
|
// both
|
|
// non-delete or deleted status.
|
|
// For IAM_POLICY content, this API outputs history when the asset and
|
|
// its
|
|
// attached IAM POLICY both exist. This can create gaps in the output
|
|
// history.
|
|
// If a specified asset does not exist, this API returns an
|
|
// INVALID_ARGUMENT
|
|
// error.
|
|
func (r *V1Service) BatchGetAssetsHistory(parent string) *V1BatchGetAssetsHistoryCall {
|
|
c := &V1BatchGetAssetsHistoryCall{s: r.s, urlParams_: make(gensupport.URLParams)}
|
|
c.parent = parent
|
|
return c
|
|
}
|
|
|
|
// AssetNames sets the optional parameter "assetNames": A list of the
|
|
// full names of the assets. For
|
|
// example:
|
|
// `//compute.googleapis.com/projects/my_project_123/zones/zone1
|
|
// /instances/instance1`.
|
|
// See
|
|
// [Resource
|
|
// Names](https://cloud.google.com/apis/design/resource_names#f
|
|
// ull_resource_name)
|
|
// and [Resource Name
|
|
// Format](https://cloud.google.com/resource-manager/docs/cloud-asset-inv
|
|
// entory/resource-name-format)
|
|
// for more info.
|
|
//
|
|
// The request becomes a no-op if the asset name list is empty, and the
|
|
// max
|
|
// size of the asset name list is 100 in one request.
|
|
func (c *V1BatchGetAssetsHistoryCall) AssetNames(assetNames ...string) *V1BatchGetAssetsHistoryCall {
|
|
c.urlParams_.SetMulti("assetNames", append([]string{}, assetNames...))
|
|
return c
|
|
}
|
|
|
|
// ContentType sets the optional parameter "contentType": Required. The
|
|
// content type.
|
|
//
|
|
// Possible values:
|
|
// "CONTENT_TYPE_UNSPECIFIED"
|
|
// "RESOURCE"
|
|
// "IAM_POLICY"
|
|
func (c *V1BatchGetAssetsHistoryCall) ContentType(contentType string) *V1BatchGetAssetsHistoryCall {
|
|
c.urlParams_.Set("contentType", contentType)
|
|
return c
|
|
}
|
|
|
|
// ReadTimeWindowEndTime sets the optional parameter
|
|
// "readTimeWindow.endTime": End time of the time window
|
|
// (inclusive).
|
|
// Current timestamp if not specified.
|
|
func (c *V1BatchGetAssetsHistoryCall) ReadTimeWindowEndTime(readTimeWindowEndTime string) *V1BatchGetAssetsHistoryCall {
|
|
c.urlParams_.Set("readTimeWindow.endTime", readTimeWindowEndTime)
|
|
return c
|
|
}
|
|
|
|
// ReadTimeWindowStartTime sets the optional parameter
|
|
// "readTimeWindow.startTime": Start time of the time window
|
|
// (exclusive).
|
|
func (c *V1BatchGetAssetsHistoryCall) ReadTimeWindowStartTime(readTimeWindowStartTime string) *V1BatchGetAssetsHistoryCall {
|
|
c.urlParams_.Set("readTimeWindow.startTime", readTimeWindowStartTime)
|
|
return c
|
|
}
|
|
|
|
// Fields allows partial responses to be retrieved. See
|
|
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
|
|
// for more information.
|
|
func (c *V1BatchGetAssetsHistoryCall) Fields(s ...googleapi.Field) *V1BatchGetAssetsHistoryCall {
|
|
c.urlParams_.Set("fields", googleapi.CombineFields(s))
|
|
return c
|
|
}
|
|
|
|
// IfNoneMatch sets the 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. Use googleapi.IsNotModified to check whether the response
|
|
// error from Do is the result of In-None-Match.
|
|
func (c *V1BatchGetAssetsHistoryCall) IfNoneMatch(entityTag string) *V1BatchGetAssetsHistoryCall {
|
|
c.ifNoneMatch_ = entityTag
|
|
return c
|
|
}
|
|
|
|
// Context sets the context to be used in this call's Do method. Any
|
|
// pending HTTP request will be aborted if the provided context is
|
|
// canceled.
|
|
func (c *V1BatchGetAssetsHistoryCall) Context(ctx context.Context) *V1BatchGetAssetsHistoryCall {
|
|
c.ctx_ = ctx
|
|
return c
|
|
}
|
|
|
|
// Header returns an http.Header that can be modified by the caller to
|
|
// add HTTP headers to the request.
|
|
func (c *V1BatchGetAssetsHistoryCall) Header() http.Header {
|
|
if c.header_ == nil {
|
|
c.header_ = make(http.Header)
|
|
}
|
|
return c.header_
|
|
}
|
|
|
|
func (c *V1BatchGetAssetsHistoryCall) doRequest(alt string) (*http.Response, error) {
|
|
reqHeaders := make(http.Header)
|
|
for k, v := range c.header_ {
|
|
reqHeaders[k] = v
|
|
}
|
|
reqHeaders.Set("User-Agent", c.s.userAgent())
|
|
if c.ifNoneMatch_ != "" {
|
|
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
|
|
}
|
|
var body io.Reader = nil
|
|
c.urlParams_.Set("alt", alt)
|
|
c.urlParams_.Set("prettyPrint", "false")
|
|
urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}:batchGetAssetsHistory")
|
|
urls += "?" + c.urlParams_.Encode()
|
|
req, err := http.NewRequest("GET", urls, body)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
req.Header = reqHeaders
|
|
googleapi.Expand(req.URL, map[string]string{
|
|
"parent": c.parent,
|
|
})
|
|
return gensupport.SendRequest(c.ctx_, c.s.client, req)
|
|
}
|
|
|
|
// Do executes the "cloudasset.batchGetAssetsHistory" call.
|
|
// Exactly one of *BatchGetAssetsHistoryResponse or error will be
|
|
// non-nil. Any non-2xx status code is an error. Response headers are in
|
|
// either *BatchGetAssetsHistoryResponse.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 *V1BatchGetAssetsHistoryCall) Do(opts ...googleapi.CallOption) (*BatchGetAssetsHistoryResponse, 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, &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, err
|
|
}
|
|
ret := &BatchGetAssetsHistoryResponse{
|
|
ServerResponse: googleapi.ServerResponse{
|
|
Header: res.Header,
|
|
HTTPStatusCode: res.StatusCode,
|
|
},
|
|
}
|
|
target := &ret
|
|
if err := gensupport.DecodeResponse(target, res); err != nil {
|
|
return nil, err
|
|
}
|
|
return ret, nil
|
|
// {
|
|
// "description": "Batch gets the update history of assets that overlap a time window.\nFor RESOURCE content, this API outputs history with asset in both\nnon-delete or deleted status.\nFor IAM_POLICY content, this API outputs history when the asset and its\nattached IAM POLICY both exist. This can create gaps in the output history.\nIf a specified asset does not exist, this API returns an INVALID_ARGUMENT\nerror.",
|
|
// "flatPath": "v1/{v1Id}/{v1Id1}:batchGetAssetsHistory",
|
|
// "httpMethod": "GET",
|
|
// "id": "cloudasset.batchGetAssetsHistory",
|
|
// "parameterOrder": [
|
|
// "parent"
|
|
// ],
|
|
// "parameters": {
|
|
// "assetNames": {
|
|
// "description": "A list of the full names of the assets. For example:\n`//compute.googleapis.com/projects/my_project_123/zones/zone1/instances/instance1`.\nSee [Resource\nNames](https://cloud.google.com/apis/design/resource_names#full_resource_name)\nand [Resource Name Format](https://cloud.google.com/resource-manager/docs/cloud-asset-inventory/resource-name-format)\nfor more info.\n\nThe request becomes a no-op if the asset name list is empty, and the max\nsize of the asset name list is 100 in one request.",
|
|
// "location": "query",
|
|
// "repeated": true,
|
|
// "type": "string"
|
|
// },
|
|
// "contentType": {
|
|
// "description": "Required. The content type.",
|
|
// "enum": [
|
|
// "CONTENT_TYPE_UNSPECIFIED",
|
|
// "RESOURCE",
|
|
// "IAM_POLICY"
|
|
// ],
|
|
// "location": "query",
|
|
// "type": "string"
|
|
// },
|
|
// "parent": {
|
|
// "description": "Required. The relative name of the root asset. It can only be an\norganization number (such as \"organizations/123\"), a project ID (such as\n\"projects/my-project-id\")\", or a project number (such as \"projects/12345\").",
|
|
// "location": "path",
|
|
// "pattern": "^[^/]+/[^/]+$",
|
|
// "required": true,
|
|
// "type": "string"
|
|
// },
|
|
// "readTimeWindow.endTime": {
|
|
// "description": "End time of the time window (inclusive).\nCurrent timestamp if not specified.",
|
|
// "format": "google-datetime",
|
|
// "location": "query",
|
|
// "type": "string"
|
|
// },
|
|
// "readTimeWindow.startTime": {
|
|
// "description": "Start time of the time window (exclusive).",
|
|
// "format": "google-datetime",
|
|
// "location": "query",
|
|
// "type": "string"
|
|
// }
|
|
// },
|
|
// "path": "v1/{+parent}:batchGetAssetsHistory",
|
|
// "response": {
|
|
// "$ref": "BatchGetAssetsHistoryResponse"
|
|
// },
|
|
// "scopes": [
|
|
// "https://www.googleapis.com/auth/cloud-platform"
|
|
// ]
|
|
// }
|
|
|
|
}
|
|
|
|
// method id "cloudasset.exportAssets":
|
|
|
|
type V1ExportAssetsCall struct {
|
|
s *Service
|
|
parent string
|
|
exportassetsrequest *ExportAssetsRequest
|
|
urlParams_ gensupport.URLParams
|
|
ctx_ context.Context
|
|
header_ http.Header
|
|
}
|
|
|
|
// ExportAssets: Exports assets with time and resource types to a given
|
|
// Cloud Storage
|
|
// location. The output format is newline-delimited JSON.
|
|
// This API implements the google.longrunning.Operation API allowing
|
|
// you
|
|
// to keep track of the export.
|
|
func (r *V1Service) ExportAssets(parent string, exportassetsrequest *ExportAssetsRequest) *V1ExportAssetsCall {
|
|
c := &V1ExportAssetsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
|
|
c.parent = parent
|
|
c.exportassetsrequest = exportassetsrequest
|
|
return c
|
|
}
|
|
|
|
// Fields allows partial responses to be retrieved. See
|
|
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
|
|
// for more information.
|
|
func (c *V1ExportAssetsCall) Fields(s ...googleapi.Field) *V1ExportAssetsCall {
|
|
c.urlParams_.Set("fields", googleapi.CombineFields(s))
|
|
return c
|
|
}
|
|
|
|
// Context sets the context to be used in this call's Do method. Any
|
|
// pending HTTP request will be aborted if the provided context is
|
|
// canceled.
|
|
func (c *V1ExportAssetsCall) Context(ctx context.Context) *V1ExportAssetsCall {
|
|
c.ctx_ = ctx
|
|
return c
|
|
}
|
|
|
|
// Header returns an http.Header that can be modified by the caller to
|
|
// add HTTP headers to the request.
|
|
func (c *V1ExportAssetsCall) Header() http.Header {
|
|
if c.header_ == nil {
|
|
c.header_ = make(http.Header)
|
|
}
|
|
return c.header_
|
|
}
|
|
|
|
func (c *V1ExportAssetsCall) doRequest(alt string) (*http.Response, error) {
|
|
reqHeaders := make(http.Header)
|
|
for k, v := range c.header_ {
|
|
reqHeaders[k] = v
|
|
}
|
|
reqHeaders.Set("User-Agent", c.s.userAgent())
|
|
var body io.Reader = nil
|
|
body, err := googleapi.WithoutDataWrapper.JSONReader(c.exportassetsrequest)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
reqHeaders.Set("Content-Type", "application/json")
|
|
c.urlParams_.Set("alt", alt)
|
|
c.urlParams_.Set("prettyPrint", "false")
|
|
urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}:exportAssets")
|
|
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,
|
|
})
|
|
return gensupport.SendRequest(c.ctx_, c.s.client, req)
|
|
}
|
|
|
|
// Do executes the "cloudasset.exportAssets" call.
|
|
// Exactly one of *Operation or error will be non-nil. 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 *V1ExportAssetsCall) 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, &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, err
|
|
}
|
|
ret := &Operation{
|
|
ServerResponse: googleapi.ServerResponse{
|
|
Header: res.Header,
|
|
HTTPStatusCode: res.StatusCode,
|
|
},
|
|
}
|
|
target := &ret
|
|
if err := gensupport.DecodeResponse(target, res); err != nil {
|
|
return nil, err
|
|
}
|
|
return ret, nil
|
|
// {
|
|
// "description": "Exports assets with time and resource types to a given Cloud Storage\nlocation. The output format is newline-delimited JSON.\nThis API implements the google.longrunning.Operation API allowing you\nto keep track of the export.",
|
|
// "flatPath": "v1/{v1Id}/{v1Id1}:exportAssets",
|
|
// "httpMethod": "POST",
|
|
// "id": "cloudasset.exportAssets",
|
|
// "parameterOrder": [
|
|
// "parent"
|
|
// ],
|
|
// "parameters": {
|
|
// "parent": {
|
|
// "description": "Required. The relative name of the root asset. This can only be an\norganization number (such as \"organizations/123\"), a project ID (such as\n\"projects/my-project-id\"), or a project number (such as \"projects/12345\"),\nor a folder number (such as \"folders/123\").",
|
|
// "location": "path",
|
|
// "pattern": "^[^/]+/[^/]+$",
|
|
// "required": true,
|
|
// "type": "string"
|
|
// }
|
|
// },
|
|
// "path": "v1/{+parent}:exportAssets",
|
|
// "request": {
|
|
// "$ref": "ExportAssetsRequest"
|
|
// },
|
|
// "response": {
|
|
// "$ref": "Operation"
|
|
// },
|
|
// "scopes": [
|
|
// "https://www.googleapis.com/auth/cloud-platform"
|
|
// ]
|
|
// }
|
|
|
|
}
|