blob: 0ee72c6518f3ffa740767d133e21cc57b8cbe301 [file] [log] [blame]
// Copyright 2024 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 redis provides access to the Google Cloud Memorystore for Redis API.
//
// This package is DEPRECATED. Use package cloud.google.com/go/redis/apiv1 instead.
//
// For product documentation, see: https://cloud.google.com/memorystore/docs/redis/
//
// # 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/redis/v1"
// ...
// ctx := context.Background()
// redisService, err := redis.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]:
//
// redisService, err := redis.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, ...)
// redisService, err := redis.NewService(ctx, option.WithTokenSource(config.TokenSource(ctx, token)))
//
// See [google.golang.org/api/option.ClientOption] for details on options.
package redis // import "google.golang.org/api/redis/v1"
import (
"bytes"
"context"
"encoding/json"
"errors"
"fmt"
"io"
"net/http"
"net/url"
"strconv"
"strings"
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
const apiId = "redis:v1"
const apiName = "redis"
const apiVersion = "v1"
const basePath = "https://redis.googleapis.com/"
const basePathTemplate = "https://redis.UNIVERSE_DOMAIN/"
const mtlsBasePath = "https://redis.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, 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.Projects = NewProjectsService(s)
return s, nil
}
type Service struct {
client *http.Client
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.Locations = NewProjectsLocationsService(s)
return rs
}
type ProjectsService struct {
s *Service
Locations *ProjectsLocationsService
}
func NewProjectsLocationsService(s *Service) *ProjectsLocationsService {
rs := &ProjectsLocationsService{s: s}
rs.Clusters = NewProjectsLocationsClustersService(s)
rs.Instances = NewProjectsLocationsInstancesService(s)
rs.Operations = NewProjectsLocationsOperationsService(s)
return rs
}
type ProjectsLocationsService struct {
s *Service
Clusters *ProjectsLocationsClustersService
Instances *ProjectsLocationsInstancesService
Operations *ProjectsLocationsOperationsService
}
func NewProjectsLocationsClustersService(s *Service) *ProjectsLocationsClustersService {
rs := &ProjectsLocationsClustersService{s: s}
return rs
}
type ProjectsLocationsClustersService struct {
s *Service
}
func NewProjectsLocationsInstancesService(s *Service) *ProjectsLocationsInstancesService {
rs := &ProjectsLocationsInstancesService{s: s}
return rs
}
type ProjectsLocationsInstancesService struct {
s *Service
}
func NewProjectsLocationsOperationsService(s *Service) *ProjectsLocationsOperationsService {
rs := &ProjectsLocationsOperationsService{s: s}
return rs
}
type ProjectsLocationsOperationsService struct {
s *Service
}
// AOFConfig: Configuration of the AOF based persistence.
type AOFConfig struct {
// AppendFsync: Optional. fsync configuration.
//
// Possible values:
// "APPEND_FSYNC_UNSPECIFIED" - Not set. Default: EVERYSEC
// "NO" - Never fsync. Normally Linux will flush data every 30 seconds with
// this configuration, but it's up to the kernel's exact tuning.
// "EVERYSEC" - fsync every second. Fast enough, and you may lose 1 second of
// data if there is a disaster
// "ALWAYS" - fsync every time new commands are appended to the AOF. It has
// the best data loss protection at the cost of performance
AppendFsync string `json:"appendFsync,omitempty"`
// ForceSendFields is a list of field names (e.g. "AppendFsync") 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. "AppendFsync") 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 *AOFConfig) MarshalJSON() ([]byte, error) {
type NoMethod AOFConfig
return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
}
// AvailabilityConfiguration: Configuration for availability of database
// instance
type AvailabilityConfiguration struct {
// AvailabilityType: Availability type. Potential values: * `ZONAL`: The
// instance serves data from only one zone. Outages in that zone affect data
// accessibility. * `REGIONAL`: The instance can serve data from more than one
// zone in a region (it is highly available).
//
// Possible values:
// "AVAILABILITY_TYPE_UNSPECIFIED"
// "ZONAL" - Zonal available instance.
// "REGIONAL" - Regional available instance.
// "MULTI_REGIONAL" - Multi regional instance
// "AVAILABILITY_TYPE_OTHER" - For rest of the other category
AvailabilityType string `json:"availabilityType,omitempty"`
// CrossRegionReplicaConfigured: Checks for resources that are configured to
// have redundancy, and ongoing replication across regions
CrossRegionReplicaConfigured bool `json:"crossRegionReplicaConfigured,omitempty"`
ExternalReplicaConfigured bool `json:"externalReplicaConfigured,omitempty"`
PromotableReplicaConfigured bool `json:"promotableReplicaConfigured,omitempty"`
// ForceSendFields is a list of field names (e.g. "AvailabilityType") 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. "AvailabilityType") 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 *AvailabilityConfiguration) MarshalJSON() ([]byte, error) {
type NoMethod AvailabilityConfiguration
return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
}
// BackupConfiguration: Configuration for automatic backups
type BackupConfiguration struct {
// AutomatedBackupEnabled: Whether customer visible automated backups are
// enabled on the instance.
AutomatedBackupEnabled bool `json:"automatedBackupEnabled,omitempty"`
// BackupRetentionSettings: Backup retention settings.
BackupRetentionSettings *RetentionSettings `json:"backupRetentionSettings,omitempty"`
// PointInTimeRecoveryEnabled: Whether point-in-time recovery is enabled. This
// is optional field, if the database service does not have this feature or
// metadata is not available in control plane, this can be omitted.
PointInTimeRecoveryEnabled bool `json:"pointInTimeRecoveryEnabled,omitempty"`
// ForceSendFields is a list of field names (e.g. "AutomatedBackupEnabled") 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. "AutomatedBackupEnabled") 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 *BackupConfiguration) MarshalJSON() ([]byte, error) {
type NoMethod BackupConfiguration
return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
}
// BackupRun: A backup run.
type BackupRun struct {
// EndTime: The time the backup operation completed. REQUIRED
EndTime string `json:"endTime,omitempty"`
// Error: Information about why the backup operation failed. This is only
// present if the run has the FAILED status. OPTIONAL
Error *OperationError `json:"error,omitempty"`
// StartTime: The time the backup operation started. REQUIRED
StartTime string `json:"startTime,omitempty"`
// Status: The status of this run. REQUIRED
//
// Possible values:
// "STATUS_UNSPECIFIED"
// "SUCCESSFUL" - The backup was successful.
// "FAILED" - The backup was unsuccessful.
Status string `json:"status,omitempty"`
// ForceSendFields is a list of field names (e.g. "EndTime") 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. "EndTime") 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 *BackupRun) MarshalJSON() ([]byte, error) {
type NoMethod BackupRun
return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
}
type CertChain struct {
// Certificates: The certificates that form the CA chain, from leaf to root
// order.
Certificates []string `json:"certificates,omitempty"`
// ForceSendFields is a list of field names (e.g. "Certificates") 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. "Certificates") 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 *CertChain) MarshalJSON() ([]byte, error) {
type NoMethod CertChain
return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
}
// CertificateAuthority: Redis cluster certificate authority
type CertificateAuthority struct {
ManagedServerCa *ManagedCertificateAuthority `json:"managedServerCa,omitempty"`
// Name: Identifier. Unique name of the resource in this scope including
// project, location and cluster using the form:
// `projects/{project}/locations/{location}/clusters/{cluster}/certificateAuthor
// ity`
Name string `json:"name,omitempty"`
// ServerResponse contains the HTTP response code and headers from the server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "ManagedServerCa") 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. "ManagedServerCa") 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 *CertificateAuthority) MarshalJSON() ([]byte, error) {
type NoMethod CertificateAuthority
return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
}
// Cluster: A cluster instance.
type Cluster struct {
// AuthorizationMode: Optional. The authorization mode of the Redis cluster. If
// not provided, auth feature is disabled for the cluster.
//
// Possible values:
// "AUTH_MODE_UNSPECIFIED" - Not set.
// "AUTH_MODE_IAM_AUTH" - IAM basic authorization mode
// "AUTH_MODE_DISABLED" - Authorization disabled mode
AuthorizationMode string `json:"authorizationMode,omitempty"`
// CreateTime: Output only. The timestamp associated with the cluster creation
// request.
CreateTime string `json:"createTime,omitempty"`
// DeletionProtectionEnabled: Optional. The delete operation will fail when the
// value is set to true.
DeletionProtectionEnabled bool `json:"deletionProtectionEnabled,omitempty"`
// DiscoveryEndpoints: Output only. Endpoints created on each given network,
// for Redis clients to connect to the cluster. Currently only one discovery
// endpoint is supported.
DiscoveryEndpoints []*DiscoveryEndpoint `json:"discoveryEndpoints,omitempty"`
// Name: Required. Unique name of the resource in this scope including project
// and location using the form:
// `projects/{project_id}/locations/{location_id}/clusters/{cluster_id}`
Name string `json:"name,omitempty"`
// NodeType: Optional. The type of a redis node in the cluster. NodeType
// determines the underlying machine-type of a redis node.
//
// Possible values:
// "NODE_TYPE_UNSPECIFIED"
// "REDIS_SHARED_CORE_NANO" - Redis shared core nano node_type.
// "REDIS_HIGHMEM_MEDIUM" - Redis highmem medium node_type.
// "REDIS_HIGHMEM_XLARGE" - Redis highmem xlarge node_type.
// "REDIS_STANDARD_SMALL" - Redis standard small node_type.
NodeType string `json:"nodeType,omitempty"`
// PersistenceConfig: Optional. Persistence config (RDB, AOF) for the cluster.
PersistenceConfig *ClusterPersistenceConfig `json:"persistenceConfig,omitempty"`
// PreciseSizeGb: Output only. Precise value of redis memory size in GB for the
// entire cluster.
PreciseSizeGb float64 `json:"preciseSizeGb,omitempty"`
// PscConfigs: Required. Each PscConfig configures the consumer network where
// IPs will be designated to the cluster for client access through Private
// Service Connect Automation. Currently, only one PscConfig is supported.
PscConfigs []*PscConfig `json:"pscConfigs,omitempty"`
// PscConnections: Output only. PSC connections for discovery of the cluster
// topology and accessing the cluster.
PscConnections []*PscConnection `json:"pscConnections,omitempty"`
// RedisConfigs: Optional. Key/Value pairs of customer overrides for mutable
// Redis Configs
RedisConfigs map[string]string `json:"redisConfigs,omitempty"`
// ReplicaCount: Optional. The number of replica nodes per shard.
ReplicaCount int64 `json:"replicaCount,omitempty"`
// ShardCount: Required. Number of shards for the Redis cluster.
ShardCount int64 `json:"shardCount,omitempty"`
// SizeGb: Output only. Redis memory size in GB for the entire cluster rounded
// up to the next integer.
SizeGb int64 `json:"sizeGb,omitempty"`
// State: Output only. The current state of this cluster. Can be CREATING,
// READY, UPDATING, DELETING and SUSPENDED
//
// Possible values:
// "STATE_UNSPECIFIED" - Not set.
// "CREATING" - Redis cluster is being created.
// "ACTIVE" - Redis cluster has been created and is fully usable.
// "UPDATING" - Redis cluster configuration is being updated.
// "DELETING" - Redis cluster is being deleted.
State string `json:"state,omitempty"`
// StateInfo: Output only. Additional information about the current state of
// the cluster.
StateInfo *StateInfo `json:"stateInfo,omitempty"`
// TransitEncryptionMode: Optional. The in-transit encryption for the Redis
// cluster. If not provided, encryption is disabled for the cluster.
//
// Possible values:
// "TRANSIT_ENCRYPTION_MODE_UNSPECIFIED" - In-transit encryption not set.
// "TRANSIT_ENCRYPTION_MODE_DISABLED" - In-transit encryption disabled.
// "TRANSIT_ENCRYPTION_MODE_SERVER_AUTHENTICATION" - Use server managed
// encryption for in-transit encryption.
TransitEncryptionMode string `json:"transitEncryptionMode,omitempty"`
// Uid: Output only. System assigned, unique identifier for the cluster.
Uid string `json:"uid,omitempty"`
// ZoneDistributionConfig: Optional. This config will be used to determine how
// the customer wants us to distribute cluster resources within the region.
ZoneDistributionConfig *ZoneDistributionConfig `json:"zoneDistributionConfig,omitempty"`
// ServerResponse contains the HTTP response code and headers from the server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "AuthorizationMode") 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. "AuthorizationMode") 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 *Cluster) MarshalJSON() ([]byte, error) {
type NoMethod Cluster
return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
}
func (s *Cluster) UnmarshalJSON(data []byte) error {
type NoMethod Cluster
var s1 struct {
PreciseSizeGb gensupport.JSONFloat64 `json:"preciseSizeGb"`
*NoMethod
}
s1.NoMethod = (*NoMethod)(s)
if err := json.Unmarshal(data, &s1); err != nil {
return err
}
s.PreciseSizeGb = float64(s1.PreciseSizeGb)
return nil
}
// ClusterPersistenceConfig: Configuration of the persistence functionality.
type ClusterPersistenceConfig struct {
// AofConfig: Optional. AOF configuration. This field will be ignored if mode
// is not AOF.
AofConfig *AOFConfig `json:"aofConfig,omitempty"`
// Mode: Optional. The mode of persistence.
//
// Possible values:
// "PERSISTENCE_MODE_UNSPECIFIED" - Not set.
// "DISABLED" - Persistence is disabled, and any snapshot data is deleted.
// "RDB" - RDB based persistence is enabled.
// "AOF" - AOF based persistence is enabled.
Mode string `json:"mode,omitempty"`
// RdbConfig: Optional. RDB configuration. This field will be ignored if mode
// is not RDB.
RdbConfig *RDBConfig `json:"rdbConfig,omitempty"`
// ForceSendFields is a list of field names (e.g. "AofConfig") 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. "AofConfig") 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 *ClusterPersistenceConfig) MarshalJSON() ([]byte, error) {
type NoMethod ClusterPersistenceConfig
return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
}
// Compliance: Contains compliance information about a security standard
// indicating unmet recommendations.
type Compliance struct {
// Standard: Industry-wide compliance standards or benchmarks, such as CIS,
// PCI, and OWASP.
Standard string `json:"standard,omitempty"`
// Version: Version of the standard or benchmark, for example, 1.1
Version string `json:"version,omitempty"`
// ForceSendFields is a list of field names (e.g. "Standard") 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. "Standard") 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 *Compliance) MarshalJSON() ([]byte, error) {
type NoMethod Compliance
return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
}
// CustomMetadataData: Any custom metadata associated with the resource. i.e. A
// spanner instance can have multiple databases with its own unique metadata.
// Information for these individual databases can be captured in custom
// metadata data
type CustomMetadataData struct {
DatabaseMetadata []*DatabaseMetadata `json:"databaseMetadata,omitempty"`
// ForceSendFields is a list of field names (e.g. "DatabaseMetadata") 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. "DatabaseMetadata") 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 *CustomMetadataData) MarshalJSON() ([]byte, error) {
type NoMethod CustomMetadataData
return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
}
// DatabaseMetadata: Metadata for individual databases created in an instance.
// i.e. spanner instance can have multiple databases with unique configuration
// settings.
type DatabaseMetadata struct {
// BackupConfiguration: Backup configuration for this database
BackupConfiguration *BackupConfiguration `json:"backupConfiguration,omitempty"`
// BackupRun: Information about the last backup attempt for this database
BackupRun *BackupRun `json:"backupRun,omitempty"`
Product *Product `json:"product,omitempty"`
ResourceId *DatabaseResourceId `json:"resourceId,omitempty"`
// ResourceName: Required. Database name. Resource name to follow CAIS
// resource_name format as noted here go/condor-common-datamodel
ResourceName string `json:"resourceName,omitempty"`
// ForceSendFields is a list of field names (e.g. "BackupConfiguration") 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. "BackupConfiguration") 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 *DatabaseMetadata) MarshalJSON() ([]byte, error) {
type NoMethod DatabaseMetadata
return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
}
// DatabaseResourceFeed: DatabaseResourceFeed is the top level proto to be used
// to ingest different database resource level events into Condor platform.
type DatabaseResourceFeed struct {
// FeedTimestamp: Required. Timestamp when feed is generated.
FeedTimestamp string `json:"feedTimestamp,omitempty"`
// FeedType: Required. Type feed to be ingested into condor
//
// Possible values:
// "FEEDTYPE_UNSPECIFIED"
// "RESOURCE_METADATA" - Database resource metadata feed from control plane
// "OBSERVABILITY_DATA" - Database resource monitoring data
// "SECURITY_FINDING_DATA" - Database resource security health signal data
// "RECOMMENDATION_SIGNAL_DATA" - Database resource recommendation signal
// data
FeedType string `json:"feedType,omitempty"`
// ObservabilityMetricData: More feed data would be added in subsequent CLs
ObservabilityMetricData *ObservabilityMetricData `json:"observabilityMetricData,omitempty"`
RecommendationSignalData *DatabaseResourceRecommendationSignalData `json:"recommendationSignalData,omitempty"`
ResourceHealthSignalData *DatabaseResourceHealthSignalData `json:"resourceHealthSignalData,omitempty"`
// ResourceId: Primary key associated with the Resource. resource_id is
// available in individual feed level as well.
ResourceId *DatabaseResourceId `json:"resourceId,omitempty"`
ResourceMetadata *DatabaseResourceMetadata `json:"resourceMetadata,omitempty"`
// ForceSendFields is a list of field names (e.g. "FeedTimestamp") 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. "FeedTimestamp") 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 *DatabaseResourceFeed) MarshalJSON() ([]byte, error) {
type NoMethod DatabaseResourceFeed
return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
}
// DatabaseResourceHealthSignalData: Common model for database resource health
// signal data.
type DatabaseResourceHealthSignalData struct {
// AdditionalMetadata: Any other additional metadata
AdditionalMetadata googleapi.RawMessage `json:"additionalMetadata,omitempty"`
// Compliance: Industry standards associated with this signal; if this signal
// is an issue, that could be a violation of the associated industry
// standard(s). For example, AUTO_BACKUP_DISABLED signal is associated with CIS
// GCP 1.1, CIS GCP 1.2, CIS GCP 1.3, NIST 800-53 and ISO-27001 compliance
// standards. If a database resource does not have automated backup enable, it
// will violate these following industry standards.
Compliance []*Compliance `json:"compliance,omitempty"`
// Description: Description associated with signal
Description string `json:"description,omitempty"`
// EventTime: Required. The last time at which the event described by this
// signal took place
EventTime string `json:"eventTime,omitempty"`
// ExternalUri: The external-uri of the signal, using which more information
// about this signal can be obtained. In GCP, this will take user to SCC page
// to get more details about signals.
ExternalUri string `json:"externalUri,omitempty"`
// Name: Required. The name of the signal, ex: PUBLIC_SQL_INSTANCE,
// SQL_LOG_ERROR_VERBOSITY etc.
Name string `json:"name,omitempty"`
// Provider: Cloud provider name. Ex: GCP/AWS/Azure/OnPrem/SelfManaged
//
// Possible values:
// "PROVIDER_UNSPECIFIED"
// "GCP" - Google cloud platform provider
// "AWS" - Amazon web service
// "AZURE" - Azure web service
// "ONPREM" - On-prem database resources.
// "SELFMANAGED" - Self-managed database provider. These are resources on a
// cloud platform, e.g., database resource installed in a GCE VM, but not a
// managed database service.
// "PROVIDER_OTHER" - For the rest of the other categories. Other refers to
// the rest of other database service providers, this could be smaller cloud
// provider. This needs to be provided when the provider is known, but it is
// not present in the existing set of enum values.
Provider string `json:"provider,omitempty"`
// ResourceContainer: Closest parent container of this resource. In GCP,
// 'container' refers to a Cloud Resource Manager project. It must be resource
// name of a Cloud Resource Manager project with the format of "provider//",
// such as "projects/123". For GCP provided resources, number should be project
// number.
ResourceContainer string `json:"resourceContainer,omitempty"`
// ResourceName: Required. Database resource name associated with the signal.
// Resource name to follow CAIS resource_name format as noted here
// go/condor-common-datamodel
ResourceName string `json:"resourceName,omitempty"`
// SignalClass: Required. The class of the signal, such as if it's a THREAT or
// VULNERABILITY.
//
// Possible values:
// "CLASS_UNSPECIFIED" - Unspecified signal class.
// "THREAT" - Describes unwanted or malicious activity.
// "VULNERABILITY" - Describes a potential weakness in software that
// increases risk to Confidentiality & Integrity & Availability.
// "MISCONFIGURATION" - Describes a potential weakness in cloud
// resource/asset configuration that increases risk.
// "OBSERVATION" - Describes a security observation that is for informational
// purposes.
// "ERROR" - Describes an error that prevents some SCC functionality.
SignalClass string `json:"signalClass,omitempty"`
// SignalId: Required. Unique identifier for the signal. This is an unique id
// which would be mainatined by partner to identify a signal.
SignalId string `json:"signalId,omitempty"`
// SignalType: Required. Type of signal, for example,
// `AVAILABLE_IN_MULTIPLE_ZONES`, `LOGGING_MOST_ERRORS`, etc.
//
// Possible values:
// "SIGNAL_TYPE_UNSPECIFIED" - Unspecified.
// "SIGNAL_TYPE_NOT_PROTECTED_BY_AUTOMATIC_FAILOVER" - Represents if a
// resource is protected by automatic failover. Checks for resources that are
// configured to have redundancy within a region that enables automatic
// failover.
// "SIGNAL_TYPE_GROUP_NOT_REPLICATING_ACROSS_REGIONS" - Represents if a group
// is replicating across regions. Checks for resources that are configured to
// have redundancy, and ongoing replication, across regions.
// "SIGNAL_TYPE_NOT_AVAILABLE_IN_MULTIPLE_ZONES" - Represents if the resource
// is available in multiple zones or not.
// "SIGNAL_TYPE_NOT_AVAILABLE_IN_MULTIPLE_REGIONS" - Represents if a resource
// is available in multiple regions.
// "SIGNAL_TYPE_NO_PROMOTABLE_REPLICA" - Represents if a resource has a
// promotable replica.
// "SIGNAL_TYPE_NO_AUTOMATED_BACKUP_POLICY" - Represents if a resource has an
// automated backup policy.
// "SIGNAL_TYPE_SHORT_BACKUP_RETENTION" - Represents if a resources has a
// short backup retention period.
// "SIGNAL_TYPE_LAST_BACKUP_FAILED" - Represents if the last backup of a
// resource failed.
// "SIGNAL_TYPE_LAST_BACKUP_OLD" - Represents if the last backup of a
// resource is older than some threshold value.
// "SIGNAL_TYPE_VIOLATES_CIS_GCP_FOUNDATION_2_0" - Represents if a resource
// violates CIS GCP Foundation 2.0.
// "SIGNAL_TYPE_VIOLATES_CIS_GCP_FOUNDATION_1_3" - Represents if a resource
// violates CIS GCP Foundation 1.3.
// "SIGNAL_TYPE_VIOLATES_CIS_GCP_FOUNDATION_1_2" - Represents if a resource
// violates CIS GCP Foundation 1.2.
// "SIGNAL_TYPE_VIOLATES_CIS_GCP_FOUNDATION_1_1" - Represents if a resource
// violates CIS GCP Foundation 1.1.
// "SIGNAL_TYPE_VIOLATES_CIS_GCP_FOUNDATION_1_0" - Represents if a resource
// violates CIS GCP Foundation 1.0.
// "SIGNAL_TYPE_VIOLATES_CIS_CONTROLS_V8_0" - Represents if a resource
// violates CIS Controls 8.0.
// "SIGNAL_TYPE_VIOLATES_NIST_800_53" - Represents if a resource violates
// NIST 800-53.
// "SIGNAL_TYPE_VIOLATES_NIST_800_53_R5" - Represents if a resource violates
// NIST 800-53 R5.
// "SIGNAL_TYPE_VIOLATES_NIST_CYBERSECURITY_FRAMEWORK_V1_0" - Represents if a
// resource violates NIST Cybersecurity Framework 1.0.
// "SIGNAL_TYPE_VIOLATES_ISO_27001" - Represents if a resource violates
// ISO-27001.
// "SIGNAL_TYPE_VIOLATES_ISO_27001_V2022" - Represents if a resource violates
// ISO 27001 2022.
// "SIGNAL_TYPE_VIOLATES_PCI_DSS_V3_2_1" - Represents if a resource violates
// PCI-DSS v3.2.1.
// "SIGNAL_TYPE_VIOLATES_PCI_DSS_V4_0" - Represents if a resource violates
// PCI-DSS v4.0.
// "SIGNAL_TYPE_VIOLATES_CLOUD_CONTROLS_MATRIX_V4" - Represents if a resource
// violates Cloud Controls Matrix v4.0.
// "SIGNAL_TYPE_VIOLATES_HIPAA" - Represents if a resource violates HIPAA.
// "SIGNAL_TYPE_VIOLATES_SOC2_V2017" - Represents if a resource violates SOC2
// v2017.
// "SIGNAL_TYPE_LOGS_NOT_OPTIMIZED_FOR_TROUBLESHOOTING" - Represents if
// log_checkpoints database flag for a Cloud SQL for PostgreSQL instance is not
// set to on.
// "SIGNAL_TYPE_QUERY_DURATIONS_NOT_LOGGED" - Represents if the log_duration
// database flag for a Cloud SQL for PostgreSQL instance is not set to on.
// "SIGNAL_TYPE_VERBOSE_ERROR_LOGGING" - Represents if the
// log_error_verbosity database flag for a Cloud SQL for PostgreSQL instance is
// not set to default or stricter (default or terse).
// "SIGNAL_TYPE_QUERY_LOCK_WAITS_NOT_LOGGED" - Represents if the
// log_lock_waits database flag for a Cloud SQL for PostgreSQL instance is not
// set to on.
// "SIGNAL_TYPE_LOGGING_MOST_ERRORS" - Represents if the
// log_min_error_statement database flag for a Cloud SQL for PostgreSQL
// instance is not set appropriately.
// "SIGNAL_TYPE_LOGGING_ONLY_CRITICAL_ERRORS" - Represents if the
// log_min_error_statement database flag for a Cloud SQL for PostgreSQL
// instance does not have an appropriate severity level.
// "SIGNAL_TYPE_MINIMAL_ERROR_LOGGING" - Represents if the log_min_messages
// database flag for a Cloud SQL for PostgreSQL instance is not set to warning
// or another recommended value.
// "SIGNAL_TYPE_QUERY_STATISTICS_LOGGED" - Represents if the databaseFlags
// property of instance metadata for the log_executor_status field is set to
// on.
// "SIGNAL_TYPE_EXCESSIVE_LOGGING_OF_CLIENT_HOSTNAME" - Represents if the
// log_hostname database flag for a Cloud SQL for PostgreSQL instance is not
// set to off.
// "SIGNAL_TYPE_EXCESSIVE_LOGGING_OF_PARSER_STATISTICS" - Represents if the
// log_parser_stats database flag for a Cloud SQL for PostgreSQL instance is
// not set to off.
// "SIGNAL_TYPE_EXCESSIVE_LOGGING_OF_PLANNER_STATISTICS" - Represents if the
// log_planner_stats database flag for a Cloud SQL for PostgreSQL instance is
// not set to off.
// "SIGNAL_TYPE_NOT_LOGGING_ONLY_DDL_STATEMENTS" - Represents if the
// log_statement database flag for a Cloud SQL for PostgreSQL instance is not
// set to DDL (all data definition statements).
// "SIGNAL_TYPE_LOGGING_QUERY_STATISTICS" - Represents if the
// log_statement_stats database flag for a Cloud SQL for PostgreSQL instance is
// not set to off.
// "SIGNAL_TYPE_NOT_LOGGING_TEMPORARY_FILES" - Represents if the
// log_temp_files database flag for a Cloud SQL for PostgreSQL instance is not
// set to "0". (NOTE: 0 = ON)
// "SIGNAL_TYPE_CONNECTION_MAX_NOT_CONFIGURED" - Represents if the user
// connections database flag for a Cloud SQL for SQL Server instance is
// configured.
// "SIGNAL_TYPE_USER_OPTIONS_CONFIGURED" - Represents if the user options
// database flag for Cloud SQL SQL Server instance is configured or not.
// "SIGNAL_TYPE_EXPOSED_TO_PUBLIC_ACCESS" - Represents if a resource is
// exposed to public access.
// "SIGNAL_TYPE_UNENCRYPTED_CONNECTIONS" - Represents if a resources requires
// all incoming connections to use SSL or not.
// "SIGNAL_TYPE_NO_ROOT_PASSWORD" - Represents if a Cloud SQL database has a
// password configured for the root account or not.
// "SIGNAL_TYPE_WEAK_ROOT_PASSWORD" - Represents if a Cloud SQL database has
// a weak password configured for the root account.
// "SIGNAL_TYPE_ENCRYPTION_KEY_NOT_CUSTOMER_MANAGED" - Represents if a SQL
// database instance is not encrypted with customer-managed encryption keys
// (CMEK).
// "SIGNAL_TYPE_SERVER_AUTHENTICATION_NOT_REQUIRED" - Represents if The
// contained database authentication database flag for a Cloud SQL for SQL
// Server instance is not set to off.
// "SIGNAL_TYPE_EXPOSED_BY_OWNERSHIP_CHAINING" - Represents if the
// cross_db_ownership_chaining database flag for a Cloud SQL for SQL Server
// instance is not set to off.
// "SIGNAL_TYPE_EXPOSED_TO_EXTERNAL_SCRIPTS" - Represents if he external
// scripts enabled database flag for a Cloud SQL for SQL Server instance is not
// set to off.
// "SIGNAL_TYPE_EXPOSED_TO_LOCAL_DATA_LOADS" - Represents if the local_infile
// database flag for a Cloud SQL for MySQL instance is not set to off.
// "SIGNAL_TYPE_CONNECTION_ATTEMPTS_NOT_LOGGED" - Represents if the
// log_connections database flag for a Cloud SQL for PostgreSQL instance is not
// set to on.
// "SIGNAL_TYPE_DISCONNECTIONS_NOT_LOGGED" - Represents if the
// log_disconnections database flag for a Cloud SQL for PostgreSQL instance is
// not set to on.
// "SIGNAL_TYPE_LOGGING_EXCESSIVE_STATEMENT_INFO" - Represents if the
// log_min_duration_statement database flag for a Cloud SQL for PostgreSQL
// instance is not set to -1.
// "SIGNAL_TYPE_EXPOSED_TO_REMOTE_ACCESS" - Represents if the remote access
// database flag for a Cloud SQL for SQL Server instance is not set to off.
// "SIGNAL_TYPE_DATABASE_NAMES_EXPOSED" - Represents if the
// skip_show_database database flag for a Cloud SQL for MySQL instance is not
// set to on.
// "SIGNAL_TYPE_SENSITIVE_TRACE_INFO_NOT_MASKED" - Represents if the 3625
// (trace flag) database flag for a Cloud SQL for SQL Server instance is not
// set to on.
// "SIGNAL_TYPE_PUBLIC_IP_ENABLED" - Represents if public IP is enabled.
// "SIGNAL_TYPE_IDLE" - Represents Idle instance helps to reduce costs.
// "SIGNAL_TYPE_OVERPROVISIONED" - Represents instances that are
// unnecessarily large for given workload.
// "SIGNAL_TYPE_HIGH_NUMBER_OF_OPEN_TABLES" - Represents high number of
// concurrently opened tables.
// "SIGNAL_TYPE_HIGH_NUMBER_OF_TABLES" - Represents high table count close to
// SLA limit.
// "SIGNAL_TYPE_HIGH_TRANSACTION_ID_UTILIZATION" - Represents high number of
// unvacuumed transactions
// "SIGNAL_TYPE_UNDERPROVISIONED" - Represents need for more CPU and/or
// memory
// "SIGNAL_TYPE_OUT_OF_DISK" - Represents out of disk.
// "SIGNAL_TYPE_SERVER_CERTIFICATE_NEAR_EXPIRY" - Represents server
// certificate is near expiry.
// "SIGNAL_TYPE_DATABASE_AUDITING_DISABLED" - Represents database auditing is
// disabled.
// "SIGNAL_TYPE_RESTRICT_AUTHORIZED_NETWORKS" - Represents not restricted to
// authorized networks.
// "SIGNAL_TYPE_VIOLATE_POLICY_RESTRICT_PUBLIC_IP" - Represents violate org
// policy restrict public ip.
// "SIGNAL_TYPE_QUOTA_LIMIT" - Cluster nearing quota limit
// "SIGNAL_TYPE_NO_PASSWORD_POLICY" - No password policy set on resources
// "SIGNAL_TYPE_CONNECTIONS_PERFORMANCE_IMPACT" - Performance impact of
// connections settings
// "SIGNAL_TYPE_TMP_TABLES_PERFORMANCE_IMPACT" - Performance impact of
// temporary tables settings
// "SIGNAL_TYPE_TRANS_LOGS_PERFORMANCE_IMPACT" - Performance impact of
// transaction logs settings
// "SIGNAL_TYPE_HIGH_JOINS_WITHOUT_INDEXES" - Performance impact of high
// joins without indexes
// "SIGNAL_TYPE_SUPERUSER_WRITING_TO_USER_TABLES" - Detects events where a
// Cloud SQL superuser (postgres for PostgreSQL servers or root for MySQL
// users) writes to non-system tables.
// "SIGNAL_TYPE_USER_GRANTED_ALL_PERMISSIONS" - Detects events where a
// database user or role has been granted all privileges to a database, or to
// all tables, procedures, or functions in a schema.
// "SIGNAL_TYPE_DATA_EXPORT_TO_EXTERNAL_CLOUD_STORAGE_BUCKET" - Detects if
// database instance data exported to a Cloud Storage bucket outside of the
// organization.
// "SIGNAL_TYPE_DATA_EXPORT_TO_PUBLIC_CLOUD_STORAGE_BUCKET" - Detects if
// database instance data exported to a Cloud Storage bucket that is owned by
// the organization and is publicly accessible.
SignalType string `json:"signalType,omitempty"`
// Possible values:
// "STATE_UNSPECIFIED" - Unspecified state.
// "ACTIVE" - The signal requires attention and has not been addressed yet.
// "RESOLVED" - The signal has been fixed, triaged as a non-issue or
// otherwise addressed and is no longer active.
// "MUTED" - The signal has been muted.
State string `json:"state,omitempty"`
// ForceSendFields is a list of field names (e.g. "AdditionalMetadata") 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. "AdditionalMetadata") 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 *DatabaseResourceHealthSignalData) MarshalJSON() ([]byte, error) {
type NoMethod DatabaseResourceHealthSignalData
return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
}
// DatabaseResourceId: DatabaseResourceId will serve as primary key for any
// resource ingestion event.
type DatabaseResourceId struct {
// Provider: Required. Cloud provider name. Ex:
// GCP/AWS/Azure/OnPrem/SelfManaged
//
// Possible values:
// "PROVIDER_UNSPECIFIED"
// "GCP" - Google cloud platform provider
// "AWS" - Amazon web service
// "AZURE" - Azure web service
// "ONPREM" - On-prem database resources.
// "SELFMANAGED" - Self-managed database provider. These are resources on a
// cloud platform, e.g., database resource installed in a GCE VM, but not a
// managed database service.
// "PROVIDER_OTHER" - For the rest of the other categories. Other refers to
// the rest of other database service providers, this could be smaller cloud
// provider. This needs to be provided when the provider is known, but it is
// not present in the existing set of enum values.
Provider string `json:"provider,omitempty"`
// ProviderDescription: Optional. Needs to be used only when the provider is
// PROVIDER_OTHER.
ProviderDescription string `json:"providerDescription,omitempty"`
// ResourceType: Required. The type of resource this ID is identifying. Ex
// redis.googleapis.com/Instance, redis.googleapis.com/Cluster,
// alloydb.googleapis.com/Cluster, alloydb.googleapis.com/Instance,
// spanner.googleapis.com/Instance REQUIRED Please refer
// go/condor-common-datamodel
ResourceType string `json:"resourceType,omitempty"`
// UniqueId: Required. A service-local token that distinguishes this resource
// from other resources within the same service.
UniqueId string `json:"uniqueId,omitempty"`
// ForceSendFields is a list of field names (e.g. "Provider") 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. "Provider") 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 *DatabaseResourceId) MarshalJSON() ([]byte, error) {
type NoMethod DatabaseResourceId
return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
}
// DatabaseResourceMetadata: Common model for database resource instance
// metadata.
type DatabaseResourceMetadata struct {
// AvailabilityConfiguration: Availability configuration for this instance
AvailabilityConfiguration *AvailabilityConfiguration `json:"availabilityConfiguration,omitempty"`
// BackupConfiguration: Backup configuration for this instance
BackupConfiguration *BackupConfiguration `json:"backupConfiguration,omitempty"`
// BackupRun: Latest backup run information for this instance
BackupRun *BackupRun `json:"backupRun,omitempty"`
// CreationTime: The creation time of the resource, i.e. the time when resource
// is created and recorded in partner service.
CreationTime string `json:"creationTime,omitempty"`
// CurrentState: Current state of the instance.
//
// Possible values:
// "STATE_UNSPECIFIED"
// "HEALTHY" - The instance is running.
// "UNHEALTHY" - Instance being created, updated, deleted or under
// maintenance
// "SUSPENDED" - When instance is suspended
// "DELETED" - Instance is deleted.
// "STATE_OTHER" - For rest of the other category
CurrentState string `json:"currentState,omitempty"`
// CustomMetadata: Any custom metadata associated with the resource
CustomMetadata *CustomMetadataData `json:"customMetadata,omitempty"`
// Entitlements: Entitlements associated with the resource
Entitlements []*Entitlement `json:"entitlements,omitempty"`
// ExpectedState: The state that the instance is expected to be in. For
// example, an instance state can transition to UNHEALTHY due to wrong patch
// update, while the expected state will remain at the HEALTHY.
//
// Possible values:
// "STATE_UNSPECIFIED"
// "HEALTHY" - The instance is running.
// "UNHEALTHY" - Instance being created, updated, deleted or under
// maintenance
// "SUSPENDED" - When instance is suspended
// "DELETED" - Instance is deleted.
// "STATE_OTHER" - For rest of the other category
ExpectedState string `json:"expectedState,omitempty"`
// Id: Required. Unique identifier for a Database resource
Id *DatabaseResourceId `json:"id,omitempty"`
// InstanceType: The type of the instance. Specified at creation time.
//
// Possible values:
// "INSTANCE_TYPE_UNSPECIFIED"
// "SUB_RESOURCE_TYPE_UNSPECIFIED" - For rest of the other categories.
// "PRIMARY" - A regular primary database instance.
// "SECONDARY" - A cluster or an instance acting as a secondary.
// "READ_REPLICA" - An instance acting as a read-replica.
// "OTHER" - For rest of the other categories.
// "SUB_RESOURCE_TYPE_PRIMARY" - A regular primary database instance.
// "SUB_RESOURCE_TYPE_SECONDARY" - A cluster or an instance acting as a
// secondary.
// "SUB_RESOURCE_TYPE_READ_REPLICA" - An instance acting as a read-replica.
// "SUB_RESOURCE_TYPE_OTHER" - For rest of the other categories.
InstanceType string `json:"instanceType,omitempty"`
// Location: The resource location. REQUIRED
Location string `json:"location,omitempty"`
// MachineConfiguration: Machine configuration for this resource.
MachineConfiguration *MachineConfiguration `json:"machineConfiguration,omitempty"`
// PrimaryResourceId: Identifier for this resource's immediate parent/primary
// resource if the current resource is a replica or derived form of another
// Database resource. Else it would be NULL. REQUIRED if the immediate parent
// exists when first time resource is getting ingested, otherwise optional.
PrimaryResourceId *DatabaseResourceId `json:"primaryResourceId,omitempty"`
// Product: The product this resource represents.
Product *Product `json:"product,omitempty"`
// ResourceContainer: Closest parent Cloud Resource Manager container of this
// resource. It must be resource name of a Cloud Resource Manager project with
// the format of "/", such as "projects/123". For GCP provided resources,
// number should be project number.
ResourceContainer string `json:"resourceContainer,omitempty"`
// ResourceName: Required. Different from DatabaseResourceId.unique_id, a
// resource name can be reused over time. That is, after a resource named "ABC"
// is deleted, the name "ABC" can be used to to create a new resource within
// the same source. Resource name to follow CAIS resource_name format as noted
// here go/condor-common-datamodel
ResourceName string `json:"resourceName,omitempty"`
// UpdationTime: The time at which the resource was updated and recorded at
// partner service.
UpdationTime string `json:"updationTime,omitempty"`
// UserLabelSet: User-provided labels associated with the resource
UserLabelSet *UserLabels `json:"userLabelSet,omitempty"`
// ForceSendFields is a list of field names (e.g. "AvailabilityConfiguration")
// 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. "AvailabilityConfiguration") 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 *DatabaseResourceMetadata) MarshalJSON() ([]byte, error) {
type NoMethod DatabaseResourceMetadata
return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
}
// DatabaseResourceRecommendationSignalData: Common model for database resource
// recommendation signal data.
type DatabaseResourceRecommendationSignalData struct {
// AdditionalMetadata: Optional. Any other additional metadata specific to
// recommendation
AdditionalMetadata googleapi.RawMessage `json:"additionalMetadata,omitempty"`
// LastRefreshTime: Required. last time recommendationw as refreshed
LastRefreshTime string `json:"lastRefreshTime,omitempty"`
// RecommendationState: Required. Recommendation state
//
// Possible values:
// "UNSPECIFIED"
// "ACTIVE" - Recommendation is active and can be applied. ACTIVE
// recommendations can be marked as CLAIMED, SUCCEEDED, or FAILED.
// "CLAIMED" - Recommendation is in claimed state. Recommendations content is
// immutable and cannot be updated by Google. CLAIMED recommendations can be
// marked as CLAIMED, SUCCEEDED, or FAILED.
// "SUCCEEDED" - Recommendation is in succeeded state. Recommendations
// content is immutable and cannot be updated by Google. SUCCEEDED
// recommendations can be marked as SUCCEEDED, or FAILED.
// "FAILED" - Recommendation is in failed state. Recommendations content is
// immutable and cannot be updated by Google. FAILED recommendations can be
// marked as SUCCEEDED, or FAILED.
// "DISMISSED" - Recommendation is in dismissed state. Recommendation content
// can be updated by Google. DISMISSED recommendations can be marked as ACTIVE.
RecommendationState string `json:"recommendationState,omitempty"`
// Recommender: Required. Name of recommendation. Examples:
// organizations/1234/locations/us-central1/recommenders/google.cloudsql.instanc
// e.PerformanceRecommender/recommendations/9876
Recommender string `json:"recommender,omitempty"`
// RecommenderId: Required. ID of recommender. Examples:
// "google.cloudsql.instance.PerformanceRecommender"
RecommenderId string `json:"recommenderId,omitempty"`
// RecommenderSubtype: Required. Contains an identifier for a subtype of
// recommendations produced for the same recommender. Subtype is a function of
// content and impact, meaning a new subtype might be added when significant
// changes to `content` or `primary_impact.category` are introduced. See the
// Recommenders section to see a list of subtypes for a given Recommender.
// Examples: For recommender =
// "google.cloudsql.instance.PerformanceRecommender", recommender_subtype can
// be
// "MYSQL_HIGH_NUMBER_OF_OPEN_TABLES_BEST_PRACTICE"/"POSTGRES_HIGH_TRANSACTION_I
// D_UTILIZATION_BEST_PRACTICE"
RecommenderSubtype string `json:"recommenderSubtype,omitempty"`
// ResourceName: Required. Database resource name associated with the signal.
// Resource name to follow CAIS resource_name format as noted here
// go/condor-common-datamodel
ResourceName string `json:"resourceName,omitempty"`
// SignalType: Required. Type of signal, for example, `SIGNAL_TYPE_IDLE`,
// `SIGNAL_TYPE_HIGH_NUMBER_OF_TABLES`, etc.
//
// Possible values:
// "SIGNAL_TYPE_UNSPECIFIED" - Unspecified.
// "SIGNAL_TYPE_NOT_PROTECTED_BY_AUTOMATIC_FAILOVER" - Represents if a
// resource is protected by automatic failover. Checks for resources that are
// configured to have redundancy within a region that enables automatic
// failover.
// "SIGNAL_TYPE_GROUP_NOT_REPLICATING_ACROSS_REGIONS" - Represents if a group
// is replicating across regions. Checks for resources that are configured to
// have redundancy, and ongoing replication, across regions.
// "SIGNAL_TYPE_NOT_AVAILABLE_IN_MULTIPLE_ZONES" - Represents if the resource
// is available in multiple zones or not.
// "SIGNAL_TYPE_NOT_AVAILABLE_IN_MULTIPLE_REGIONS" - Represents if a resource
// is available in multiple regions.
// "SIGNAL_TYPE_NO_PROMOTABLE_REPLICA" - Represents if a resource has a
// promotable replica.
// "SIGNAL_TYPE_NO_AUTOMATED_BACKUP_POLICY" - Represents if a resource has an
// automated backup policy.
// "SIGNAL_TYPE_SHORT_BACKUP_RETENTION" - Represents if a resources has a
// short backup retention period.
// "SIGNAL_TYPE_LAST_BACKUP_FAILED" - Represents if the last backup of a
// resource failed.
// "SIGNAL_TYPE_LAST_BACKUP_OLD" - Represents if the last backup of a
// resource is older than some threshold value.
// "SIGNAL_TYPE_VIOLATES_CIS_GCP_FOUNDATION_2_0" - Represents if a resource
// violates CIS GCP Foundation 2.0.
// "SIGNAL_TYPE_VIOLATES_CIS_GCP_FOUNDATION_1_3" - Represents if a resource
// violates CIS GCP Foundation 1.3.
// "SIGNAL_TYPE_VIOLATES_CIS_GCP_FOUNDATION_1_2" - Represents if a resource
// violates CIS GCP Foundation 1.2.
// "SIGNAL_TYPE_VIOLATES_CIS_GCP_FOUNDATION_1_1" - Represents if a resource
// violates CIS GCP Foundation 1.1.
// "SIGNAL_TYPE_VIOLATES_CIS_GCP_FOUNDATION_1_0" - Represents if a resource
// violates CIS GCP Foundation 1.0.
// "SIGNAL_TYPE_VIOLATES_CIS_CONTROLS_V8_0" - Represents if a resource
// violates CIS Controls 8.0.
// "SIGNAL_TYPE_VIOLATES_NIST_800_53" - Represents if a resource violates
// NIST 800-53.
// "SIGNAL_TYPE_VIOLATES_NIST_800_53_R5" - Represents if a resource violates
// NIST 800-53 R5.
// "SIGNAL_TYPE_VIOLATES_NIST_CYBERSECURITY_FRAMEWORK_V1_0" - Represents if a
// resource violates NIST Cybersecurity Framework 1.0.
// "SIGNAL_TYPE_VIOLATES_ISO_27001" - Represents if a resource violates
// ISO-27001.
// "SIGNAL_TYPE_VIOLATES_ISO_27001_V2022" - Represents if a resource violates
// ISO 27001 2022.
// "SIGNAL_TYPE_VIOLATES_PCI_DSS_V3_2_1" - Represents if a resource violates
// PCI-DSS v3.2.1.
// "SIGNAL_TYPE_VIOLATES_PCI_DSS_V4_0" - Represents if a resource violates
// PCI-DSS v4.0.
// "SIGNAL_TYPE_VIOLATES_CLOUD_CONTROLS_MATRIX_V4" - Represents if a resource
// violates Cloud Controls Matrix v4.0.
// "SIGNAL_TYPE_VIOLATES_HIPAA" - Represents if a resource violates HIPAA.
// "SIGNAL_TYPE_VIOLATES_SOC2_V2017" - Represents if a resource violates SOC2
// v2017.
// "SIGNAL_TYPE_LOGS_NOT_OPTIMIZED_FOR_TROUBLESHOOTING" - Represents if
// log_checkpoints database flag for a Cloud SQL for PostgreSQL instance is not
// set to on.
// "SIGNAL_TYPE_QUERY_DURATIONS_NOT_LOGGED" - Represents if the log_duration
// database flag for a Cloud SQL for PostgreSQL instance is not set to on.
// "SIGNAL_TYPE_VERBOSE_ERROR_LOGGING" - Represents if the
// log_error_verbosity database flag for a Cloud SQL for PostgreSQL instance is
// not set to default or stricter (default or terse).
// "SIGNAL_TYPE_QUERY_LOCK_WAITS_NOT_LOGGED" - Represents if the
// log_lock_waits database flag for a Cloud SQL for PostgreSQL instance is not
// set to on.
// "SIGNAL_TYPE_LOGGING_MOST_ERRORS" - Represents if the
// log_min_error_statement database flag for a Cloud SQL for PostgreSQL
// instance is not set appropriately.
// "SIGNAL_TYPE_LOGGING_ONLY_CRITICAL_ERRORS" - Represents if the
// log_min_error_statement database flag for a Cloud SQL for PostgreSQL
// instance does not have an appropriate severity level.
// "SIGNAL_TYPE_MINIMAL_ERROR_LOGGING" - Represents if the log_min_messages
// database flag for a Cloud SQL for PostgreSQL instance is not set to warning
// or another recommended value.
// "SIGNAL_TYPE_QUERY_STATISTICS_LOGGED" - Represents if the databaseFlags
// property of instance metadata for the log_executor_status field is set to
// on.
// "SIGNAL_TYPE_EXCESSIVE_LOGGING_OF_CLIENT_HOSTNAME" - Represents if the
// log_hostname database flag for a Cloud SQL for PostgreSQL instance is not
// set to off.
// "SIGNAL_TYPE_EXCESSIVE_LOGGING_OF_PARSER_STATISTICS" - Represents if the
// log_parser_stats database flag for a Cloud SQL for PostgreSQL instance is
// not set to off.
// "SIGNAL_TYPE_EXCESSIVE_LOGGING_OF_PLANNER_STATISTICS" - Represents if the
// log_planner_stats database flag for a Cloud SQL for PostgreSQL instance is
// not set to off.
// "SIGNAL_TYPE_NOT_LOGGING_ONLY_DDL_STATEMENTS" - Represents if the
// log_statement database flag for a Cloud SQL for PostgreSQL instance is not
// set to DDL (all data definition statements).
// "SIGNAL_TYPE_LOGGING_QUERY_STATISTICS" - Represents if the
// log_statement_stats database flag for a Cloud SQL for PostgreSQL instance is
// not set to off.
// "SIGNAL_TYPE_NOT_LOGGING_TEMPORARY_FILES" - Represents if the
// log_temp_files database flag for a Cloud SQL for PostgreSQL instance is not
// set to "0". (NOTE: 0 = ON)
// "SIGNAL_TYPE_CONNECTION_MAX_NOT_CONFIGURED" - Represents if the user
// connections database flag for a Cloud SQL for SQL Server instance is
// configured.
// "SIGNAL_TYPE_USER_OPTIONS_CONFIGURED" - Represents if the user options
// database flag for Cloud SQL SQL Server instance is configured or not.
// "SIGNAL_TYPE_EXPOSED_TO_PUBLIC_ACCESS" - Represents if a resource is
// exposed to public access.
// "SIGNAL_TYPE_UNENCRYPTED_CONNECTIONS" - Represents if a resources requires
// all incoming connections to use SSL or not.
// "SIGNAL_TYPE_NO_ROOT_PASSWORD" - Represents if a Cloud SQL database has a
// password configured for the root account or not.
// "SIGNAL_TYPE_WEAK_ROOT_PASSWORD" - Represents if a Cloud SQL database has
// a weak password configured for the root account.
// "SIGNAL_TYPE_ENCRYPTION_KEY_NOT_CUSTOMER_MANAGED" - Represents if a SQL
// database instance is not encrypted with customer-managed encryption keys
// (CMEK).
// "SIGNAL_TYPE_SERVER_AUTHENTICATION_NOT_REQUIRED" - Represents if The
// contained database authentication database flag for a Cloud SQL for SQL
// Server instance is not set to off.
// "SIGNAL_TYPE_EXPOSED_BY_OWNERSHIP_CHAINING" - Represents if the
// cross_db_ownership_chaining database flag for a Cloud SQL for SQL Server
// instance is not set to off.
// "SIGNAL_TYPE_EXPOSED_TO_EXTERNAL_SCRIPTS" - Represents if he external
// scripts enabled database flag for a Cloud SQL for SQL Server instance is not
// set to off.
// "SIGNAL_TYPE_EXPOSED_TO_LOCAL_DATA_LOADS" - Represents if the local_infile
// database flag for a Cloud SQL for MySQL instance is not set to off.
// "SIGNAL_TYPE_CONNECTION_ATTEMPTS_NOT_LOGGED" - Represents if the
// log_connections database flag for a Cloud SQL for PostgreSQL instance is not
// set to on.
// "SIGNAL_TYPE_DISCONNECTIONS_NOT_LOGGED" - Represents if the
// log_disconnections database flag for a Cloud SQL for PostgreSQL instance is
// not set to on.
// "SIGNAL_TYPE_LOGGING_EXCESSIVE_STATEMENT_INFO" - Represents if the
// log_min_duration_statement database flag for a Cloud SQL for PostgreSQL
// instance is not set to -1.
// "SIGNAL_TYPE_EXPOSED_TO_REMOTE_ACCESS" - Represents if the remote access
// database flag for a Cloud SQL for SQL Server instance is not set to off.
// "SIGNAL_TYPE_DATABASE_NAMES_EXPOSED" - Represents if the
// skip_show_database database flag for a Cloud SQL for MySQL instance is not
// set to on.
// "SIGNAL_TYPE_SENSITIVE_TRACE_INFO_NOT_MASKED" - Represents if the 3625
// (trace flag) database flag for a Cloud SQL for SQL Server instance is not
// set to on.
// "SIGNAL_TYPE_PUBLIC_IP_ENABLED" - Represents if public IP is enabled.
// "SIGNAL_TYPE_IDLE" - Represents Idle instance helps to reduce costs.
// "SIGNAL_TYPE_OVERPROVISIONED" - Represents instances that are
// unnecessarily large for given workload.
// "SIGNAL_TYPE_HIGH_NUMBER_OF_OPEN_TABLES" - Represents high number of
// concurrently opened tables.
// "SIGNAL_TYPE_HIGH_NUMBER_OF_TABLES" - Represents high table count close to
// SLA limit.
// "SIGNAL_TYPE_HIGH_TRANSACTION_ID_UTILIZATION" - Represents high number of
// unvacuumed transactions
// "SIGNAL_TYPE_UNDERPROVISIONED" - Represents need for more CPU and/or
// memory
// "SIGNAL_TYPE_OUT_OF_DISK" - Represents out of disk.
// "SIGNAL_TYPE_SERVER_CERTIFICATE_NEAR_EXPIRY" - Represents server
// certificate is near expiry.
// "SIGNAL_TYPE_DATABASE_AUDITING_DISABLED" - Represents database auditing is
// disabled.
// "SIGNAL_TYPE_RESTRICT_AUTHORIZED_NETWORKS" - Represents not restricted to
// authorized networks.
// "SIGNAL_TYPE_VIOLATE_POLICY_RESTRICT_PUBLIC_IP" - Represents violate org
// policy restrict public ip.
// "SIGNAL_TYPE_QUOTA_LIMIT" - Cluster nearing quota limit
// "SIGNAL_TYPE_NO_PASSWORD_POLICY" - No password policy set on resources
// "SIGNAL_TYPE_CONNECTIONS_PERFORMANCE_IMPACT" - Performance impact of
// connections settings
// "SIGNAL_TYPE_TMP_TABLES_PERFORMANCE_IMPACT" - Performance impact of
// temporary tables settings
// "SIGNAL_TYPE_TRANS_LOGS_PERFORMANCE_IMPACT" - Performance impact of
// transaction logs settings
// "SIGNAL_TYPE_HIGH_JOINS_WITHOUT_INDEXES" - Performance impact of high
// joins without indexes
// "SIGNAL_TYPE_SUPERUSER_WRITING_TO_USER_TABLES" - Detects events where a
// Cloud SQL superuser (postgres for PostgreSQL servers or root for MySQL
// users) writes to non-system tables.
// "SIGNAL_TYPE_USER_GRANTED_ALL_PERMISSIONS" - Detects events where a
// database user or role has been granted all privileges to a database, or to
// all tables, procedures, or functions in a schema.
// "SIGNAL_TYPE_DATA_EXPORT_TO_EXTERNAL_CLOUD_STORAGE_BUCKET" - Detects if
// database instance data exported to a Cloud Storage bucket outside of the
// organization.
// "SIGNAL_TYPE_DATA_EXPORT_TO_PUBLIC_CLOUD_STORAGE_BUCKET" - Detects if
// database instance data exported to a Cloud Storage bucket that is owned by
// the organization and is publicly accessible.
SignalType string `json:"signalType,omitempty"`
// ForceSendFields is a list of field names (e.g. "AdditionalMetadata") 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. "AdditionalMetadata") 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 *DatabaseResourceRecommendationSignalData) MarshalJSON() ([]byte, error) {
type NoMethod DatabaseResourceRecommendationSignalData
return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
}
// DiscoveryEndpoint: Endpoints on each network, for Redis clients to connect
// to the cluster.
type DiscoveryEndpoint struct {
// Address: Output only. Address of the exposed Redis endpoint used by clients
// to connect to the service. The address could be either IP or hostname.
Address string `json:"address,omitempty"`
// Port: Output only. The port number of the exposed Redis endpoint.
Port int64 `json:"port,omitempty"`
// PscConfig: Output only. Customer configuration for where the endpoint is
// created and accessed from.
PscConfig *PscConfig `json:"pscConfig,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 *DiscoveryEndpoint) MarshalJSON() ([]byte, error) {
type NoMethod DiscoveryEndpoint
return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
}
// Empty: A generic empty message that you can re-use to avoid defining
// duplicated empty messages in your APIs. A typical example is to use it as
// the request or the response type of an API method. For instance: service Foo
// { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }
type Empty struct {
// ServerResponse contains the HTTP response code and headers from the server.
googleapi.ServerResponse `json:"-"`
}
// Entitlement: Proto representing the access that a user has to a specific
// feature/service. NextId: 3.
type Entitlement struct {
// EntitlementState: The current state of user's accessibility to a
// feature/benefit.
//
// Possible values:
// "ENTITLEMENT_STATE_UNSPECIFIED"
// "ENTITLED" - User is entitled to a feature/benefit, but whether it has
// been successfully provisioned is decided by provisioning state.
// "REVOKED" - User is entitled to a feature/benefit, but it was requested to
// be revoked. Whether the revoke has been successful is decided by
// provisioning state.
EntitlementState string `json:"entitlementState,omitempty"`
// Type: An enum that represents the type of this entitlement.
//
// Possible values:
// "ENTITLEMENT_TYPE_UNSPECIFIED"
// "GEMINI" - The root entitlement representing Gemini package ownership.
Type string `json:"type,omitempty"`
// ForceSendFields is a list of field names (e.g. "EntitlementState") 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. "EntitlementState") 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 *Entitlement) MarshalJSON() ([]byte, error) {
type NoMethod Entitlement
return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
}
// ExportInstanceRequest: Request for Export.
type ExportInstanceRequest struct {
// OutputConfig: Required. Specify data to be exported.
OutputConfig *OutputConfig `json:"outputConfig,omitempty"`
// ForceSendFields is a list of field names (e.g. "OutputConfig") 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. "OutputConfig") 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 *ExportInstanceRequest) MarshalJSON() ([]byte, error) {
type NoMethod ExportInstanceRequest
return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
}
// FailoverInstanceRequest: Request for Failover.
type FailoverInstanceRequest struct {
// DataProtectionMode: Optional. Available data protection modes that the user
// can choose. If it's unspecified, data protection mode will be
// LIMITED_DATA_LOSS by default.
//
// Possible values:
// "DATA_PROTECTION_MODE_UNSPECIFIED" - Defaults to LIMITED_DATA_LOSS if a
// data protection mode is not specified.
// "LIMITED_DATA_LOSS" - Instance failover will be protected with data loss
// control. More specifically, the failover will only be performed if the
// current replication offset diff between primary and replica is under a
// certain threshold.
// "FORCE_DATA_LOSS" - Instance failover will be performed without data loss
// control.
DataProtectionMode string `json:"dataProtectionMode,omitempty"`
// ForceSendFields is a list of field names (e.g. "DataProtectionMode") 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. "DataProtectionMode") 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 *FailoverInstanceRequest) MarshalJSON() ([]byte, error) {
type NoMethod FailoverInstanceRequest
return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
}
// GcsDestination: The Cloud Storage location for the output content
type GcsDestination struct {
// Uri: Required. Data destination URI (e.g. 'gs://my_bucket/my_object').
// Existing files will be overwritten.
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 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. "Uri") 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 *GcsDestination) MarshalJSON() ([]byte, error) {
type NoMethod GcsDestination
return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
}
// GcsSource: The Cloud Storage location for the input content
type GcsSource struct {
// Uri: Required. Source data URI. (e.g. 'gs://my_bucket/my_object').
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 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. "Uri") 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 *GcsSource) MarshalJSON() ([]byte, error) {
type NoMethod GcsSource
return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
}
// GoogleCloudRedisV1LocationMetadata: This location metadata represents
// additional configuration options for a given location where a Redis instance
// may be created. All fields are output only. It is returned as content of the
// `google.cloud.location.Location.metadata` field.
type GoogleCloudRedisV1LocationMetadata struct {
// AvailableZones: Output only. The set of available zones in the location. The
// map is keyed by the lowercase ID of each zone, as defined by GCE. These keys
// can be specified in `location_id` or `alternative_location_id` fields when
// creating a Redis instance.
AvailableZones map[string]GoogleCloudRedisV1ZoneMetadata `json:"availableZones,omitempty"`
// ForceSendFields is a list of field names (e.g. "AvailableZones") 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. "AvailableZones") 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 *GoogleCloudRedisV1LocationMetadata) MarshalJSON() ([]byte, error) {
type NoMethod GoogleCloudRedisV1LocationMetadata
return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
}
// GoogleCloudRedisV1OperationMetadata: Represents the v1 metadata of the
// long-running operation.
type GoogleCloudRedisV1OperationMetadata struct {
// ApiVersion: API version.
ApiVersion string `json:"apiVersion,omitempty"`
// CancelRequested: Specifies if cancellation was requested for the operation.
CancelRequested bool `json:"cancelRequested,omitempty"`
// CreateTime: Creation timestamp.
CreateTime string `json:"createTime,omitempty"`
// EndTime: End timestamp.
EndTime string `json:"endTime,omitempty"`
// StatusDetail: Operation status details.
StatusDetail string `json:"statusDetail,omitempty"`
// Target: Operation target.
Target string `json:"target,omitempty"`
// Verb: Operation verb.
Verb string `json:"verb,omitempty"`
// ForceSendFields is a list of field names (e.g. "ApiVersion") 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. "ApiVersion") 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 *GoogleCloudRedisV1OperationMetadata) MarshalJSON() ([]byte, error) {
type NoMethod GoogleCloudRedisV1OperationMetadata
return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
}
// GoogleCloudRedisV1ZoneMetadata: Defines specific information for a
// particular zone. Currently empty and reserved for future use only.
type GoogleCloudRedisV1ZoneMetadata struct {
}
// ImportInstanceRequest: Request for Import.
type ImportInstanceRequest struct {
// InputConfig: Required. Specify data to be imported.
InputConfig *InputConfig `json:"inputConfig,omitempty"`
// ForceSendFields is a list of field names (e.g. "InputConfig") 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. "InputConfig") 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 *ImportInstanceRequest) MarshalJSON() ([]byte, error) {
type NoMethod ImportInstanceRequest
return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
}
// InputConfig: The input content
type InputConfig struct {
// GcsSource: Google Cloud Storage location where input content is located.
GcsSource *GcsSource `json:"gcsSource,omitempty"`
// ForceSendFields is a list of field names (e.g. "GcsSource") 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. "GcsSource") 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 *InputConfig) MarshalJSON() ([]byte, error) {
type NoMethod InputConfig
return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
}
// Instance: A Memorystore for Redis instance.
type Instance struct {
// AlternativeLocationId: Optional. If specified, at least one node will be
// provisioned in this zone in addition to the zone specified in location_id.
// Only applicable to standard tier. If provided, it must be a different zone
// from the one provided in [location_id]. Additional nodes beyond the first 2
// will be placed in zones selected by the service.
AlternativeLocationId string `json:"alternativeLocationId,omitempty"`
// AuthEnabled: Optional. Indicates whether OSS Redis AUTH is enabled for the
// instance. If set to "true" AUTH is enabled on the instance. Default value is
// "false" meaning AUTH is disabled.
AuthEnabled bool `json:"authEnabled,omitempty"`
// AuthorizedNetwork: Optional. The full name of the Google Compute Engine
// network (https://cloud.google.com/vpc/docs/vpc) to which the instance is
// connected. If left unspecified, the `default` network will be used.
AuthorizedNetwork string `json:"authorizedNetwork,omitempty"`
// AvailableMaintenanceVersions: Optional. The available maintenance versions
// that an instance could update to.
AvailableMaintenanceVersions []string `json:"availableMaintenanceVersions,omitempty"`
// ConnectMode: Optional. The network connect mode of the Redis instance. If
// not provided, the connect mode defaults to DIRECT_PEERING.
//
// Possible values:
// "CONNECT_MODE_UNSPECIFIED" - Not set.
// "DIRECT_PEERING" - Connect via direct peering to the Memorystore for Redis
// hosted service.
// "PRIVATE_SERVICE_ACCESS" - Connect your Memorystore for Redis instance
// using Private Service Access. Private services access provides an IP address
// range for multiple Google Cloud services, including Memorystore.
ConnectMode string `json:"connectMode,omitempty"`
// CreateTime: Output only. The time the instance was created.
CreateTime string `json:"createTime,omitempty"`
// CurrentLocationId: Output only. The current zone where the Redis primary
// node is located. In basic tier, this will always be the same as
// [location_id]. In standard tier, this can be the zone of any node in the
// instance.
CurrentLocationId string `json:"currentLocationId,omitempty"`
// CustomerManagedKey: Optional. The KMS key reference that the customer
// provides when trying to create the instance.
CustomerManagedKey string `json:"customerManagedKey,omitempty"`
// DisplayName: An arbitrary and optional user-provided name for the instance.
DisplayName string `json:"displayName,omitempty"`
// Host: Output only. Hostname or IP address of the exposed Redis endpoint used
// by clients to connect to the service.
Host string `json:"host,omitempty"`
// Labels: Resource labels to represent user provided metadata
Labels map[string]string `json:"labels,omitempty"`
// LocationId: Optional. The zone where the instance will be provisioned. If
// not provided, the service will choose a zone from the specified region for
// the instance. For standard tier, additional nodes will be added across
// multiple zones for protection against zonal failures. If specified, at least
// one node will be provisioned in this zone.
LocationId string `json:"locationId,omitempty"`
// MaintenancePolicy: Optional. The maintenance policy for the instance. If not
// provided, maintenance events can be performed at any time.
MaintenancePolicy *MaintenancePolicy `json:"maintenancePolicy,omitempty"`
// MaintenanceSchedule: Output only. Date and time of upcoming maintenance
// events which have been scheduled.
MaintenanceSchedule *MaintenanceSchedule `json:"maintenanceSchedule,omitempty"`
// MaintenanceVersion: Optional. The self service update maintenance version.
// The version is date based such as "20210712_00_00".
MaintenanceVersion string `json:"maintenanceVersion,omitempty"`
// MemorySizeGb: Required. Redis memory size in GiB.
MemorySizeGb int64 `json:"memorySizeGb,omitempty"`
// Name: Required. Unique name of the resource in this scope including project
// and location using the form:
// `projects/{project_id}/locations/{location_id}/instances/{instance_id}`
// Note: Redis instances are managed and addressed at regional level so
// location_id here refers to a GCP region; however, users may choose which
// specific zone (or collection of zones for cross-zone instances) an instance
// should be provisioned in. Refer to location_id and alternative_location_id
// fields for more details.
Name string `json:"name,omitempty"`
// Nodes: Output only. Info per node.
Nodes []*NodeInfo `json:"nodes,omitempty"`
// PersistenceConfig: Optional. Persistence configuration parameters
PersistenceConfig *PersistenceConfig `json:"persistenceConfig,omitempty"`
// PersistenceIamIdentity: Output only. Cloud IAM identity used by import /
// export operations to transfer data to/from Cloud Storage. Format is
// "serviceAccount:". The value may change over time for a given instance so
// should be checked before each import/export operation.
PersistenceIamIdentity string `json:"persistenceIamIdentity,omitempty"`
// Port: Output only. The port number of the exposed Redis endpoint.
Port int64 `json:"port,omitempty"`
// ReadEndpoint: Output only. Hostname or IP address of the exposed readonly
// Redis endpoint. Standard tier only. Targets all healthy replica nodes in
// instance. Replication is asynchronous and replica nodes will exhibit some
// lag behind the primary. Write requests must target 'host'.
ReadEndpoint string `json:"readEndpoint,omitempty"`
// ReadEndpointPort: Output only. The port number of the exposed readonly redis
// endpoint. Standard tier only. Write requests should target 'port'.
ReadEndpointPort int64 `json:"readEndpointPort,omitempty"`
// ReadReplicasMode: Optional. Read replicas mode for the instance. Defaults to
// READ_REPLICAS_DISABLED.
//
// Possible values:
// "READ_REPLICAS_MODE_UNSPECIFIED" - If not set, Memorystore Redis backend
// will default to READ_REPLICAS_DISABLED.
// "READ_REPLICAS_DISABLED" - If disabled, read endpoint will not be provided
// and the instance cannot scale up or down the number of replicas.
// "READ_REPLICAS_ENABLED" - If enabled, read endpoint will be provided and
// the instance can scale up and down the number of replicas. Not valid for
// basic tier.
ReadReplicasMode string `json:"readReplicasMode,omitempty"`
// RedisConfigs: Optional. Redis configuration parameters, according to
// http://redis.io/topics/config. Currently, the only supported parameters are:
// Redis version 3.2 and newer: * maxmemory-policy * notify-keyspace-events
// Redis version 4.0 and newer: * activedefrag * lfu-decay-time *
// lfu-log-factor * maxmemory-gb Redis version 5.0 and newer: *
// stream-node-max-bytes * stream-node-max-entries
RedisConfigs map[string]string `json:"redisConfigs,omitempty"`
// RedisVersion: Optional. The version of Redis software. If not provided,
// latest supported version will be used. Currently, the supported values are:
// * `REDIS_3_2` for Redis 3.2 compatibility * `REDIS_4_0` for Redis 4.0
// compatibility (default) * `REDIS_5_0` for Redis 5.0 compatibility *
// `REDIS_6_X` for Redis 6.x compatibility * `REDIS_7_0` for Redis 7.0
// compatibility
RedisVersion string `json:"redisVersion,omitempty"`
// ReplicaCount: Optional. The number of replica nodes. The valid range for the
// Standard Tier with read replicas enabled is [1-5] and defaults to 2. If read
// replicas are not enabled for a Standard Tier instance, the only valid value
// is 1 and the default is 1. The valid value for basic tier is 0 and the
// default is also 0.
ReplicaCount int64 `json:"replicaCount,omitempty"`
// ReservedIpRange: Optional. For DIRECT_PEERING mode, the CIDR range of
// internal addresses that are reserved for this instance. Range must be unique
// and non-overlapping with existing subnets in an authorized network. For
// PRIVATE_SERVICE_ACCESS mode, the name of one allocated IP address ranges
// associated with this private service access connection. If not provided, the
// service will choose an unused /29 block, for example, 10.0.0.0/29 or
// 192.168.0.0/29. For READ_REPLICAS_ENABLED the default block size is /28.
ReservedIpRange string `json:"reservedIpRange,omitempty"`
// SatisfiesPzi: Optional. Output only. Reserved for future use.
SatisfiesPzi bool `json:"satisfiesPzi,omitempty"`
// SatisfiesPzs: Optional. Output only. Reserved for future use.
SatisfiesPzs bool `json:"satisfiesPzs,omitempty"`
// SecondaryIpRange: Optional. Additional IP range for node placement. Required
// when enabling read replicas on an existing instance. For DIRECT_PEERING mode
// value must be a CIDR range of size /28, or "auto". For
// PRIVATE_SERVICE_ACCESS mode value must be the name of an allocated address
// range associated with the private service access connection, or "auto".
SecondaryIpRange string `json:"secondaryIpRange,omitempty"`
// ServerCaCerts: Output only. List of server CA certificates for the instance.
ServerCaCerts []*TlsCertificate `json:"serverCaCerts,omitempty"`
// State: Output only. The current state of this instance.
//
// Possible values:
// "STATE_UNSPECIFIED" - Not set.
// "CREATING" - Redis instance is being created.
// "READY" - Redis instance has been created and is fully usable.
// "UPDATING" - Redis instance configuration is being updated. Certain kinds
// of updates may cause the instance to become unusable while the update is in
// progress.
// "DELETING" - Redis instance is being deleted.
// "REPAIRING" - Redis instance is being repaired and may be unusable.
// "MAINTENANCE" - Maintenance is being performed on this Redis instance.
// "IMPORTING" - Redis instance is importing data (availability may be
// affected).
// "FAILING_OVER" - Redis instance is failing over (availability may be
// affected).
State string `json:"state,omitempty"`
// StatusMessage: Output only. Additional information about the current status
// of this instance, if available.
StatusMessage string `json:"statusMessage,omitempty"`
// SuspensionReasons: Optional. reasons that causes instance in "SUSPENDED"
// state.
//
// Possible values:
// "SUSPENSION_REASON_UNSPECIFIED" - Not set.
// "CUSTOMER_MANAGED_KEY_ISSUE" - Something wrong with the CMEK key provided
// by customer.
SuspensionReasons []string `json:"suspensionReasons,omitempty"`
// Tier: Required. The service tier of the instance.
//
// Possible values:
// "TIER_UNSPECIFIED" - Not set.
// "BASIC" - BASIC tier: standalone instance
// "STANDARD_HA" - STANDARD_HA tier: highly available primary/replica
// instances
Tier string `json:"tier,omitempty"`
// TransitEncryptionMode: Optional. The TLS mode of the Redis instance. If not
// provided, TLS is disabled for the instance.
//
// Possible values:
// "TRANSIT_ENCRYPTION_MODE_UNSPECIFIED" - Not set.
// "SERVER_AUTHENTICATION" - Client to Server traffic encryption enabled with
// server authentication.
// "DISABLED" - TLS is disabled for the instance.
TransitEncryptionMode string `json:"transitEncryptionMode,omitempty"`
// ServerResponse contains the HTTP response code and headers from the server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "AlternativeLocationId") 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. "AlternativeLocationId") 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 *Instance) MarshalJSON() ([]byte, error) {
type NoMethod Instance
return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
}
// InstanceAuthString: Instance AUTH string details.
type InstanceAuthString struct {
// AuthString: AUTH string set on the instance.
AuthString string `json:"authString,omitempty"`
// ServerResponse contains the HTTP response code and headers from the server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "AuthString") 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. "AuthString") 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 *InstanceAuthString) MarshalJSON() ([]byte, error) {
type NoMethod InstanceAuthString
return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
}
// ListClustersResponse: Response for ListClusters.
type ListClustersResponse struct {
// Clusters: A list of Redis clusters in the project in the specified location,
// or across all locations. If the `location_id` in the parent field of the
// request is "-", all regions available to the project are queried, and the
// results aggregated. If in such an aggregated query a location is
// unavailable, a placeholder Redis entry is included in the response with the
// `name` field set to a value of the form
// `projects/{project_id}/locations/{location_id}/clusters/`- and the `status`
// field set to ERROR and `status_message` field set to "location not available
// for ListClusters".
Clusters []*Cluster `json:"clusters,omitempty"`
// NextPageToken: Token to retrieve the next page of results, or empty if there
// are no more results in the list.
NextPageToken string `json:"nextPageToken,omitempty"`
// Unreachable: Locations that could not be reached.
Unreachable []string `json:"unreachable,omitempty"`
// ServerResponse contains the HTTP response code and headers from the server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "Clusters") 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. "Clusters") 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 *ListClustersResponse) MarshalJSON() ([]byte, error) {
type NoMethod ListClustersResponse
return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
}
// ListInstancesResponse: Response for ListInstances.
type ListInstancesResponse struct {
// Instances: A list of Redis instances in the project in the specified
// location, or across all locations. If the `location_id` in the parent field
// of the request is "-", all regions available to the project are queried, and
// the results aggregated. If in such an aggregated query a location is
// unavailable, a placeholder Redis entry is included in the response with the
// `name` field set to a value of the form
// `projects/{project_id}/locations/{location_id}/instances/`- and the `status`
// field set to ERROR and `status_message` field set to "location not available
// for ListInstances".
Instances []*Instance `json:"instances,omitempty"`
// NextPageToken: Token to retrieve the next page of results, or empty if there
// are no more results in the list.
NextPageToken string `json:"nextPageToken,omitempty"`
// Unreachable: Locations that could not be reached.
Unreachable []string `json:"unreachable,omitempty"`
// ServerResponse contains the HTTP response code and headers from the server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "Instances") 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. "Instances") 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 *ListInstancesResponse) MarshalJSON() ([]byte, error) {
type NoMethod ListInstancesResponse
return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
}
// ListLocationsResponse: The response message for Locations.ListLocations.
type ListLocationsResponse struct {
// Locations: A list of locations that matches the specified filter in the
// request.
Locations []*Location `json:"locations,omitempty"`
// NextPageToken: The standard List next-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. "Locations") 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. "Locations") 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 *ListLocationsResponse) MarshalJSON() ([]byte, error) {
type NoMethod ListLocationsResponse
return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
}
// ListOperationsResponse: The response message for Operations.ListOperations.
type ListOperationsResponse struct {
// NextPageToken: The standard List next-page token.
NextPageToken string `json:"nextPageToken,omitempty"`
// Operations: A list of operations that matches the specified filter in the
// request.
Operations []*Operation `json:"operations,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 *ListOperationsResponse) MarshalJSON() ([]byte, error) {
type NoMethod ListOperationsResponse
return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
}
// Location: A resource that represents a Google Cloud location.
type Location struct {
// DisplayName: The friendly name for this location, typically a nearby city
// name. For example, "Tokyo".
DisplayName string `json:"displayName,omitempty"`
// Labels: Cross-service attributes for the location. For example
// {"cloud.googleapis.com/region": "us-east1"}
Labels map[string]string `json:"labels,omitempty"`
// LocationId: Resource ID for the region. For example: "us-east1".
LocationId string `json:"locationId,omitempty"`
// Metadata: Output only. The set of available zones in the location. The map
// is keyed by the lowercase ID of each zone, as defined by Compute Engine.
// These keys can be specified in `location_id` or `alternative_location_id`
// fields when creating a Redis instance.
Metadata googleapi.RawMessage `json:"metadata,omitempty"`
// Name: Full resource name for the region. For example:
// "projects/example-project/locations/us-east1".
Name string `json:"name,omitempty"`
// ServerResponse contains the HTTP response code and headers from the server.
googleapi.ServerResponse `json:"-"`
// 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 *Location) MarshalJSON() ([]byte, error) {
type NoMethod Location
return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
}
// MachineConfiguration: MachineConfiguration describes the configuration of a
// machine specific to Database Resource.
type MachineConfiguration struct {
// CpuCount: The number of CPUs. TODO(b/342344482, b/342346271) add proto
// validations again after bug fix.
CpuCount int64 `json:"cpuCount,omitempty"`
// MemorySizeInBytes: Memory size in bytes. TODO(b/342344482, b/342346271) add
// proto validations again after bug fix.
MemorySizeInBytes int64 `json:"memorySizeInBytes,omitempty,string"`
// ForceSendFields is a list of field names (e.g. "CpuCount") 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. "CpuCount") 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 *MachineConfiguration) MarshalJSON() ([]byte, error) {
type NoMethod MachineConfiguration
return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
}
// MaintenancePolicy: Maintenance policy for an instance.
type MaintenancePolicy struct {
// CreateTime: Output only. The time when the policy was created.
CreateTime string `json:"createTime,omitempty"`
// Description: Optional. Description of what this policy is for. Create/Update
// methods return INVALID_ARGUMENT if the length is greater than 512.
Description string `json:"description,omitempty"`
// UpdateTime: Output only. The time when the policy was last updated.
UpdateTime string `json:"updateTime,omitempty"`
// WeeklyMaintenanceWindow: Optional. Maintenance window that is applied to
// resources covered by this policy. Minimum 1. For the current version, the
// maximum number of weekly_window is expected to be one.
WeeklyMaintenanceWindow []*WeeklyMaintenanceWindow `json:"weeklyMaintenanceWindow,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 *MaintenancePolicy) MarshalJSON() ([]byte, error) {
type NoMethod MaintenancePolicy
return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
}
// MaintenanceSchedule: Upcoming maintenance schedule. If no maintenance is
// scheduled, fields are not populated.
type MaintenanceSchedule struct {
// CanReschedule: If the scheduled maintenance can be rescheduled, default is
// true.
CanReschedule bool `json:"canReschedule,omitempty"`
// EndTime: Output only. The end time of any upcoming scheduled maintenance for
// this instance.
EndTime string `json:"endTime,omitempty"`
// ScheduleDeadlineTime: Output only. The deadline that the maintenance
// schedule start time can not go beyond, including reschedule.
ScheduleDeadlineTime string `json:"scheduleDeadlineTime,omitempty"`
// StartTime: Output only. The start time of any upcoming scheduled maintenance
// for this instance.
StartTime string `json:"startTime,omitempty"`
// ForceSendFields is a list of field names (e.g. "CanReschedule") 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. "CanReschedule") 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 *MaintenanceSchedule) MarshalJSON() ([]byte, error) {
type NoMethod MaintenanceSchedule
return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
}
type ManagedCertificateAuthority struct {
// CaCerts: The PEM encoded CA certificate chains for redis managed server
// authentication
CaCerts []*CertChain `json:"caCerts,omitempty"`
// ForceSendFields is a list of field names (e.g. "CaCerts") 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. "CaCerts") 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 *ManagedCertificateAuthority) MarshalJSON() ([]byte, error) {
type NoMethod ManagedCertificateAuthority
return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
}
// NodeInfo: Node specific properties.
type NodeInfo struct {
// Id: Output only. Node identifying string. e.g. 'node-0', 'node-1'
Id string `json:"id,omitempty"`
// Zone: Output only. Location of the node.
Zone string `json:"zone,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 *NodeInfo) MarshalJSON() ([]byte, error) {
type NoMethod NodeInfo
return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
}
type ObservabilityMetricData struct {
// AggregationType: Required. Type of aggregation performed on the metric.
//
// Possible values:
// "AGGREGATION_TYPE_UNSPECIFIED" - Unspecified aggregation type.
// "PEAK" - PEAK aggregation type.
// "P99" - P99 aggregation type.
// "P95" - P95 aggregation type.
// "CURRENT" - current aggregation type.
AggregationType string `json:"aggregationType,omitempty"`
// MetricType: Required. Type of metric like CPU, Memory, etc.
//
// Possible values:
// "METRIC_TYPE_UNSPECIFIED" - Unspecified metric type.
// "CPU_UTILIZATION" - CPU utilization for a resource. The value is a
// fraction between 0.0 and 1.0 (may momentarily exceed 1.0 in some cases).
// "MEMORY_UTILIZATION" - Memory utilization for a resource. The value is a
// fraction between 0.0 and 1.0 (may momentarily exceed 1.0 in some cases).
// "NETWORK_CONNECTIONS" - Number of network connections for a resource.
// "STORAGE_UTILIZATION" - Storage utilization for a resource. The value is a
// fraction between 0.0 and 1.0 (may momentarily exceed 1.0 in some cases).
// "STORAGE_USED_BYTES" - Sotrage used by a resource.
MetricType string `json:"metricType,omitempty"`
// ObservationTime: Required. The time the metric value was observed.
ObservationTime string `json:"observationTime,omitempty"`
// ResourceName: Required. Database resource name associated with the signal.
// Resource name to follow CAIS resource_name format as noted here
// go/condor-common-datamodel
ResourceName string `json:"resourceName,omitempty"`
// Value: Required. Value of the metric type.
Value *TypedValue `json:"value,omitempty"`
// ForceSendFields is a list of field names (e.g. "AggregationType") 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. "AggregationType") 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 *ObservabilityMetricData) MarshalJSON() ([]byte, error) {
type NoMethod ObservabilityMetricData
return gensupport.MarshalJSON(NoMethod(*s), 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: { `createTime`: The time the operation was created. `endTime`: The
// time the operation finished running. `target`: Server-defined resource path
// for the target of the operation. `verb`: Name of the verb executed by the
// operation. `statusDetail`: Human-readable status of the operation, if any.
// `cancelRequested`: Identifies whether the user has requested cancellation of
// the operation. Operations that have successfully been cancelled have
// Operation.error value with a google.rpc.Status.code of 1, corresponding to
// `Code.CANCELLED`. `apiVersion`: API version used to start the operation. }
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)
}
// OperationError: An error that occurred during a backup creation operation.
type OperationError struct {
// Code: Identifies the specific error that occurred. REQUIRED
Code string `json:"code,omitempty"`
// Possible values:
// "OPERATION_ERROR_TYPE_UNSPECIFIED" - UNSPECIFIED means product type is not
// known or available.
// "KMS_KEY_ERROR" - key destroyed, expired, not found, unreachable or
// permission denied.
// "DATABASE_ERROR" - Database is not accessible
// "STOCKOUT_ERROR" - The zone or region does not have sufficient resources
// to handle the request at the moment
// "CANCELLATION_ERROR" - User initiated cancellation
// "SQLSERVER_ERROR" - SQL server specific error
// "INTERNAL_ERROR" - Any other internal error.
ErrorType string `json:"errorType,omitempty"`
// Message: Additional information about the error encountered. REQUIRED
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 *OperationError) MarshalJSON() ([]byte, error) {
type NoMethod OperationError
return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
}
// OperationMetadata: Pre-defined metadata fields.
type OperationMetadata struct {
// ApiVersion: Output only. API version used to start the operation.
ApiVersion string `json:"apiVersion,omitempty"`
// CreateTime: Output only. The time the operation was created.
CreateTime string `json:"createTime,omitempty"`
// EndTime: Output only. The time the operation finished running.
EndTime string `json:"endTime,omitempty"`
// RequestedCancellation: Output only. Identifies whether the user has
// requested cancellation of the operation. Operations that have successfully
// been cancelled have Operation.error value with a google.rpc.Status.code of
// 1, corresponding to `Code.CANCELLED`.
RequestedCancellation bool `json:"requestedCancellation,omitempty"`
// StatusMessage: Output only. Human-readable status of the operation, if any.
StatusMessage string `json:"statusMessage,omitempty"`
// Target: Output only. Server-defined resource path for the target of the
// operation.
Target string `json:"target,omitempty"`
// Verb: Output only. Name of the verb executed by the operation.
Verb string `json:"verb,omitempty"`
// ForceSendFields is a list of field names (e.g. "ApiVersion") 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. "ApiVersion") 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 *OperationMetadata) MarshalJSON() ([]byte, error) {
type NoMethod OperationMetadata
return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
}
// OutputConfig: The output content
type OutputConfig struct {
// GcsDestination: Google Cloud Storage destination for output content.
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 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. "GcsDestination") 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 *OutputConfig) MarshalJSON() ([]byte, error) {
type NoMethod OutputConfig
return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
}
// PersistenceConfig: Configuration of the persistence functionality.
type PersistenceConfig struct {
// PersistenceMode: Optional. Controls whether Persistence features are
// enabled. If not provided, the existing value will be used.
//
// Possible values:
// "PERSISTENCE_MODE_UNSPECIFIED" - Not set.
// "DISABLED" - Persistence is disabled for the instance, and any existing
// snapshots are deleted.
// "RDB" - RDB based Persistence is enabled.
PersistenceMode string `json:"persistenceMode,omitempty"`
// RdbNextSnapshotTime: Output only. The next time that a snapshot attempt is
// scheduled to occur.
RdbNextSnapshotTime string `json:"rdbNextSnapshotTime,omitempty"`
// RdbSnapshotPeriod: Optional. Period between RDB snapshots. Snapshots will be
// attempted every period starting from the provided snapshot start time. For
// example, a start time of 01/01/2033 06:45 and SIX_HOURS snapshot period will
// do nothing until 01/01/2033, and then trigger snapshots every day at 06:45,
// 12:45, 18:45, and 00:45 the next day, and so on. If not provided,
// TWENTY_FOUR_HOURS will be used as default.
//
// Possible values:
// "SNAPSHOT_PERIOD_UNSPECIFIED" - Not set.
// "ONE_HOUR" - Snapshot every 1 hour.
// "SIX_HOURS" - Snapshot every 6 hours.
// "TWELVE_HOURS" - Snapshot every 12 hours.
// "TWENTY_FOUR_HOURS" - Snapshot every 24 hours.
RdbSnapshotPeriod string `json:"rdbSnapshotPeriod,omitempty"`
// RdbSnapshotStartTime: Optional. Date and time that the first snapshot
// was/will be attempted, and to which future snapshots will be aligned. If not
// provided, the current time will be used.
RdbSnapshotStartTime string `json:"rdbSnapshotStartTime,omitempty"`
// ForceSendFields is a list of field names (e.g. "PersistenceMode") 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. "PersistenceMode") 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 *PersistenceConfig) MarshalJSON() ([]byte, error) {
type NoMethod PersistenceConfig
return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
}
// Product: Product specification for Condor resources.
type Product struct {
// Engine: The specific engine that the underlying database is running.
//
// Possible values:
// "ENGINE_UNSPECIFIED" - UNSPECIFIED means engine type is not known or
// available.
// "ENGINE_MYSQL" - MySQL binary running as an engine in the database
// instance.
// "MYSQL" - MySQL binary running as engine in database instance.
// "ENGINE_POSTGRES" - Postgres binary running as engine in database
// instance.
// "POSTGRES" - Postgres binary running as engine in database instance.
// "ENGINE_SQL_SERVER" - SQLServer binary running as engine in database
// instance.
// "SQL_SERVER" - SQLServer binary running as engine in database instance.
// "ENGINE_NATIVE" - Native database binary running as engine in instance.
// "NATIVE" - Native database binary running as engine in instance.
// "ENGINE_CLOUD_SPANNER_WITH_POSTGRES_DIALECT" - Cloud Spanner with
// PostgreSQL dialect.
// "ENGINE_CLOUD_SPANNER_WITH_GOOGLESQL_DIALECT" - Cloud Spanner with Google
// SQL dialect.
// "ENGINE_MEMORYSTORE_FOR_REDIS" - Memorystore with Redis dialect.
// "ENGINE_MEMORYSTORE_FOR_REDIS_CLUSTER" - Memorystore with Redis cluster
// dialect.
// "ENGINE_OTHER" - Other refers to rest of other database engine. This is to
// be when engine is known, but it is not present in this enum.
Engine string `json:"engine,omitempty"`
// Type: Type of specific database product. It could be CloudSQL, AlloyDB etc..
//
// Possible values:
// "PRODUCT_TYPE_UNSPECIFIED" - UNSPECIFIED means product type is not known
// or available.
// "PRODUCT_TYPE_CLOUD_SQL" - Cloud SQL product area in GCP
// "CLOUD_SQL" - Cloud SQL product area in GCP
// "PRODUCT_TYPE_ALLOYDB" - AlloyDB product area in GCP
// "ALLOYDB" - AlloyDB product area in GCP
// "PRODUCT_TYPE_SPANNER" - Spanner product area in GCP
// "PRODUCT_TYPE_ON_PREM" - On premises database product.
// "ON_PREM" - On premises database product.
// "PRODUCT_TYPE_MEMORYSTORE" - Memorystore product area in GCP
// "PRODUCT_TYPE_BIGTABLE" - Bigtable product area in GCP
// "PRODUCT_TYPE_OTHER" - Other refers to rest of other product type. This is
// to be when product type is known, but it is not present in this enum.
Type string `json:"type,omitempty"`
// Version: Version of the underlying database engine. Example values: For
// MySQL, it could be "8.0", "5.7" etc.. For Postgres, it could be "14", "15"
// etc..
Version string `json:"version,omitempty"`
// ForceSendFields is a list of field names (e.g. "Engine") 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. "Engine") 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 *Product) MarshalJSON() ([]byte, error) {
type NoMethod Product
return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
}
type PscConfig struct {
// Network: Required. The network where the IP address of the discovery
// endpoint will be reserved, in the form of
// projects/{network_project}/global/networks/{network_id}.
Network string `json:"network,omitempty"`
// ForceSendFields is a list of field names (e.g. "Network") 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. "Network") 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 *PscConfig) MarshalJSON() ([]byte, error) {
type NoMethod PscConfig
return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
}
// PscConnection: Details of consumer resources in a PSC connection.
type PscConnection struct {
// Address: Output only. The IP allocated on the consumer network for the PSC
// forwarding rule.
Address string `json:"address,omitempty"`
// ForwardingRule: Output only. The URI of the consumer side forwarding rule.
// Example:
// projects/{projectNumOrId}/regions/us-east1/forwardingRules/{resourceId}.
ForwardingRule string `json:"forwardingRule,omitempty"`
// Network: The consumer network where the IP address resides, in the form of
// projects/{project_id}/global/networks/{network_id}.
Network string `json:"network,omitempty"`
// ProjectId: Output only. The consumer project_id where the forwarding rule is
// created from.
ProjectId string `json:"projectId,omitempty"`
// PscConnectionId: Output only. The PSC connection id of the forwarding rule
// connected to the service attachment.
PscConnectionId string `json:"pscConnectionId,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 *PscConnection) MarshalJSON() ([]byte, error) {
type NoMethod PscConnection
return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
}
// RDBConfig: Configuration of the RDB based persistence.
type RDBConfig struct {
// RdbSnapshotPeriod: Optional. Period between RDB snapshots.
//
// Possible values:
// "SNAPSHOT_PERIOD_UNSPECIFIED" - Not set.
// "ONE_HOUR" - One hour.
// "SIX_HOURS" - Six hours.
// "TWELVE_HOURS" - Twelve hours.
// "TWENTY_FOUR_HOURS" - Twenty four hours.
RdbSnapshotPeriod string `json:"rdbSnapshotPeriod,omitempty"`
// RdbSnapshotStartTime: Optional. The time that the first snapshot was/will be
// attempted, and to which future snapshots will be aligned. If not provided,
// the current time will be used.
RdbSnapshotStartTime string `json:"rdbSnapshotStartTime,omitempty"`
// ForceSendFields is a list of field names (e.g. "RdbSnapshotPeriod") 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. "RdbSnapshotPeriod") 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 *RDBConfig) MarshalJSON() ([]byte, error) {
type NoMethod RDBConfig
return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
}
// ReconciliationOperationMetadata: Operation metadata returned by the CLH
// during resource state reconciliation.
type ReconciliationOperationMetadata struct {
// DeleteResource: DEPRECATED. Use exclusive_action instead.
DeleteResource bool `json:"deleteResource,omitempty"`
// ExclusiveAction: Excluisive action returned by the CLH.
//
// Possible values:
// "UNKNOWN_REPAIR_ACTION" - Unknown repair action.
// "DELETE" - The resource has to be deleted. When using this bit, the CLH
// should fail the operation. DEPRECATED. Instead use DELETE_RESOURCE
// OperationSignal in SideChannel.
// "RETRY" - This resource could not be repaired but the repair should be
// tried again at a later time. This can happen if there is a dependency that
// needs to be resolved first- e.g. if a parent resource must be repaired
// before a child resource.
ExclusiveAction string `json:"exclusiveAction,omitempty"`
// ForceSendFields is a list of field names (e.g. "DeleteResource") 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. "DeleteResource") 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 *ReconciliationOperationMetadata) MarshalJSON() ([]byte, error) {
type NoMethod ReconciliationOperationMetadata
return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
}
// RescheduleMaintenanceRequest: Request for RescheduleMaintenance.
type RescheduleMaintenanceRequest struct {
// RescheduleType: Required. If reschedule type is SPECIFIC_TIME, must set up
// schedule_time as well.
//
// Possible values:
// "RESCHEDULE_TYPE_UNSPECIFIED" - Not set.
// "IMMEDIATE" - If the user wants to schedule the maintenance to happen now.
// "NEXT_AVAILABLE_WINDOW" - If the user wants to use the existing
// maintenance policy to find the next available window.
// "SPECIFIC_TIME" - If the user wants to reschedule the maintenance to a
// specific time.
RescheduleType string `json:"rescheduleType,omitempty"`
// ScheduleTime: Optional. Timestamp when the maintenance shall be rescheduled
// to if reschedule_type=SPECIFIC_TIME, in RFC 3339 format, for example
// `2012-11-15T16:19:00.094Z`.
ScheduleTime string `json:"scheduleTime,omitempty"`
// ForceSendFields is a list of field names (e.g. "RescheduleType") 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. "RescheduleType") 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 *RescheduleMaintenanceRequest) MarshalJSON() ([]byte, error) {
type NoMethod RescheduleMaintenanceRequest
return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
}
type RetentionSettings struct {
QuantityBasedRetention int64 `json:"quantityBasedRetention,omitempty"`
// RetentionUnit: The unit that 'retained_backups' represents.
//
// Possible values:
// "RETENTION_UNIT_UNSPECIFIED" - Backup retention unit is unspecified, will
// be treated as COUNT.
// "COUNT" - Retention will be by count, eg. "retain the most recent 7
// backups".
// "TIME" - Retention will be by Time, eg. "retain the last 7 days backups".
// "RETENTION_UNIT_OTHER" - For rest of the other category
RetentionUnit string `json:"retentionUnit,omitempty"`
TimeBasedRetention string `json:"timeBasedRetention,omitempty"`
// ForceSendFields is a list of field names (e.g. "QuantityBasedRetention") 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. "QuantityBasedRetention") 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 *RetentionSettings) MarshalJSON() ([]byte, error) {
type NoMethod RetentionSettings
return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
}
// StateInfo: Represents additional information about the state of the cluster.
type StateInfo struct {
// UpdateInfo: Describes ongoing update on the cluster when cluster state is
// UPDATING.
UpdateInfo *UpdateInfo `json:"updateInfo,omitempty"`
// ForceSendFields is a list of field names (e.g. "UpdateInfo") 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. "UpdateInfo") 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 *StateInfo) MarshalJSON() ([]byte, error) {
type NoMethod StateInfo
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)
}
// TimeOfDay: Represents a time of day. The date and time zone are either not
// significant or are specified elsewhere. An API may choose to allow leap
// seconds. Related types are google.type.Date and `google.protobuf.Timestamp`.
type TimeOfDay struct {
// Hours: Hours of day in 24 hour format. Should be from 0 to 23. An API may
// choose to allow the value "24:00:00" for scenarios like business closing
// time.
Hours int64 `json:"hours,omitempty"`
// Minutes: Minutes of hour of day. Must be from 0 to 59.
Minutes int64 `json:"minutes,omitempty"`
// Nanos: Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
Nanos int64 `json:"nanos,omitempty"`
// Seconds: Seconds of minutes of the time. Must normally be from 0 to 59. An
// API may allow the value 60 if it allows leap-seconds.
Seconds int64 `json:"seconds,omitempty"`
// ForceSendFields is a list of field names (e.g. "Hours") 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. "Hours") 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 *TimeOfDay) MarshalJSON() ([]byte, error) {
type NoMethod TimeOfDay
return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
}
// TlsCertificate: TlsCertificate Resource
type TlsCertificate struct {
// Cert: PEM representation.
Cert string `json:"cert,omitempty"`
// CreateTime: Output only. The time when the certificate was created in RFC
// 3339 (https://tools.ietf.org/html/rfc3339) format, for example
// `2020-05-18T00:00:00.094Z`.
CreateTime string `json:"createTime,omitempty"`
// ExpireTime: Output only. The time when the certificate expires in RFC 3339
// (https://tools.ietf.org/html/rfc3339) format, for example
// `2020-05-18T00:00:00.094Z`.
ExpireTime string `json:"expireTime,omitempty"`
// SerialNumber: Serial number, as extracted from the certificate.
SerialNumber string `json:"serialNumber,omitempty"`
// Sha1Fingerprint: Sha1 Fingerprint of the certificate.
Sha1Fingerprint string `json:"sha1Fingerprint,omitempty"`
// ForceSendFields is a list of field names (e.g. "Cert") 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. "Cert") 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 *TlsCertificate) MarshalJSON() ([]byte, error) {
type NoMethod TlsCertificate
return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
}
// TypedValue: TypedValue represents the value of a metric type. It can either
// be a double, an int64, a string or a bool.
type TypedValue struct {
// BoolValue: For boolean value
BoolValue bool `json:"boolValue,omitempty"`
// DoubleValue: For double value
DoubleValue float64 `json:"doubleValue,omitempty"`
// Int64Value: For integer value
Int64Value int64 `json:"int64Value,omitempty,string"`
// StringValue: For string value
StringValue string `json:"stringValue,omitempty"`
// ForceSendFields is a list of field names (e.g. "BoolValue") 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. "BoolValue") 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 *TypedValue) MarshalJSON() ([]byte, error) {
type NoMethod TypedValue
return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
}
func (s *TypedValue) UnmarshalJSON(data []byte) error {
type NoMethod TypedValue
var s1 struct {
DoubleValue gensupport.JSONFloat64 `json:"doubleValue"`
*NoMethod
}
s1.NoMethod = (*NoMethod)(s)
if err := json.Unmarshal(data, &s1); err != nil {
return err
}
s.DoubleValue = float64(s1.DoubleValue)
return nil
}
// UpdateInfo: Represents information about an updating cluster.
type UpdateInfo struct {
// TargetReplicaCount: Target number of replica nodes per shard.
TargetReplicaCount int64 `json:"targetReplicaCount,omitempty"`
// TargetShardCount: Target number of shards for redis cluster
TargetShardCount int64 `json:"targetShardCount,omitempty"`
// ForceSendFields is a list of field names (e.g. "TargetReplicaCount") 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. "TargetReplicaCount") 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 *UpdateInfo) MarshalJSON() ([]byte, error) {
type NoMethod UpdateInfo
return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
}
// UpgradeInstanceRequest: Request for UpgradeInstance.
type UpgradeInstanceRequest struct {
// RedisVersion: Required. Specifies the target version of Redis software to
// upgrade to.
RedisVersion string `json:"redisVersion,omitempty"`
// ForceSendFields is a list of field names (e.g. "RedisVersion") 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. "RedisVersion") 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 *UpgradeInstanceRequest) MarshalJSON() ([]byte, error) {
type NoMethod UpgradeInstanceRequest
return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
}
// UserLabels: Message type for storing user labels. User labels are used to
// tag App Engine resources, allowing users to search for resources matching a
// set of labels and to aggregate usage data by labels.
type UserLabels struct {
Labels map[string]string `json:"labels,omitempty"`
// ForceSendFields is a list of field names (e.g. "Labels") 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. "Labels") 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 *UserLabels) MarshalJSON() ([]byte, error) {
type NoMethod UserLabels
return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
}
// WeeklyMaintenanceWindow: Time window in which disruptive maintenance updates
// occur. Non-disruptive updates can occur inside or outside this window.
type WeeklyMaintenanceWindow struct {
// Day: Required. The day of week that maintenance updates occur.
//
// Possible values:
// "DAY_OF_WEEK_UNSPECIFIED" - The day of the week is unspecified.
// "MONDAY" - Monday
// "TUESDAY" - Tuesday
// "WEDNESDAY" - Wednesday
// "THURSDAY" - Thursday
// "FRIDAY" - Friday
// "SATURDAY" - Saturday
// "SUNDAY" - Sunday
Day string `json:"day,omitempty"`
// Duration: Output only. Duration of the maintenance window. The current
// window is fixed at 1 hour.
Duration string `json:"duration,omitempty"`
// StartTime: Required. Start time of the window in UTC time.
StartTime *TimeOfDay `json:"startTime,omitempty"`
// ForceSendFields is a list of field names (e.g. "Day") 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. "Day") 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 *WeeklyMaintenanceWindow) MarshalJSON() ([]byte, error) {
type NoMethod WeeklyMaintenanceWindow
return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
}
// ZoneDistributionConfig: Zone distribution config for allocation of cluster
// resources.
type ZoneDistributionConfig struct {
// Mode: Optional. The mode of zone distribution. Defaults to MULTI_ZONE, when
// not specified.
//
// Possible values:
// "ZONE_DISTRIBUTION_MODE_UNSPECIFIED" - Not Set. Default: MULTI_ZONE
// "MULTI_ZONE" - Distribute all resources across 3 zones picked at random,
// within the region.
// "SINGLE_ZONE" - Distribute all resources in a single zone. The zone field
// must be specified, when this mode is selected.
Mode string `json:"mode,omitempty"`
// Zone: Optional. When SINGLE ZONE distribution is selected, zone field would
// be used to allocate all resources in that zone. This is not applicable to
// MULTI_ZONE, and would be ignored for MULTI_ZONE clusters.
Zone string `json:"zone,omitempty"`
// ForceSendFields is a list of field names (e.g. "Mode") 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. "Mode") 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 *ZoneDistributionConfig) MarshalJSON() ([]byte, error) {
type NoMethod ZoneDistributionConfig
return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
}
type ProjectsLocationsGetCall struct {
s *Service
name string
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
header_ http.Header
}
// Get: Gets information about a location.
//
// - name: Resource name for the location.
func (r *ProjectsLocationsService) Get(name string) *ProjectsLocationsGetCall {
c := &ProjectsLocationsGetCall{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 *ProjectsLocationsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsGetCall {
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 *ProjectsLocationsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsGetCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsGetCall) Context(ctx context.Context) *ProjectsLocationsGetCall {
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 *ProjectsLocationsGetCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *ProjectsLocationsGetCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
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 "redis.projects.locations.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *Location.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 *ProjectsLocationsGetCall) Do(opts ...googleapi.CallOption) (*Location, 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 := &Location{
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
}
type ProjectsLocationsListCall struct {
s *Service
name string
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
header_ http.Header
}
// List: Lists information about the supported locations for this service.
//
// - name: The resource that owns the locations collection, if applicable.
func (r *ProjectsLocationsService) List(name string) *ProjectsLocationsListCall {
c := &ProjectsLocationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.name = name
return c
}
// Filter sets the optional parameter "filter": A filter to narrow down results
// to a preferred subset. The filtering language accepts strings like
// "displayName=tokyo", and is documented in more detail in AIP-160
// (https://google.aip.dev/160).
func (c *ProjectsLocationsListCall) Filter(filter string) *ProjectsLocationsListCall {
c.urlParams_.Set("filter", filter)
return c
}
// PageSize sets the optional parameter "pageSize": The maximum number of
// results to return. If not set, the service selects a default.
func (c *ProjectsLocationsListCall) PageSize(pageSize int64) *ProjectsLocationsListCall {
c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
return c
}
// PageToken sets the optional parameter "pageToken": A page token received
// from the `next_page_token` field in the response. Send that page token to
// receive the subsequent page.
func (c *ProjectsLocationsListCall) PageToken(pageToken string) *ProjectsLocationsListCall {
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 *ProjectsLocationsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsListCall {
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 *ProjectsLocationsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsListCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsListCall) Context(ctx context.Context) *ProjectsLocationsListCall {
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 *ProjectsLocationsListCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *ProjectsLocationsListCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
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}/locations")
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 "redis.projects.locations.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *ListLocationsResponse.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 *ProjectsLocationsListCall) Do(opts ...googleapi.CallOption) (*ListLocationsResponse, 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 := &ListLocationsResponse{
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
}
// 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 *ProjectsLocationsListCall) Pages(ctx context.Context, f func(*ListLocationsResponse) 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 ProjectsLocationsClustersCreateCall struct {
s *Service
parent string
cluster *Cluster
urlParams_ gensupport.URLParams
ctx_ context.Context
header_ http.Header
}
// Create: Creates a Redis cluster based on the specified properties. The
// creation is executed asynchronously and callers may check the returned
// operation to track its progress. Once the operation is completed the Redis
// cluster will be fully functional. The completed longrunning.Operation will
// contain the new cluster object in the response field. The returned operation
// is automatically deleted after a few hours, so there is no need to call
// DeleteOperation.
//
// - parent: The resource name of the cluster location using the form:
// `projects/{project_id}/locations/{location_id}` where `location_id` refers
// to a GCP region.
func (r *ProjectsLocationsClustersService) Create(parent string, cluster *Cluster) *ProjectsLocationsClustersCreateCall {
c := &ProjectsLocationsClustersCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.parent = parent
c.cluster = cluster
return c
}
// ClusterId sets the optional parameter "clusterId": Required. The logical
// name of the Redis cluster in the customer project with the following
// restrictions: * Must contain only lowercase letters, numbers, and hyphens. *
// Must start with a letter. * Must be between 1-63 characters. * Must end with
// a number or a letter. * Must be unique within the customer project /
// location
func (c *ProjectsLocationsClustersCreateCall) ClusterId(clusterId string) *ProjectsLocationsClustersCreateCall {
c.urlParams_.Set("clusterId", clusterId)
return c
}
// RequestId sets the optional parameter "requestId": Idempotent request UUID.
func (c *ProjectsLocationsClustersCreateCall) RequestId(requestId string) *ProjectsLocationsClustersCreateCall {
c.urlParams_.Set("requestId", requestId)
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 *ProjectsLocationsClustersCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsClustersCreateCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsClustersCreateCall) Context(ctx context.Context) *ProjectsLocationsClustersCreateCall {
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 *ProjectsLocationsClustersCreateCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *ProjectsLocationsClustersCreateCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
var body io.Reader = nil
body, err := googleapi.WithoutDataWrapper.JSONReader(c.cluster)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/clusters")
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 "redis.projects.locations.clusters.create" 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 *ProjectsLocationsClustersCreateCall) 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
if err := gensupport.DecodeResponse(target, res); err != nil {
return nil, err
}
return ret, nil
}
type ProjectsLocationsClustersDeleteCall struct {
s *Service
name string
urlParams_ gensupport.URLParams
ctx_ context.Context
header_ http.Header
}
// Delete: Deletes a specific Redis cluster. Cluster stops serving and data is
// deleted.
//
// - name: Redis cluster resource name using the form:
// `projects/{project_id}/locations/{location_id}/clusters/{cluster_id}`
// where `location_id` refers to a GCP region.
func (r *ProjectsLocationsClustersService) Delete(name string) *ProjectsLocationsClustersDeleteCall {
c := &ProjectsLocationsClustersDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.name = name
return c
}
// RequestId sets the optional parameter "requestId": Idempotent request UUID.
func (c *ProjectsLocationsClustersDeleteCall) RequestId(requestId string) *ProjectsLocationsClustersDeleteCall {
c.urlParams_.Set("requestId", requestId)
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 *ProjectsLocationsClustersDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsClustersDeleteCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsClustersDeleteCall) Context(ctx context.Context) *ProjectsLocationsClustersDeleteCall {
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 *ProjectsLocationsClustersDeleteCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *ProjectsLocationsClustersDeleteCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
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("DELETE", 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 "redis.projects.locations.clusters.delete" 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 *ProjectsLocationsClustersDeleteCall) 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
if err := gensupport.DecodeResponse(target, res); err != nil {
return nil, err
}
return ret, nil
}
type ProjectsLocationsClustersGetCall struct {
s *Service
name string
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
header_ http.Header
}
// Get: Gets the details of a specific Redis cluster.
//
// - name: Redis cluster resource name using the form:
// `projects/{project_id}/locations/{location_id}/clusters/{cluster_id}`
// where `location_id` refers to a GCP region.
func (r *ProjectsLocationsClustersService) Get(name string) *ProjectsLocationsClustersGetCall {
c := &ProjectsLocationsClustersGetCall{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 *ProjectsLocationsClustersGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsClustersGetCall {
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 *ProjectsLocationsClustersGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsClustersGetCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsClustersGetCall) Context(ctx context.Context) *ProjectsLocationsClustersGetCall {
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 *ProjectsLocationsClustersGetCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *ProjectsLocationsClustersGetCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
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 "redis.projects.locations.clusters.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *Cluster.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 *ProjectsLocationsClustersGetCall) Do(opts ...googleapi.CallOption) (*Cluster, 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 := &Cluster{
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
}
type ProjectsLocationsClustersGetCertificateAuthorityCall struct {
s *Service
name string
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
header_ http.Header
}
// GetCertificateAuthority: Gets the details of certificate authority
// information for Redis cluster.
//
// - name: Redis cluster certificate authority resource name using the form:
// `projects/{project_id}/locations/{location_id}/clusters/{cluster_id}/certif
// icateAuthority` where `location_id` refers to a GCP region.
func (r *ProjectsLocationsClustersService) GetCertificateAuthority(name string) *ProjectsLocationsClustersGetCertificateAuthorityCall {
c := &ProjectsLocationsClustersGetCertificateAuthorityCall{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 *ProjectsLocationsClustersGetCertificateAuthorityCall) Fields(s ...googleapi.Field) *ProjectsLocationsClustersGetCertificateAuthorityCall {
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 *ProjectsLocationsClustersGetCertificateAuthorityCall) IfNoneMatch(entityTag string) *ProjectsLocationsClustersGetCertificateAuthorityCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsClustersGetCertificateAuthorityCall) Context(ctx context.Context) *ProjectsLocationsClustersGetCertificateAuthorityCall {
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 *ProjectsLocationsClustersGetCertificateAuthorityCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *ProjectsLocationsClustersGetCertificateAuthorityCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
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 "redis.projects.locations.clusters.getCertificateAuthority" call.
// Any non-2xx status code is an error. Response headers are in either
// *CertificateAuthority.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 *ProjectsLocationsClustersGetCertificateAuthorityCall) Do(opts ...googleapi.CallOption) (*CertificateAuthority, 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 := &CertificateAuthority{
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
}
type ProjectsLocationsClustersListCall struct {
s *Service
parent string
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
header_ http.Header
}
// List: Lists all Redis clusters owned by a project in either the specified
// location (region) or all locations. The location should have the following
// format: * `projects/{project_id}/locations/{location_id}` If `location_id`
// is specified as `-` (wildcard), then all regions available to the project
// are queried, and the results are aggregated.
//
// - parent: The resource name of the cluster location using the form:
// `projects/{project_id}/locations/{location_id}` where `location_id` refers
// to a GCP region.
func (r *ProjectsLocationsClustersService) List(parent string) *ProjectsLocationsClustersListCall {
c := &ProjectsLocationsClustersListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.parent = parent
return c
}
// PageSize sets the optional parameter "pageSize": The maximum number of items
// to return. If not specified, a default value of 1000 will be used by the
// service. Regardless of the page_size value, the response may include a
// partial list and a caller should only rely on response's `next_page_token`
// to determine if there are more clusters left to be queried.
func (c *ProjectsLocationsClustersListCall) PageSize(pageSize int64) *ProjectsLocationsClustersListCall {
c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
return c
}
// PageToken sets the optional parameter "pageToken": The `next_page_token`
// value returned from a previous ListClusters request, if any.
func (c *ProjectsLocationsClustersListCall) PageToken(pageToken string) *ProjectsLocationsClustersListCall {
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 *ProjectsLocationsClustersListCall) Fields(s ...googleapi.Field) *ProjectsLocationsClustersListCall {
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 *ProjectsLocationsClustersListCall) IfNoneMatch(entityTag string) *ProjectsLocationsClustersListCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsClustersListCall) Context(ctx context.Context) *ProjectsLocationsClustersListCall {
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 *ProjectsLocationsClustersListCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *ProjectsLocationsClustersListCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
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}/clusters")
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 "redis.projects.locations.clusters.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *ListClustersResponse.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 *ProjectsLocationsClustersListCall) Do(opts ...googleapi.CallOption) (*ListClustersResponse, 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 := &ListClustersResponse{
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
}
// 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 *ProjectsLocationsClustersListCall) Pages(ctx context.Context, f func(*ListClustersResponse) 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 ProjectsLocationsClustersPatchCall struct {
s *Service
name string
cluster *Cluster
urlParams_ gensupport.URLParams
ctx_ context.Context
header_ http.Header
}
// Patch: Updates the metadata and configuration of a specific Redis cluster.
// Completed longrunning.Operation will contain the new cluster object in the
// response field. The returned operation is automatically deleted after a few
// hours, so there is no need to call DeleteOperation.
//
// - name: Unique name of the resource in this scope including project and
// location using the form:
// `projects/{project_id}/locations/{location_id}/clusters/{cluster_id}`.
func (r *ProjectsLocationsClustersService) Patch(name string, cluster *Cluster) *ProjectsLocationsClustersPatchCall {
c := &ProjectsLocationsClustersPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.name = name
c.cluster = cluster
return c
}
// RequestId sets the optional parameter "requestId": Idempotent request UUID.
func (c *ProjectsLocationsClustersPatchCall) RequestId(requestId string) *ProjectsLocationsClustersPatchCall {
c.urlParams_.Set("requestId", requestId)
return c
}
// UpdateMask sets the optional parameter "updateMask": Required. Mask of
// fields to update. At least one path must be supplied in this field. The
// elements of the repeated paths field may only include these fields from
// Cluster: * `size_gb` * `replica_count`
func (c *ProjectsLocationsClustersPatchCall) UpdateMask(updateMask string) *ProjectsLocationsClustersPatchCall {
c.urlParams_.Set("updateMask", updateMask)
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 *ProjectsLocationsClustersPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsClustersPatchCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsClustersPatchCall) Context(ctx context.Context) *ProjectsLocationsClustersPatchCall {
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 *ProjectsLocationsClustersPatchCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *ProjectsLocationsClustersPatchCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
var body io.Reader = nil
body, err := googleapi.WithoutDataWrapper.JSONReader(c.cluster)
if err != nil {
return nil, err
}
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("PATCH", 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 "redis.projects.locations.clusters.patch" 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 *ProjectsLocationsClustersPatchCall) 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
if err := gensupport.DecodeResponse(target, res); err != nil {
return nil, err
}
return ret, nil
}
type ProjectsLocationsInstancesCreateCall struct {
s *Service
parent string
instance *Instance
urlParams_ gensupport.URLParams
ctx_ context.Context
header_ http.Header
}
// Create: Creates a Redis instance based on the specified tier and memory
// size. By default, the instance is accessible from the project's default
// network (https://cloud.google.com/vpc/docs/vpc). The creation is executed
// asynchronously and callers may check the returned operation to track its
// progress. Once the operation is completed the Redis instance will be fully
// functional. Completed longrunning.Operation will contain the new instance
// object in the response field. The returned operation is automatically
// deleted after a few hours, so there is no need to call DeleteOperation.
//
// - parent: The resource name of the instance location using the form:
// `projects/{project_id}/locations/{location_id}` where `location_id` refers
// to a GCP region.
func (r *ProjectsLocationsInstancesService) Create(parent string, instance *Instance) *ProjectsLocationsInstancesCreateCall {
c := &ProjectsLocationsInstancesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.parent = parent
c.instance = instance
return c
}
// InstanceId sets the optional parameter "instanceId": Required. The logical
// name of the Redis instance in the customer project with the following
// restrictions: * Must contain only lowercase letters, numbers, and hyphens. *
// Must start with a letter. * Must be between 1-40 characters. * Must end with
// a number or a letter. * Must be unique within the customer project /
// location
func (c *ProjectsLocationsInstancesCreateCall) InstanceId(instanceId string) *ProjectsLocationsInstancesCreateCall {
c.urlParams_.Set("instanceId", instanceId)
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 *ProjectsLocationsInstancesCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsInstancesCreateCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsInstancesCreateCall) Context(ctx context.Context) *ProjectsLocationsInstancesCreateCall {
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 *ProjectsLocationsInstancesCreateCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *ProjectsLocationsInstancesCreateCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
var body io.Reader = nil
body, err := googleapi.WithoutDataWrapper.JSONReader(c.instance)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/instances")
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 "redis.projects.locations.instances.create" 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 *ProjectsLocationsInstancesCreateCall) 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
if err := gensupport.DecodeResponse(target, res); err != nil {
return nil, err
}
return ret, nil
}
type ProjectsLocationsInstancesDeleteCall struct {
s *Service
name string
urlParams_ gensupport.URLParams
ctx_ context.Context
header_ http.Header
}
// Delete: Deletes a specific Redis instance. Instance stops serving and data
// is deleted.
//
// - name: Redis instance resource name using the form:
// `projects/{project_id}/locations/{location_id}/instances/{instance_id}`
// where `location_id` refers to a GCP region.
func (r *ProjectsLocationsInstancesService) Delete(name string) *ProjectsLocationsInstancesDeleteCall {
c := &ProjectsLocationsInstancesDeleteCall{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 *ProjectsLocationsInstancesDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsInstancesDeleteCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsInstancesDeleteCall) Context(ctx context.Context) *ProjectsLocationsInstancesDeleteCall {
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 *ProjectsLocationsInstancesDeleteCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *ProjectsLocationsInstancesDeleteCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
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("DELETE", 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 "redis.projects.locations.instances.delete" 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 *ProjectsLocationsInstancesDeleteCall) 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
if err := gensupport.DecodeResponse(target, res); err != nil {
return nil, err
}
return ret, nil
}
type ProjectsLocationsInstancesExportCall struct {
s *Service
name string
exportinstancerequest *ExportInstanceRequest
urlParams_ gensupport.URLParams
ctx_ context.Context
header_ http.Header
}
// Export: Export Redis instance data into a Redis RDB format file in Cloud
// Storage. Redis will continue serving during this operation. The returned
// operation is automatically deleted after a few hours, so there is no need to
// call DeleteOperation.
//
// - name: Redis instance resource name using the form:
// `projects/{project_id}/locations/{location_id}/instances/{instance_id}`
// where `location_id` refers to a GCP region.
func (r *ProjectsLocationsInstancesService) Export(name string, exportinstancerequest *ExportInstanceRequest) *ProjectsLocationsInstancesExportCall {
c := &ProjectsLocationsInstancesExportCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.name = name
c.exportinstancerequest = exportinstancerequest
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 *ProjectsLocationsInstancesExportCall) Fields(s ...googleapi.Field) *ProjectsLocationsInstancesExportCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsInstancesExportCall) Context(ctx context.Context) *ProjectsLocationsInstancesExportCall {
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 *ProjectsLocationsInstancesExportCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *ProjectsLocationsInstancesExportCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
var body io.Reader = nil
body, err := googleapi.WithoutDataWrapper.JSONReader(c.exportinstancerequest)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:export")
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,
})
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "redis.projects.locations.instances.export" 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 *ProjectsLocationsInstancesExportCall) 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
if err := gensupport.DecodeResponse(target, res); err != nil {
return nil, err
}
return ret, nil
}
type ProjectsLocationsInstancesFailoverCall struct {
s *Service
name string
failoverinstancerequest *FailoverInstanceRequest
urlParams_ gensupport.URLParams
ctx_ context.Context
header_ http.Header
}
// Failover: Initiates a failover of the primary node to current replica node
// for a specific STANDARD tier Cloud Memorystore for Redis instance.
//
// - name: Redis instance resource name using the form:
// `projects/{project_id}/locations/{location_id}/instances/{instance_id}`
// where `location_id` refers to a GCP region.
func (r *ProjectsLocationsInstancesService) Failover(name string, failoverinstancerequest *FailoverInstanceRequest) *ProjectsLocationsInstancesFailoverCall {
c := &ProjectsLocationsInstancesFailoverCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.name = name
c.failoverinstancerequest = failoverinstancerequest
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 *ProjectsLocationsInstancesFailoverCall) Fields(s ...googleapi.Field) *ProjectsLocationsInstancesFailoverCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsInstancesFailoverCall) Context(ctx context.Context) *ProjectsLocationsInstancesFailoverCall {
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 *ProjectsLocationsInstancesFailoverCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *ProjectsLocationsInstancesFailoverCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
var body io.Reader = nil
body, err := googleapi.WithoutDataWrapper.JSONReader(c.failoverinstancerequest)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:failover")
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,
})
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "redis.projects.locations.instances.failover" 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 *ProjectsLocationsInstancesFailoverCall) 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
if err := gensupport.DecodeResponse(target, res); err != nil {
return nil, err
}
return ret, nil
}
type ProjectsLocationsInstancesGetCall struct {
s *Service
name string
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
header_ http.Header
}
// Get: Gets the details of a specific Redis instance.
//
// - name: Redis instance resource name using the form:
// `projects/{project_id}/locations/{location_id}/instances/{instance_id}`
// where `location_id` refers to a GCP region.
func (r *ProjectsLocationsInstancesService) Get(name string) *ProjectsLocationsInstancesGetCall {
c := &ProjectsLocationsInstancesGetCall{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 *ProjectsLocationsInstancesGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsInstancesGetCall {
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 *ProjectsLocationsInstancesGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsInstancesGetCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsInstancesGetCall) Context(ctx context.Context) *ProjectsLocationsInstancesGetCall {
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 *ProjectsLocationsInstancesGetCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *ProjectsLocationsInstancesGetCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
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 "redis.projects.locations.instances.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *Instance.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 *ProjectsLocationsInstancesGetCall) Do(opts ...googleapi.CallOption) (*Instance, 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 := &Instance{
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
}
type ProjectsLocationsInstancesGetAuthStringCall struct {
s *Service
name string
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
header_ http.Header
}
// GetAuthString: Gets the AUTH string for a Redis instance. If AUTH is not
// enabled for the instance the response will be empty. This information is not
// included in the details returned to GetInstance.
//
// - name: Redis instance resource name using the form:
// `projects/{project_id}/locations/{location_id}/instances/{instance_id}`
// where `location_id` refers to a GCP region.
func (r *ProjectsLocationsInstancesService) GetAuthString(name string) *ProjectsLocationsInstancesGetAuthStringCall {
c := &ProjectsLocationsInstancesGetAuthStringCall{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 *ProjectsLocationsInstancesGetAuthStringCall) Fields(s ...googleapi.Field) *ProjectsLocationsInstancesGetAuthStringCall {
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 *ProjectsLocationsInstancesGetAuthStringCall) IfNoneMatch(entityTag string) *ProjectsLocationsInstancesGetAuthStringCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsInstancesGetAuthStringCall) Context(ctx context.Context) *ProjectsLocationsInstancesGetAuthStringCall {
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 *ProjectsLocationsInstancesGetAuthStringCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *ProjectsLocationsInstancesGetAuthStringCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
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}/authString")
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 "redis.projects.locations.instances.getAuthString" call.
// Any non-2xx status code is an error. Response headers are in either
// *InstanceAuthString.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 *ProjectsLocationsInstancesGetAuthStringCall) Do(opts ...googleapi.CallOption) (*InstanceAuthString, 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 := &InstanceAuthString{
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
}
type ProjectsLocationsInstancesImportCall struct {
s *Service
name string
importinstancerequest *ImportInstanceRequest
urlParams_ gensupport.URLParams
ctx_ context.Context
header_ http.Header
}
// Import: Import a Redis RDB snapshot file from Cloud Storage into a Redis
// instance. Redis may stop serving during this operation. Instance state will
// be IMPORTING for entire operation. When complete, the instance will contain
// only data from the imported file. The returned operation is automatically
// deleted after a few hours, so there is no need to call DeleteOperation.
//
// - name: Redis instance resource name using the form:
// `projects/{project_id}/locations/{location_id}/instances/{instance_id}`
// where `location_id` refers to a GCP region.
func (r *ProjectsLocationsInstancesService) Import(name string, importinstancerequest *ImportInstanceRequest) *ProjectsLocationsInstancesImportCall {
c := &ProjectsLocationsInstancesImportCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.name = name
c.importinstancerequest = importinstancerequest
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 *ProjectsLocationsInstancesImportCall) Fields(s ...googleapi.Field) *ProjectsLocationsInstancesImportCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsInstancesImportCall) Context(ctx context.Context) *ProjectsLocationsInstancesImportCall {
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 *ProjectsLocationsInstancesImportCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *ProjectsLocationsInstancesImportCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
var body io.Reader = nil
body, err := googleapi.WithoutDataWrapper.JSONReader(c.importinstancerequest)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:import")
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,
})
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "redis.projects.locations.instances.import" 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 *ProjectsLocationsInstancesImportCall) 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
if err := gensupport.DecodeResponse(target, res); err != nil {
return nil, err
}
return ret, nil
}
type ProjectsLocationsInstancesListCall struct {
s *Service
parent string
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
header_ http.Header
}
// List: Lists all Redis instances owned by a project in either the specified
// location (region) or all locations. The location should have the following
// format: * `projects/{project_id}/locations/{location_id}` If `location_id`
// is specified as `-` (wildcard), then all regions available to the project
// are queried, and the results are aggregated.
//
// - parent: The resource name of the instance location using the form:
// `projects/{project_id}/locations/{location_id}` where `location_id` refers
// to a GCP region.
func (r *ProjectsLocationsInstancesService) List(parent string) *ProjectsLocationsInstancesListCall {
c := &ProjectsLocationsInstancesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.parent = parent
return c
}
// PageSize sets the optional parameter "pageSize": The maximum number of items
// to return. If not specified, a default value of 1000 will be used by the
// service. Regardless of the page_size value, the response may include a
// partial list and a caller should only rely on response's `next_page_token`
// to determine if there are more instances left to be queried.
func (c *ProjectsLocationsInstancesListCall) PageSize(pageSize int64) *ProjectsLocationsInstancesListCall {
c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
return c
}
// PageToken sets the optional parameter "pageToken": The `next_page_token`
// value returned from a previous ListInstances request, if any.
func (c *ProjectsLocationsInstancesListCall) PageToken(pageToken string) *ProjectsLocationsInstancesListCall {
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 *ProjectsLocationsInstancesListCall) Fields(s ...googleapi.Field) *ProjectsLocationsInstancesListCall {
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 *ProjectsLocationsInstancesListCall) IfNoneMatch(entityTag string) *ProjectsLocationsInstancesListCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsInstancesListCall) Context(ctx context.Context) *ProjectsLocationsInstancesListCall {
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 *ProjectsLocationsInstancesListCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *ProjectsLocationsInstancesListCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
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}/instances")
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 "redis.projects.locations.instances.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *ListInstancesResponse.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 *ProjectsLocationsInstancesListCall) Do(opts ...googleapi.CallOption) (*ListInstancesResponse, 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 := &ListInstancesResponse{
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
}
// 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 *ProjectsLocationsInstancesListCall) Pages(ctx context.Context, f func(*ListInstancesResponse) 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 ProjectsLocationsInstancesPatchCall struct {
s *Service
name string
instance *Instance
urlParams_ gensupport.URLParams
ctx_ context.Context
header_ http.Header
}
// Patch: Updates the metadata and configuration of a specific Redis instance.
// Completed longrunning.Operation will contain the new instance object in the
// response field. The returned operation is automatically deleted after a few
// hours, so there is no need to call DeleteOperation.
//
// - name: Unique name of the resource in this scope including project and
// location using the form:
// `projects/{project_id}/locations/{location_id}/instances/{instance_id}`
// Note: Redis instances are managed and addressed at regional level so
// location_id here refers to a GCP region; however, users may choose which
// specific zone (or collection of zones for cross-zone instances) an
// instance should be provisioned in. Refer to location_id and
// alternative_location_id fields for more details.
func (r *ProjectsLocationsInstancesService) Patch(name string, instance *Instance) *ProjectsLocationsInstancesPatchCall {
c := &ProjectsLocationsInstancesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.name = name
c.instance = instance
return c
}
// UpdateMask sets the optional parameter "updateMask": Required. Mask of
// fields to update. At least one path must be supplied in this field. The
// elements of the repeated paths field may only include these fields from
// Instance: * `displayName` * `labels` * `memorySizeGb` * `redisConfig` *
// `replica_count`
func (c *ProjectsLocationsInstancesPatchCall) UpdateMask(updateMask string) *ProjectsLocationsInstancesPatchCall {
c.urlParams_.Set("updateMask", updateMask)
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 *ProjectsLocationsInstancesPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsInstancesPatchCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsInstancesPatchCall) Context(ctx context.Context) *ProjectsLocationsInstancesPatchCall {
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 *ProjectsLocationsInstancesPatchCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *ProjectsLocationsInstancesPatchCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
var body io.Reader = nil
body, err := googleapi.WithoutDataWrapper.JSONReader(c.instance)
if err != nil {
return nil, err
}
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("PATCH", 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 "redis.projects.locations.instances.patch" 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 *ProjectsLocationsInstancesPatchCall) 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
if err := gensupport.DecodeResponse(target, res); err != nil {
return nil, err
}
return ret, nil
}
type ProjectsLocationsInstancesRescheduleMaintenanceCall struct {
s *Service
name string
reschedulemaintenancerequest *RescheduleMaintenanceRequest
urlParams_ gensupport.URLParams
ctx_ context.Context
header_ http.Header
}
// RescheduleMaintenance: Reschedule maintenance for a given instance in a
// given project and location.
//
// - name: Redis instance resource name using the form:
// `projects/{project_id}/locations/{location_id}/instances/{instance_id}`
// where `location_id` refers to a GCP region.
func (r *ProjectsLocationsInstancesService) RescheduleMaintenance(name string, reschedulemaintenancerequest *RescheduleMaintenanceRequest) *ProjectsLocationsInstancesRescheduleMaintenanceCall {
c := &ProjectsLocationsInstancesRescheduleMaintenanceCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.name = name
c.reschedulemaintenancerequest = reschedulemaintenancerequest
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 *ProjectsLocationsInstancesRescheduleMaintenanceCall) Fields(s ...googleapi.Field) *ProjectsLocationsInstancesRescheduleMaintenanceCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsInstancesRescheduleMaintenanceCall) Context(ctx context.Context) *ProjectsLocationsInstancesRescheduleMaintenanceCall {
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 *ProjectsLocationsInstancesRescheduleMaintenanceCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *ProjectsLocationsInstancesRescheduleMaintenanceCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
var body io.Reader = nil
body, err := googleapi.WithoutDataWrapper.JSONReader(c.reschedulemaintenancerequest)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:rescheduleMaintenance")
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,
})
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "redis.projects.locations.instances.rescheduleMaintenance" 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 *ProjectsLocationsInstancesRescheduleMaintenanceCall) 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
if err := gensupport.DecodeResponse(target, res); err != nil {
return nil, err
}
return ret, nil
}
type ProjectsLocationsInstancesUpgradeCall struct {
s *Service
name string
upgradeinstancerequest *UpgradeInstanceRequest
urlParams_ gensupport.URLParams
ctx_ context.Context
header_ http.Header
}
// Upgrade: Upgrades Redis instance to the newer Redis version specified in the
// request.
//
// - name: Redis instance resource name using the form:
// `projects/{project_id}/locations/{location_id}/instances/{instance_id}`
// where `location_id` refers to a GCP region.
func (r *ProjectsLocationsInstancesService) Upgrade(name string, upgradeinstancerequest *UpgradeInstanceRequest) *ProjectsLocationsInstancesUpgradeCall {
c := &ProjectsLocationsInstancesUpgradeCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.name = name
c.upgradeinstancerequest = upgradeinstancerequest
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 *ProjectsLocationsInstancesUpgradeCall) Fields(s ...googleapi.Field) *ProjectsLocationsInstancesUpgradeCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsInstancesUpgradeCall) Context(ctx context.Context) *ProjectsLocationsInstancesUpgradeCall {
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 *ProjectsLocationsInstancesUpgradeCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *ProjectsLocationsInstancesUpgradeCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
var body io.Reader = nil
body, err := googleapi.WithoutDataWrapper.JSONReader(c.upgradeinstancerequest)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:upgrade")
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,
})
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "redis.projects.locations.instances.upgrade" 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 *ProjectsLocationsInstancesUpgradeCall) 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
if err := gensupport.DecodeResponse(target, res); err != nil {
return nil, err
}
return ret, nil
}
type ProjectsLocationsOperationsCancelCall struct {
s *Service
name string
urlParams_ gensupport.URLParams
ctx_ context.Context
header_ http.Header
}
// Cancel: Starts asynchronous cancellation on a long-running operation. The
// server makes a best effort to cancel the operation, but success is not
// guaranteed. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or
// other methods to check whether the cancellation succeeded or whether the
// operation completed despite cancellation. On successful cancellation, the
// operation is not deleted; instead, it becomes an operation with an
// Operation.error value with a google.rpc.Status.code of 1, corresponding to
// `Code.CANCELLED`.
//
// - name: The name of the operation resource to be cancelled.
func (r *ProjectsLocationsOperationsService) Cancel(name string) *ProjectsLocationsOperationsCancelCall {
c := &ProjectsLocationsOperationsCancelCall{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 *ProjectsLocationsOperationsCancelCall) Fields(s ...googleapi.Field) *ProjectsLocationsOperationsCancelCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsOperationsCancelCall) Context(ctx context.Context) *ProjectsLocationsOperationsCancelCall {
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 *ProjectsLocationsOperationsCancelCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *ProjectsLocationsOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
var body io.Reader = nil
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:cancel")
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,
})
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "redis.projects.locations.operations.cancel" call.
// Any non-2xx status code is an error. Response headers are in either
// *Empty.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 *ProjectsLocationsOperationsCancelCall) Do(opts ...googleapi.CallOption) (*Empty, 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 := &Empty{
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
}
type ProjectsLocationsOperationsDeleteCall struct {
s *Service
name string
urlParams_ gensupport.URLParams
ctx_ context.Context
header_ http.Header
}
// Delete: Deletes a long-running operation. This method indicates that the
// client is no longer interested in the operation result. It does not cancel
// the operation. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`.
//
// - name: The name of the operation resource to be deleted.
func (r *ProjectsLocationsOperationsService) Delete(name string) *ProjectsLocationsOperationsDeleteCall {
c := &ProjectsLocationsOperationsDeleteCall{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 *ProjectsLocationsOperationsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsOperationsDeleteCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsOperationsDeleteCall) Context(ctx context.Context) *ProjectsLocationsOperationsDeleteCall {
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 *ProjectsLocationsOperationsDeleteCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *ProjectsLocationsOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
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("DELETE", 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 "redis.projects.locations.operations.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *Empty.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 *ProjectsLocationsOperationsDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, 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 := &Empty{
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
}
type ProjectsLocationsOperationsGetCall 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.
//
// - name: The name of the operation resource.
func (r *ProjectsLocationsOperationsService) Get(name string) *ProjectsLocationsOperationsGetCall {
c := &ProjectsLocationsOperationsGetCall{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 *ProjectsLocationsOperationsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsOperationsGetCall {
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 *ProjectsLocationsOperationsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsOperationsGetCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsOperationsGetCall) Context(ctx context.Context) *ProjectsLocationsOperationsGetCall {
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 *ProjectsLocationsOperationsGetCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *ProjectsLocationsOperationsGetCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
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 "redis.projects.locations.operations.get" 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 *ProjectsLocationsOperationsGetCall) 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
if err := gensupport.DecodeResponse(target, res); err != nil {
return nil, err
}
return ret, nil
}
type ProjectsLocationsOperationsListCall struct {
s *Service
name string
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
header_ http.Header
}
// List: Lists operations that match the specified filter in the request. If
// the server doesn't support this method, it returns `UNIMPLEMENTED`.
//
// - name: The name of the operation's parent resource.
func (r *ProjectsLocationsOperationsService) List(name string) *ProjectsLocationsOperationsListCall {
c := &ProjectsLocationsOperationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.name = name
return c
}
// Filter sets the optional parameter "filter": The standard list filter.
func (c *ProjectsLocationsOperationsListCall) Filter(filter string) *ProjectsLocationsOperationsListCall {
c.urlParams_.Set("filter", filter)
return c
}
// PageSize sets the optional parameter "pageSize": The standard list page
// size.
func (c *ProjectsLocationsOperationsListCall) PageSize(pageSize int64) *ProjectsLocationsOperationsListCall {
c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
return c
}
// PageToken sets the optional parameter "pageToken": The standard list page
// token.
func (c *ProjectsLocationsOperationsListCall) PageToken(pageToken string) *ProjectsLocationsOperationsListCall {
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 *ProjectsLocationsOperationsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsOperationsListCall {
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 *ProjectsLocationsOperationsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsOperationsListCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsOperationsListCall) Context(ctx context.Context) *ProjectsLocationsOperationsListCall {
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 *ProjectsLocationsOperationsListCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *ProjectsLocationsOperationsListCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
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}/operations")
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 "redis.projects.locations.operations.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *ListOperationsResponse.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 *ProjectsLocationsOperationsListCall) Do(opts ...googleapi.CallOption) (*ListOperationsResponse, 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 := &ListOperationsResponse{
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
}
// 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 *ProjectsLocationsOperationsListCall) Pages(ctx context.Context, f func(*ListOperationsResponse) 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)
}
}