...

Source file src/google.golang.org/api/bigtableadmin/v1/bigtableadmin-gen.go

Documentation: google.golang.org/api/bigtableadmin/v1

     1  // Copyright 2022 Google LLC.
     2  // Use of this source code is governed by a BSD-style
     3  // license that can be found in the LICENSE file.
     4  
     5  // Code generated file. DO NOT EDIT.
     6  
     7  // Package bigtableadmin provides access to the Cloud Bigtable Admin API.
     8  //
     9  // For product documentation, see: https://cloud.google.com/bigtable/
    10  //
    11  // # Creating a client
    12  //
    13  // Usage example:
    14  //
    15  //	import "google.golang.org/api/bigtableadmin/v1"
    16  //	...
    17  //	ctx := context.Background()
    18  //	bigtableadminService, err := bigtableadmin.NewService(ctx)
    19  //
    20  // In this example, Google Application Default Credentials are used for authentication.
    21  //
    22  // For information on how to create and obtain Application Default Credentials, see https://developers.google.com/identity/protocols/application-default-credentials.
    23  //
    24  // # Other authentication options
    25  //
    26  // To use an API key for authentication (note: some APIs do not support API keys), use option.WithAPIKey:
    27  //
    28  //	bigtableadminService, err := bigtableadmin.NewService(ctx, option.WithAPIKey("AIza..."))
    29  //
    30  // To use an OAuth token (e.g., a user token obtained via a three-legged OAuth flow), use option.WithTokenSource:
    31  //
    32  //	config := &oauth2.Config{...}
    33  //	// ...
    34  //	token, err := config.Exchange(ctx, ...)
    35  //	bigtableadminService, err := bigtableadmin.NewService(ctx, option.WithTokenSource(config.TokenSource(ctx, token)))
    36  //
    37  // See https://godoc.org/google.golang.org/api/option/ for details on options.
    38  package bigtableadmin // import "google.golang.org/api/bigtableadmin/v1"
    39  
    40  import (
    41  	"bytes"
    42  	"context"
    43  	"encoding/json"
    44  	"errors"
    45  	"fmt"
    46  	"io"
    47  	"net/http"
    48  	"net/url"
    49  	"strconv"
    50  	"strings"
    51  
    52  	googleapi "google.golang.org/api/googleapi"
    53  	gensupport "google.golang.org/api/internal/gensupport"
    54  	option "google.golang.org/api/option"
    55  	internaloption "google.golang.org/api/option/internaloption"
    56  	htransport "google.golang.org/api/transport/http"
    57  )
    58  
    59  // Always reference these packages, just in case the auto-generated code
    60  // below doesn't.
    61  var _ = bytes.NewBuffer
    62  var _ = strconv.Itoa
    63  var _ = fmt.Sprintf
    64  var _ = json.NewDecoder
    65  var _ = io.Copy
    66  var _ = url.Parse
    67  var _ = gensupport.MarshalJSON
    68  var _ = googleapi.Version
    69  var _ = errors.New
    70  var _ = strings.Replace
    71  var _ = context.Canceled
    72  var _ = internaloption.WithDefaultEndpoint
    73  
    74  const apiId = "bigtableadmin:v1"
    75  const apiName = "bigtableadmin"
    76  const apiVersion = "v1"
    77  const basePath = "https://bigtableadmin.googleapis.com/"
    78  const mtlsBasePath = "https://bigtableadmin.mtls.googleapis.com/"
    79  
    80  // NewService creates a new Service.
    81  func NewService(ctx context.Context, opts ...option.ClientOption) (*Service, error) {
    82  	opts = append(opts, internaloption.WithDefaultEndpoint(basePath))
    83  	opts = append(opts, internaloption.WithDefaultMTLSEndpoint(mtlsBasePath))
    84  	client, endpoint, err := htransport.NewClient(ctx, opts...)
    85  	if err != nil {
    86  		return nil, err
    87  	}
    88  	s, err := New(client)
    89  	if err != nil {
    90  		return nil, err
    91  	}
    92  	if endpoint != "" {
    93  		s.BasePath = endpoint
    94  	}
    95  	return s, nil
    96  }
    97  
    98  // New creates a new Service. It uses the provided http.Client for requests.
    99  //
   100  // Deprecated: please use NewService instead.
   101  // To provide a custom HTTP client, use option.WithHTTPClient.
   102  // If you are using google.golang.org/api/googleapis/transport.APIKey, use option.WithAPIKey with NewService instead.
   103  func New(client *http.Client) (*Service, error) {
   104  	if client == nil {
   105  		return nil, errors.New("client is nil")
   106  	}
   107  	s := &Service{client: client, BasePath: basePath}
   108  	return s, nil
   109  }
   110  
   111  type Service struct {
   112  	client    *http.Client
   113  	BasePath  string // API endpoint base URL
   114  	UserAgent string // optional additional User-Agent fragment
   115  }
   116  
   117  func (s *Service) userAgent() string {
   118  	if s.UserAgent == "" {
   119  		return googleapi.UserAgent
   120  	}
   121  	return googleapi.UserAgent + " " + s.UserAgent
   122  }
   123  
   124  // AutoscalingLimits: Limits for the number of nodes a Cluster can
   125  // autoscale up/down to.
   126  type AutoscalingLimits struct {
   127  	// MaxServeNodes: Required. Maximum number of nodes to scale up to.
   128  	MaxServeNodes int64 `json:"maxServeNodes,omitempty"`
   129  
   130  	// MinServeNodes: Required. Minimum number of nodes to scale down to.
   131  	MinServeNodes int64 `json:"minServeNodes,omitempty"`
   132  
   133  	// ForceSendFields is a list of field names (e.g. "MaxServeNodes") to
   134  	// unconditionally include in API requests. By default, fields with
   135  	// empty or default values are omitted from API requests. However, any
   136  	// non-pointer, non-interface field appearing in ForceSendFields will be
   137  	// sent to the server regardless of whether the field is empty or not.
   138  	// This may be used to include empty fields in Patch requests.
   139  	ForceSendFields []string `json:"-"`
   140  
   141  	// NullFields is a list of field names (e.g. "MaxServeNodes") to include
   142  	// in API requests with the JSON null value. By default, fields with
   143  	// empty values are omitted from API requests. However, any field with
   144  	// an empty value appearing in NullFields will be sent to the server as
   145  	// null. It is an error if a field in this list has a non-empty value.
   146  	// This may be used to include null fields in Patch requests.
   147  	NullFields []string `json:"-"`
   148  }
   149  
   150  func (s *AutoscalingLimits) MarshalJSON() ([]byte, error) {
   151  	type NoMethod AutoscalingLimits
   152  	raw := NoMethod(*s)
   153  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
   154  }
   155  
   156  // AutoscalingTargets: The Autoscaling targets for a Cluster. These
   157  // determine the recommended nodes.
   158  type AutoscalingTargets struct {
   159  	// CpuUtilizationPercent: The cpu utilization that the Autoscaler should
   160  	// be trying to achieve. This number is on a scale from 0 (no
   161  	// utilization) to 100 (total utilization).
   162  	CpuUtilizationPercent int64 `json:"cpuUtilizationPercent,omitempty"`
   163  
   164  	// ForceSendFields is a list of field names (e.g.
   165  	// "CpuUtilizationPercent") to unconditionally include in API requests.
   166  	// By default, fields with empty or default values are omitted from API
   167  	// requests. However, any non-pointer, non-interface field appearing in
   168  	// ForceSendFields will be sent to the server regardless of whether the
   169  	// field is empty or not. This may be used to include empty fields in
   170  	// Patch requests.
   171  	ForceSendFields []string `json:"-"`
   172  
   173  	// NullFields is a list of field names (e.g. "CpuUtilizationPercent") to
   174  	// include in API requests with the JSON null value. By default, fields
   175  	// with empty values are omitted from API requests. However, any field
   176  	// with an empty value appearing in NullFields will be sent to the
   177  	// server as null. It is an error if a field in this list has a
   178  	// non-empty value. This may be used to include null fields in Patch
   179  	// requests.
   180  	NullFields []string `json:"-"`
   181  }
   182  
   183  func (s *AutoscalingTargets) MarshalJSON() ([]byte, error) {
   184  	type NoMethod AutoscalingTargets
   185  	raw := NoMethod(*s)
   186  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
   187  }
   188  
   189  // Backup: A backup of a Cloud Bigtable table.
   190  type Backup struct {
   191  	// EncryptionInfo: Output only. The encryption information for the
   192  	// backup.
   193  	EncryptionInfo *EncryptionInfo `json:"encryptionInfo,omitempty"`
   194  
   195  	// EndTime: Output only. `end_time` is the time that the backup was
   196  	// finished. The row data in the backup will be no newer than this
   197  	// timestamp.
   198  	EndTime string `json:"endTime,omitempty"`
   199  
   200  	// ExpireTime: Required. The expiration time of the backup, with
   201  	// microseconds granularity that must be at least 6 hours and at most 30
   202  	// days from the time the request is received. Once the `expire_time`
   203  	// has passed, Cloud Bigtable will delete the backup and free the
   204  	// resources used by the backup.
   205  	ExpireTime string `json:"expireTime,omitempty"`
   206  
   207  	// Name: A globally unique identifier for the backup which cannot be
   208  	// changed. Values are of the form
   209  	// `projects/{project}/instances/{instance}/clusters/{cluster}/
   210  	// backups/_a-zA-Z0-9*` The final segment of the name must be between 1
   211  	// and 50 characters in length. The backup is stored in the cluster
   212  	// identified by the prefix of the backup name of the form
   213  	// `projects/{project}/instances/{instance}/clusters/{cluster}`.
   214  	Name string `json:"name,omitempty"`
   215  
   216  	// SizeBytes: Output only. Size of the backup in bytes.
   217  	SizeBytes int64 `json:"sizeBytes,omitempty,string"`
   218  
   219  	// SourceTable: Required. Immutable. Name of the table from which this
   220  	// backup was created. This needs to be in the same instance as the
   221  	// backup. Values are of the form
   222  	// `projects/{project}/instances/{instance}/tables/{source_table}`.
   223  	SourceTable string `json:"sourceTable,omitempty"`
   224  
   225  	// StartTime: Output only. `start_time` is the time that the backup was
   226  	// started (i.e. approximately the time the CreateBackup request is
   227  	// received). The row data in this backup will be no older than this
   228  	// timestamp.
   229  	StartTime string `json:"startTime,omitempty"`
   230  
   231  	// State: Output only. The current state of the backup.
   232  	//
   233  	// Possible values:
   234  	//   "STATE_UNSPECIFIED" - Not specified.
   235  	//   "CREATING" - The pending backup is still being created. Operations
   236  	// on the backup may fail with `FAILED_PRECONDITION` in this state.
   237  	//   "READY" - The backup is complete and ready for use.
   238  	State string `json:"state,omitempty"`
   239  
   240  	// ForceSendFields is a list of field names (e.g. "EncryptionInfo") to
   241  	// unconditionally include in API requests. By default, fields with
   242  	// empty or default values are omitted from API requests. However, any
   243  	// non-pointer, non-interface field appearing in ForceSendFields will be
   244  	// sent to the server regardless of whether the field is empty or not.
   245  	// This may be used to include empty fields in Patch requests.
   246  	ForceSendFields []string `json:"-"`
   247  
   248  	// NullFields is a list of field names (e.g. "EncryptionInfo") to
   249  	// include in API requests with the JSON null value. By default, fields
   250  	// with empty values are omitted from API requests. However, any field
   251  	// with an empty value appearing in NullFields will be sent to the
   252  	// server as null. It is an error if a field in this list has a
   253  	// non-empty value. This may be used to include null fields in Patch
   254  	// requests.
   255  	NullFields []string `json:"-"`
   256  }
   257  
   258  func (s *Backup) MarshalJSON() ([]byte, error) {
   259  	type NoMethod Backup
   260  	raw := NoMethod(*s)
   261  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
   262  }
   263  
   264  // BackupInfo: Information about a backup.
   265  type BackupInfo struct {
   266  	// Backup: Output only. Name of the backup.
   267  	Backup string `json:"backup,omitempty"`
   268  
   269  	// EndTime: Output only. This time that the backup was finished. Row
   270  	// data in the backup will be no newer than this timestamp.
   271  	EndTime string `json:"endTime,omitempty"`
   272  
   273  	// SourceTable: Output only. Name of the table the backup was created
   274  	// from.
   275  	SourceTable string `json:"sourceTable,omitempty"`
   276  
   277  	// StartTime: Output only. The time that the backup was started. Row
   278  	// data in the backup will be no older than this timestamp.
   279  	StartTime string `json:"startTime,omitempty"`
   280  
   281  	// ForceSendFields is a list of field names (e.g. "Backup") to
   282  	// unconditionally include in API requests. By default, fields with
   283  	// empty or default values are omitted from API requests. However, any
   284  	// non-pointer, non-interface field appearing in ForceSendFields will be
   285  	// sent to the server regardless of whether the field is empty or not.
   286  	// This may be used to include empty fields in Patch requests.
   287  	ForceSendFields []string `json:"-"`
   288  
   289  	// NullFields is a list of field names (e.g. "Backup") to include in API
   290  	// requests with the JSON null value. By default, fields with empty
   291  	// values are omitted from API requests. However, any field with an
   292  	// empty value appearing in NullFields will be sent to the server as
   293  	// null. It is an error if a field in this list has a non-empty value.
   294  	// This may be used to include null fields in Patch requests.
   295  	NullFields []string `json:"-"`
   296  }
   297  
   298  func (s *BackupInfo) MarshalJSON() ([]byte, error) {
   299  	type NoMethod BackupInfo
   300  	raw := NoMethod(*s)
   301  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
   302  }
   303  
   304  // Cluster: A resizable group of nodes in a particular cloud location,
   305  // capable of serving all Tables in the parent Instance.
   306  type Cluster struct {
   307  	// ClusterConfig: Configuration for this cluster.
   308  	ClusterConfig *ClusterConfig `json:"clusterConfig,omitempty"`
   309  
   310  	// DefaultStorageType: Immutable. The type of storage used by this
   311  	// cluster to serve its parent instance's tables, unless explicitly
   312  	// overridden.
   313  	//
   314  	// Possible values:
   315  	//   "STORAGE_TYPE_UNSPECIFIED" - The user did not specify a storage
   316  	// type.
   317  	//   "SSD" - Flash (SSD) storage should be used.
   318  	//   "HDD" - Magnetic drive (HDD) storage should be used.
   319  	DefaultStorageType string `json:"defaultStorageType,omitempty"`
   320  
   321  	// EncryptionConfig: Immutable. The encryption configuration for
   322  	// CMEK-protected clusters.
   323  	EncryptionConfig *EncryptionConfig `json:"encryptionConfig,omitempty"`
   324  
   325  	// Location: Immutable. The location where this cluster's nodes and
   326  	// storage reside. For best performance, clients should be located as
   327  	// close as possible to this cluster. Currently only zones are
   328  	// supported, so values should be of the form
   329  	// `projects/{project}/locations/{zone}`.
   330  	Location string `json:"location,omitempty"`
   331  
   332  	// Name: The unique name of the cluster. Values are of the form
   333  	// `projects/{project}/instances/{instance}/clusters/a-z*`.
   334  	Name string `json:"name,omitempty"`
   335  
   336  	// ServeNodes: The number of nodes allocated to this cluster. More nodes
   337  	// enable higher throughput and more consistent performance.
   338  	ServeNodes int64 `json:"serveNodes,omitempty"`
   339  
   340  	// State: Output only. The current state of the cluster.
   341  	//
   342  	// Possible values:
   343  	//   "STATE_NOT_KNOWN" - The state of the cluster could not be
   344  	// determined.
   345  	//   "READY" - The cluster has been successfully created and is ready to
   346  	// serve requests.
   347  	//   "CREATING" - The cluster is currently being created, and may be
   348  	// destroyed if the creation process encounters an error. A cluster may
   349  	// not be able to serve requests while being created.
   350  	//   "RESIZING" - The cluster is currently being resized, and may revert
   351  	// to its previous node count if the process encounters an error. A
   352  	// cluster is still capable of serving requests while being resized, but
   353  	// may exhibit performance as if its number of allocated nodes is
   354  	// between the starting and requested states.
   355  	//   "DISABLED" - The cluster has no backing nodes. The data (tables)
   356  	// still exist, but no operations can be performed on the cluster.
   357  	State string `json:"state,omitempty"`
   358  
   359  	// ForceSendFields is a list of field names (e.g. "ClusterConfig") to
   360  	// unconditionally include in API requests. By default, fields with
   361  	// empty or default values are omitted from API requests. However, any
   362  	// non-pointer, non-interface field appearing in ForceSendFields will be
   363  	// sent to the server regardless of whether the field is empty or not.
   364  	// This may be used to include empty fields in Patch requests.
   365  	ForceSendFields []string `json:"-"`
   366  
   367  	// NullFields is a list of field names (e.g. "ClusterConfig") to include
   368  	// in API requests with the JSON null value. By default, fields with
   369  	// empty values are omitted from API requests. However, any field with
   370  	// an empty value appearing in NullFields will be sent to the server as
   371  	// null. It is an error if a field in this list has a non-empty value.
   372  	// This may be used to include null fields in Patch requests.
   373  	NullFields []string `json:"-"`
   374  }
   375  
   376  func (s *Cluster) MarshalJSON() ([]byte, error) {
   377  	type NoMethod Cluster
   378  	raw := NoMethod(*s)
   379  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
   380  }
   381  
   382  // ClusterAutoscalingConfig: Autoscaling config for a cluster.
   383  type ClusterAutoscalingConfig struct {
   384  	// AutoscalingLimits: Required. Autoscaling limits for this cluster.
   385  	AutoscalingLimits *AutoscalingLimits `json:"autoscalingLimits,omitempty"`
   386  
   387  	// AutoscalingTargets: Required. Autoscaling targets for this cluster.
   388  	AutoscalingTargets *AutoscalingTargets `json:"autoscalingTargets,omitempty"`
   389  
   390  	// ForceSendFields is a list of field names (e.g. "AutoscalingLimits")
   391  	// to unconditionally include in API requests. By default, fields with
   392  	// empty or default values are omitted from API requests. However, any
   393  	// non-pointer, non-interface field appearing in ForceSendFields will be
   394  	// sent to the server regardless of whether the field is empty or not.
   395  	// This may be used to include empty fields in Patch requests.
   396  	ForceSendFields []string `json:"-"`
   397  
   398  	// NullFields is a list of field names (e.g. "AutoscalingLimits") to
   399  	// include in API requests with the JSON null value. By default, fields
   400  	// with empty values are omitted from API requests. However, any field
   401  	// with an empty value appearing in NullFields will be sent to the
   402  	// server as null. It is an error if a field in this list has a
   403  	// non-empty value. This may be used to include null fields in Patch
   404  	// requests.
   405  	NullFields []string `json:"-"`
   406  }
   407  
   408  func (s *ClusterAutoscalingConfig) MarshalJSON() ([]byte, error) {
   409  	type NoMethod ClusterAutoscalingConfig
   410  	raw := NoMethod(*s)
   411  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
   412  }
   413  
   414  // ClusterConfig: Configuration for a cluster.
   415  type ClusterConfig struct {
   416  	// ClusterAutoscalingConfig: Autoscaling configuration for this cluster.
   417  	ClusterAutoscalingConfig *ClusterAutoscalingConfig `json:"clusterAutoscalingConfig,omitempty"`
   418  
   419  	// ForceSendFields is a list of field names (e.g.
   420  	// "ClusterAutoscalingConfig") to unconditionally include in API
   421  	// requests. By default, fields with empty or default values are omitted
   422  	// from API requests. However, any non-pointer, non-interface field
   423  	// appearing in ForceSendFields will be sent to the server regardless of
   424  	// whether the field is empty or not. This may be used to include empty
   425  	// fields in Patch requests.
   426  	ForceSendFields []string `json:"-"`
   427  
   428  	// NullFields is a list of field names (e.g. "ClusterAutoscalingConfig")
   429  	// to include in API requests with the JSON null value. By default,
   430  	// fields with empty values are omitted from API requests. However, any
   431  	// field with an empty value appearing in NullFields will be sent to the
   432  	// server as null. It is an error if a field in this list has a
   433  	// non-empty value. This may be used to include null fields in Patch
   434  	// requests.
   435  	NullFields []string `json:"-"`
   436  }
   437  
   438  func (s *ClusterConfig) MarshalJSON() ([]byte, error) {
   439  	type NoMethod ClusterConfig
   440  	raw := NoMethod(*s)
   441  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
   442  }
   443  
   444  // CreateBackupMetadata: Metadata type for the operation returned by
   445  // CreateBackup.
   446  type CreateBackupMetadata struct {
   447  	// EndTime: If set, the time at which this operation finished or was
   448  	// cancelled.
   449  	EndTime string `json:"endTime,omitempty"`
   450  
   451  	// Name: The name of the backup being created.
   452  	Name string `json:"name,omitempty"`
   453  
   454  	// SourceTable: The name of the table the backup is created from.
   455  	SourceTable string `json:"sourceTable,omitempty"`
   456  
   457  	// StartTime: The time at which this operation started.
   458  	StartTime string `json:"startTime,omitempty"`
   459  
   460  	// ForceSendFields is a list of field names (e.g. "EndTime") to
   461  	// unconditionally include in API requests. By default, fields with
   462  	// empty or default values are omitted from API requests. However, any
   463  	// non-pointer, non-interface field appearing in ForceSendFields will be
   464  	// sent to the server regardless of whether the field is empty or not.
   465  	// This may be used to include empty fields in Patch requests.
   466  	ForceSendFields []string `json:"-"`
   467  
   468  	// NullFields is a list of field names (e.g. "EndTime") to include in
   469  	// API requests with the JSON null value. By default, fields with empty
   470  	// values are omitted from API requests. However, any field with an
   471  	// empty value appearing in NullFields will be sent to the server as
   472  	// null. It is an error if a field in this list has a non-empty value.
   473  	// This may be used to include null fields in Patch requests.
   474  	NullFields []string `json:"-"`
   475  }
   476  
   477  func (s *CreateBackupMetadata) MarshalJSON() ([]byte, error) {
   478  	type NoMethod CreateBackupMetadata
   479  	raw := NoMethod(*s)
   480  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
   481  }
   482  
   483  // CreateClusterMetadata: The metadata for the Operation returned by
   484  // CreateCluster.
   485  type CreateClusterMetadata struct {
   486  	// FinishTime: The time at which the operation failed or was completed
   487  	// successfully.
   488  	FinishTime string `json:"finishTime,omitempty"`
   489  
   490  	// OriginalRequest: The request that prompted the initiation of this
   491  	// CreateCluster operation.
   492  	OriginalRequest *CreateClusterRequest `json:"originalRequest,omitempty"`
   493  
   494  	// RequestTime: The time at which the original request was received.
   495  	RequestTime string `json:"requestTime,omitempty"`
   496  
   497  	// Tables: Keys: the full `name` of each table that existed in the
   498  	// instance when CreateCluster was first called, i.e.
   499  	// `projects//instances//tables/`. Any table added to the instance by a
   500  	// later API call will be created in the new cluster by that API call,
   501  	// not this one. Values: information on how much of a table's data has
   502  	// been copied to the newly-created cluster so far.
   503  	Tables map[string]TableProgress `json:"tables,omitempty"`
   504  
   505  	// ForceSendFields is a list of field names (e.g. "FinishTime") to
   506  	// unconditionally include in API requests. By default, fields with
   507  	// empty or default values are omitted from API requests. However, any
   508  	// non-pointer, non-interface field appearing in ForceSendFields will be
   509  	// sent to the server regardless of whether the field is empty or not.
   510  	// This may be used to include empty fields in Patch requests.
   511  	ForceSendFields []string `json:"-"`
   512  
   513  	// NullFields is a list of field names (e.g. "FinishTime") to include in
   514  	// API requests with the JSON null value. By default, fields with empty
   515  	// values are omitted from API requests. However, any field with an
   516  	// empty value appearing in NullFields will be sent to the server as
   517  	// null. It is an error if a field in this list has a non-empty value.
   518  	// This may be used to include null fields in Patch requests.
   519  	NullFields []string `json:"-"`
   520  }
   521  
   522  func (s *CreateClusterMetadata) MarshalJSON() ([]byte, error) {
   523  	type NoMethod CreateClusterMetadata
   524  	raw := NoMethod(*s)
   525  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
   526  }
   527  
   528  // CreateClusterRequest: Request message for
   529  // BigtableInstanceAdmin.CreateCluster.
   530  type CreateClusterRequest struct {
   531  	// Cluster: Required. The cluster to be created. Fields marked
   532  	// `OutputOnly` must be left blank.
   533  	Cluster *Cluster `json:"cluster,omitempty"`
   534  
   535  	// ClusterId: Required. The ID to be used when referring to the new
   536  	// cluster within its instance, e.g., just `mycluster` rather than
   537  	// `projects/myproject/instances/myinstance/clusters/mycluster`.
   538  	ClusterId string `json:"clusterId,omitempty"`
   539  
   540  	// Parent: Required. The unique name of the instance in which to create
   541  	// the new cluster. Values are of the form
   542  	// `projects/{project}/instances/{instance}`.
   543  	Parent string `json:"parent,omitempty"`
   544  
   545  	// ForceSendFields is a list of field names (e.g. "Cluster") to
   546  	// unconditionally include in API requests. By default, fields with
   547  	// empty or default values are omitted from API requests. However, any
   548  	// non-pointer, non-interface field appearing in ForceSendFields will be
   549  	// sent to the server regardless of whether the field is empty or not.
   550  	// This may be used to include empty fields in Patch requests.
   551  	ForceSendFields []string `json:"-"`
   552  
   553  	// NullFields is a list of field names (e.g. "Cluster") to include in
   554  	// API requests with the JSON null value. By default, fields with empty
   555  	// values are omitted from API requests. However, any field with an
   556  	// empty value appearing in NullFields will be sent to the server as
   557  	// null. It is an error if a field in this list has a non-empty value.
   558  	// This may be used to include null fields in Patch requests.
   559  	NullFields []string `json:"-"`
   560  }
   561  
   562  func (s *CreateClusterRequest) MarshalJSON() ([]byte, error) {
   563  	type NoMethod CreateClusterRequest
   564  	raw := NoMethod(*s)
   565  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
   566  }
   567  
   568  // CreateInstanceMetadata: The metadata for the Operation returned by
   569  // CreateInstance.
   570  type CreateInstanceMetadata struct {
   571  	// FinishTime: The time at which the operation failed or was completed
   572  	// successfully.
   573  	FinishTime string `json:"finishTime,omitempty"`
   574  
   575  	// OriginalRequest: The request that prompted the initiation of this
   576  	// CreateInstance operation.
   577  	OriginalRequest *CreateInstanceRequest `json:"originalRequest,omitempty"`
   578  
   579  	// RequestTime: The time at which the original request was received.
   580  	RequestTime string `json:"requestTime,omitempty"`
   581  
   582  	// ForceSendFields is a list of field names (e.g. "FinishTime") to
   583  	// unconditionally include in API requests. By default, fields with
   584  	// empty or default values are omitted from API requests. However, any
   585  	// non-pointer, non-interface field appearing in ForceSendFields will be
   586  	// sent to the server regardless of whether the field is empty or not.
   587  	// This may be used to include empty fields in Patch requests.
   588  	ForceSendFields []string `json:"-"`
   589  
   590  	// NullFields is a list of field names (e.g. "FinishTime") to include in
   591  	// API requests with the JSON null value. By default, fields with empty
   592  	// values are omitted from API requests. However, any field with an
   593  	// empty value appearing in NullFields will be sent to the server as
   594  	// null. It is an error if a field in this list has a non-empty value.
   595  	// This may be used to include null fields in Patch requests.
   596  	NullFields []string `json:"-"`
   597  }
   598  
   599  func (s *CreateInstanceMetadata) MarshalJSON() ([]byte, error) {
   600  	type NoMethod CreateInstanceMetadata
   601  	raw := NoMethod(*s)
   602  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
   603  }
   604  
   605  // CreateInstanceRequest: Request message for
   606  // BigtableInstanceAdmin.CreateInstance.
   607  type CreateInstanceRequest struct {
   608  	// Clusters: Required. The clusters to be created within the instance,
   609  	// mapped by desired cluster ID, e.g., just `mycluster` rather than
   610  	// `projects/myproject/instances/myinstance/clusters/mycluster`. Fields
   611  	// marked `OutputOnly` must be left blank. Currently, at most four
   612  	// clusters can be specified.
   613  	Clusters map[string]Cluster `json:"clusters,omitempty"`
   614  
   615  	// Instance: Required. The instance to create. Fields marked
   616  	// `OutputOnly` must be left blank.
   617  	Instance *Instance `json:"instance,omitempty"`
   618  
   619  	// InstanceId: Required. The ID to be used when referring to the new
   620  	// instance within its project, e.g., just `myinstance` rather than
   621  	// `projects/myproject/instances/myinstance`.
   622  	InstanceId string `json:"instanceId,omitempty"`
   623  
   624  	// Parent: Required. The unique name of the project in which to create
   625  	// the new instance. Values are of the form `projects/{project}`.
   626  	Parent string `json:"parent,omitempty"`
   627  
   628  	// ForceSendFields is a list of field names (e.g. "Clusters") to
   629  	// unconditionally include in API requests. By default, fields with
   630  	// empty or default values are omitted from API requests. However, any
   631  	// non-pointer, non-interface field appearing in ForceSendFields will be
   632  	// sent to the server regardless of whether the field is empty or not.
   633  	// This may be used to include empty fields in Patch requests.
   634  	ForceSendFields []string `json:"-"`
   635  
   636  	// NullFields is a list of field names (e.g. "Clusters") to include in
   637  	// API requests with the JSON null value. By default, fields with empty
   638  	// values are omitted from API requests. However, any field with an
   639  	// empty value appearing in NullFields will be sent to the server as
   640  	// null. It is an error if a field in this list has a non-empty value.
   641  	// This may be used to include null fields in Patch requests.
   642  	NullFields []string `json:"-"`
   643  }
   644  
   645  func (s *CreateInstanceRequest) MarshalJSON() ([]byte, error) {
   646  	type NoMethod CreateInstanceRequest
   647  	raw := NoMethod(*s)
   648  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
   649  }
   650  
   651  // EncryptionConfig: Cloud Key Management Service (Cloud KMS) settings
   652  // for a CMEK-protected cluster.
   653  type EncryptionConfig struct {
   654  	// KmsKeyName: Describes the Cloud KMS encryption key that will be used
   655  	// to protect the destination Bigtable cluster. The requirements for
   656  	// this key are: 1) The Cloud Bigtable service account associated with
   657  	// the project that contains this cluster must be granted the
   658  	// `cloudkms.cryptoKeyEncrypterDecrypter` role on the CMEK key. 2) Only
   659  	// regional keys can be used and the region of the CMEK key must match
   660  	// the region of the cluster. 3) All clusters within an instance must
   661  	// use the same CMEK key. Values are of the form
   662  	// `projects/{project}/locations/{location}/keyRings/{keyring}/cryptoKeys
   663  	// /{key}`
   664  	KmsKeyName string `json:"kmsKeyName,omitempty"`
   665  
   666  	// ForceSendFields is a list of field names (e.g. "KmsKeyName") to
   667  	// unconditionally include in API requests. By default, fields with
   668  	// empty or default values are omitted from API requests. However, any
   669  	// non-pointer, non-interface field appearing in ForceSendFields will be
   670  	// sent to the server regardless of whether the field is empty or not.
   671  	// This may be used to include empty fields in Patch requests.
   672  	ForceSendFields []string `json:"-"`
   673  
   674  	// NullFields is a list of field names (e.g. "KmsKeyName") to include in
   675  	// API requests with the JSON null value. By default, fields with empty
   676  	// values are omitted from API requests. However, any field with an
   677  	// empty value appearing in NullFields will be sent to the server as
   678  	// null. It is an error if a field in this list has a non-empty value.
   679  	// This may be used to include null fields in Patch requests.
   680  	NullFields []string `json:"-"`
   681  }
   682  
   683  func (s *EncryptionConfig) MarshalJSON() ([]byte, error) {
   684  	type NoMethod EncryptionConfig
   685  	raw := NoMethod(*s)
   686  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
   687  }
   688  
   689  // EncryptionInfo: Encryption information for a given resource. If this
   690  // resource is protected with customer managed encryption, the in-use
   691  // Cloud Key Management Service (Cloud KMS) key version is specified
   692  // along with its status.
   693  type EncryptionInfo struct {
   694  	// EncryptionStatus: Output only. The status of encrypt/decrypt calls on
   695  	// underlying data for this resource. Regardless of status, the existing
   696  	// data is always encrypted at rest.
   697  	EncryptionStatus *Status `json:"encryptionStatus,omitempty"`
   698  
   699  	// EncryptionType: Output only. The type of encryption used to protect
   700  	// this resource.
   701  	//
   702  	// Possible values:
   703  	//   "ENCRYPTION_TYPE_UNSPECIFIED" - Encryption type was not specified,
   704  	// though data at rest remains encrypted.
   705  	//   "GOOGLE_DEFAULT_ENCRYPTION" - The data backing this resource is
   706  	// encrypted at rest with a key that is fully managed by Google. No key
   707  	// version or status will be populated. This is the default state.
   708  	//   "CUSTOMER_MANAGED_ENCRYPTION" - The data backing this resource is
   709  	// encrypted at rest with a key that is managed by the customer. The
   710  	// in-use version of the key and its status are populated for
   711  	// CMEK-protected tables. CMEK-protected backups are pinned to the key
   712  	// version that was in use at the time the backup was taken. This key
   713  	// version is populated but its status is not tracked and is reported as
   714  	// `UNKNOWN`.
   715  	EncryptionType string `json:"encryptionType,omitempty"`
   716  
   717  	// KmsKeyVersion: Output only. The version of the Cloud KMS key
   718  	// specified in the parent cluster that is in use for the data
   719  	// underlying this table.
   720  	KmsKeyVersion string `json:"kmsKeyVersion,omitempty"`
   721  
   722  	// ForceSendFields is a list of field names (e.g. "EncryptionStatus") to
   723  	// unconditionally include in API requests. By default, fields with
   724  	// empty or default values are omitted from API requests. However, any
   725  	// non-pointer, non-interface field appearing in ForceSendFields will be
   726  	// sent to the server regardless of whether the field is empty or not.
   727  	// This may be used to include empty fields in Patch requests.
   728  	ForceSendFields []string `json:"-"`
   729  
   730  	// NullFields is a list of field names (e.g. "EncryptionStatus") to
   731  	// include in API requests with the JSON null value. By default, fields
   732  	// with empty values are omitted from API requests. However, any field
   733  	// with an empty value appearing in NullFields will be sent to the
   734  	// server as null. It is an error if a field in this list has a
   735  	// non-empty value. This may be used to include null fields in Patch
   736  	// requests.
   737  	NullFields []string `json:"-"`
   738  }
   739  
   740  func (s *EncryptionInfo) MarshalJSON() ([]byte, error) {
   741  	type NoMethod EncryptionInfo
   742  	raw := NoMethod(*s)
   743  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
   744  }
   745  
   746  // Instance: A collection of Bigtable Tables and the resources that
   747  // serve them. All tables in an instance are served from all Clusters in
   748  // the instance.
   749  type Instance struct {
   750  	// CreateTime: Output only. A server-assigned timestamp representing
   751  	// when this Instance was created. For instances created before this
   752  	// field was added (August 2021), this value is `seconds: 0, nanos: 1`.
   753  	CreateTime string `json:"createTime,omitempty"`
   754  
   755  	// DisplayName: Required. The descriptive name for this instance as it
   756  	// appears in UIs. Can be changed at any time, but should be kept
   757  	// globally unique to avoid confusion.
   758  	DisplayName string `json:"displayName,omitempty"`
   759  
   760  	// Labels: Required. Labels are a flexible and lightweight mechanism for
   761  	// organizing cloud resources into groups that reflect a customer's
   762  	// organizational needs and deployment strategies. They can be used to
   763  	// filter resources and aggregate metrics. * Label keys must be between
   764  	// 1 and 63 characters long and must conform to the regular expression:
   765  	// `\p{Ll}\p{Lo}{0,62}`. * Label values must be between 0 and 63
   766  	// characters long and must conform to the regular expression:
   767  	// `[\p{Ll}\p{Lo}\p{N}_-]{0,63}`. * No more than 64 labels can be
   768  	// associated with a given resource. * Keys and values must both be
   769  	// under 128 bytes.
   770  	Labels map[string]string `json:"labels,omitempty"`
   771  
   772  	// Name: The unique name of the instance. Values are of the form
   773  	// `projects/{project}/instances/a-z+[a-z0-9]`.
   774  	Name string `json:"name,omitempty"`
   775  
   776  	// State: Output only. The current state of the instance.
   777  	//
   778  	// Possible values:
   779  	//   "STATE_NOT_KNOWN" - The state of the instance could not be
   780  	// determined.
   781  	//   "READY" - The instance has been successfully created and can serve
   782  	// requests to its tables.
   783  	//   "CREATING" - The instance is currently being created, and may be
   784  	// destroyed if the creation process encounters an error.
   785  	State string `json:"state,omitempty"`
   786  
   787  	// Type: Required. The type of the instance. Defaults to `PRODUCTION`.
   788  	//
   789  	// Possible values:
   790  	//   "TYPE_UNSPECIFIED" - The type of the instance is unspecified. If
   791  	// set when creating an instance, a `PRODUCTION` instance will be
   792  	// created. If set when updating an instance, the type will be left
   793  	// unchanged.
   794  	//   "PRODUCTION" - An instance meant for production use. `serve_nodes`
   795  	// must be set on the cluster.
   796  	//   "DEVELOPMENT" - DEPRECATED: Prefer PRODUCTION for all use cases, as
   797  	// it no longer enforces a higher minimum node count than DEVELOPMENT.
   798  	Type string `json:"type,omitempty"`
   799  
   800  	// ForceSendFields is a list of field names (e.g. "CreateTime") to
   801  	// unconditionally include in API requests. By default, fields with
   802  	// empty or default values are omitted from API requests. However, any
   803  	// non-pointer, non-interface field appearing in ForceSendFields will be
   804  	// sent to the server regardless of whether the field is empty or not.
   805  	// This may be used to include empty fields in Patch requests.
   806  	ForceSendFields []string `json:"-"`
   807  
   808  	// NullFields is a list of field names (e.g. "CreateTime") to include in
   809  	// API requests with the JSON null value. By default, fields with empty
   810  	// values are omitted from API requests. However, any field with an
   811  	// empty value appearing in NullFields will be sent to the server as
   812  	// null. It is an error if a field in this list has a non-empty value.
   813  	// This may be used to include null fields in Patch requests.
   814  	NullFields []string `json:"-"`
   815  }
   816  
   817  func (s *Instance) MarshalJSON() ([]byte, error) {
   818  	type NoMethod Instance
   819  	raw := NoMethod(*s)
   820  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
   821  }
   822  
   823  // OperationProgress: Encapsulates progress related information for a
   824  // Cloud Bigtable long running operation.
   825  type OperationProgress struct {
   826  	// EndTime: If set, the time at which this operation failed or was
   827  	// completed successfully.
   828  	EndTime string `json:"endTime,omitempty"`
   829  
   830  	// ProgressPercent: Percent completion of the operation. Values are
   831  	// between 0 and 100 inclusive.
   832  	ProgressPercent int64 `json:"progressPercent,omitempty"`
   833  
   834  	// StartTime: Time the request was received.
   835  	StartTime string `json:"startTime,omitempty"`
   836  
   837  	// ForceSendFields is a list of field names (e.g. "EndTime") to
   838  	// unconditionally include in API requests. By default, fields with
   839  	// empty or default values are omitted from API requests. However, any
   840  	// non-pointer, non-interface field appearing in ForceSendFields will be
   841  	// sent to the server regardless of whether the field is empty or not.
   842  	// This may be used to include empty fields in Patch requests.
   843  	ForceSendFields []string `json:"-"`
   844  
   845  	// NullFields is a list of field names (e.g. "EndTime") to include in
   846  	// API requests with the JSON null value. By default, fields with empty
   847  	// values are omitted from API requests. However, any field with an
   848  	// empty value appearing in NullFields will be sent to the server as
   849  	// null. It is an error if a field in this list has a non-empty value.
   850  	// This may be used to include null fields in Patch requests.
   851  	NullFields []string `json:"-"`
   852  }
   853  
   854  func (s *OperationProgress) MarshalJSON() ([]byte, error) {
   855  	type NoMethod OperationProgress
   856  	raw := NoMethod(*s)
   857  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
   858  }
   859  
   860  // OptimizeRestoredTableMetadata: Metadata type for the long-running
   861  // operation used to track the progress of optimizations performed on a
   862  // newly restored table. This long-running operation is automatically
   863  // created by the system after the successful completion of a table
   864  // restore, and cannot be cancelled.
   865  type OptimizeRestoredTableMetadata struct {
   866  	// Name: Name of the restored table being optimized.
   867  	Name string `json:"name,omitempty"`
   868  
   869  	// Progress: The progress of the post-restore optimizations.
   870  	Progress *OperationProgress `json:"progress,omitempty"`
   871  
   872  	// ForceSendFields is a list of field names (e.g. "Name") to
   873  	// unconditionally include in API requests. By default, fields with
   874  	// empty or default values are omitted from API requests. However, any
   875  	// non-pointer, non-interface field appearing in ForceSendFields will be
   876  	// sent to the server regardless of whether the field is empty or not.
   877  	// This may be used to include empty fields in Patch requests.
   878  	ForceSendFields []string `json:"-"`
   879  
   880  	// NullFields is a list of field names (e.g. "Name") to include in API
   881  	// requests with the JSON null value. By default, fields with empty
   882  	// values are omitted from API requests. However, any field with an
   883  	// empty value appearing in NullFields will be sent to the server as
   884  	// null. It is an error if a field in this list has a non-empty value.
   885  	// This may be used to include null fields in Patch requests.
   886  	NullFields []string `json:"-"`
   887  }
   888  
   889  func (s *OptimizeRestoredTableMetadata) MarshalJSON() ([]byte, error) {
   890  	type NoMethod OptimizeRestoredTableMetadata
   891  	raw := NoMethod(*s)
   892  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
   893  }
   894  
   895  // PartialUpdateClusterMetadata: The metadata for the Operation returned
   896  // by PartialUpdateCluster.
   897  type PartialUpdateClusterMetadata struct {
   898  	// FinishTime: The time at which the operation failed or was completed
   899  	// successfully.
   900  	FinishTime string `json:"finishTime,omitempty"`
   901  
   902  	// OriginalRequest: The original request for PartialUpdateCluster.
   903  	OriginalRequest *PartialUpdateClusterRequest `json:"originalRequest,omitempty"`
   904  
   905  	// RequestTime: The time at which the original request was received.
   906  	RequestTime string `json:"requestTime,omitempty"`
   907  
   908  	// ForceSendFields is a list of field names (e.g. "FinishTime") to
   909  	// unconditionally include in API requests. By default, fields with
   910  	// empty or default values are omitted from API requests. However, any
   911  	// non-pointer, non-interface field appearing in ForceSendFields will be
   912  	// sent to the server regardless of whether the field is empty or not.
   913  	// This may be used to include empty fields in Patch requests.
   914  	ForceSendFields []string `json:"-"`
   915  
   916  	// NullFields is a list of field names (e.g. "FinishTime") to include in
   917  	// API requests with the JSON null value. By default, fields with empty
   918  	// values are omitted from API requests. However, any field with an
   919  	// empty value appearing in NullFields will be sent to the server as
   920  	// null. It is an error if a field in this list has a non-empty value.
   921  	// This may be used to include null fields in Patch requests.
   922  	NullFields []string `json:"-"`
   923  }
   924  
   925  func (s *PartialUpdateClusterMetadata) MarshalJSON() ([]byte, error) {
   926  	type NoMethod PartialUpdateClusterMetadata
   927  	raw := NoMethod(*s)
   928  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
   929  }
   930  
   931  // PartialUpdateClusterRequest: Request message for
   932  // BigtableInstanceAdmin.PartialUpdateCluster.
   933  type PartialUpdateClusterRequest struct {
   934  	// Cluster: Required. The Cluster which contains the partial updates to
   935  	// be applied, subject to the update_mask.
   936  	Cluster *Cluster `json:"cluster,omitempty"`
   937  
   938  	// UpdateMask: Required. The subset of Cluster fields which should be
   939  	// replaced.
   940  	UpdateMask string `json:"updateMask,omitempty"`
   941  
   942  	// ForceSendFields is a list of field names (e.g. "Cluster") to
   943  	// unconditionally include in API requests. By default, fields with
   944  	// empty or default values are omitted from API requests. However, any
   945  	// non-pointer, non-interface field appearing in ForceSendFields will be
   946  	// sent to the server regardless of whether the field is empty or not.
   947  	// This may be used to include empty fields in Patch requests.
   948  	ForceSendFields []string `json:"-"`
   949  
   950  	// NullFields is a list of field names (e.g. "Cluster") to include in
   951  	// API requests with the JSON null value. By default, fields with empty
   952  	// values are omitted from API requests. However, any field with an
   953  	// empty value appearing in NullFields will be sent to the server as
   954  	// null. It is an error if a field in this list has a non-empty value.
   955  	// This may be used to include null fields in Patch requests.
   956  	NullFields []string `json:"-"`
   957  }
   958  
   959  func (s *PartialUpdateClusterRequest) MarshalJSON() ([]byte, error) {
   960  	type NoMethod PartialUpdateClusterRequest
   961  	raw := NoMethod(*s)
   962  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
   963  }
   964  
   965  // PartialUpdateInstanceRequest: Request message for
   966  // BigtableInstanceAdmin.PartialUpdateInstance.
   967  type PartialUpdateInstanceRequest struct {
   968  	// Instance: Required. The Instance which will (partially) replace the
   969  	// current value.
   970  	Instance *Instance `json:"instance,omitempty"`
   971  
   972  	// UpdateMask: Required. The subset of Instance fields which should be
   973  	// replaced. Must be explicitly set.
   974  	UpdateMask string `json:"updateMask,omitempty"`
   975  
   976  	// ForceSendFields is a list of field names (e.g. "Instance") to
   977  	// unconditionally include in API requests. By default, fields with
   978  	// empty or default values are omitted from API requests. However, any
   979  	// non-pointer, non-interface field appearing in ForceSendFields will be
   980  	// sent to the server regardless of whether the field is empty or not.
   981  	// This may be used to include empty fields in Patch requests.
   982  	ForceSendFields []string `json:"-"`
   983  
   984  	// NullFields is a list of field names (e.g. "Instance") to include in
   985  	// API requests with the JSON null value. By default, fields with empty
   986  	// values are omitted from API requests. However, any field with an
   987  	// empty value appearing in NullFields will be sent to the server as
   988  	// null. It is an error if a field in this list has a non-empty value.
   989  	// This may be used to include null fields in Patch requests.
   990  	NullFields []string `json:"-"`
   991  }
   992  
   993  func (s *PartialUpdateInstanceRequest) MarshalJSON() ([]byte, error) {
   994  	type NoMethod PartialUpdateInstanceRequest
   995  	raw := NoMethod(*s)
   996  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
   997  }
   998  
   999  // RestoreTableMetadata: Metadata type for the long-running operation
  1000  // returned by RestoreTable.
  1001  type RestoreTableMetadata struct {
  1002  	BackupInfo *BackupInfo `json:"backupInfo,omitempty"`
  1003  
  1004  	// Name: Name of the table being created and restored to.
  1005  	Name string `json:"name,omitempty"`
  1006  
  1007  	// OptimizeTableOperationName: If exists, the name of the long-running
  1008  	// operation that will be used to track the post-restore optimization
  1009  	// process to optimize the performance of the restored table. The
  1010  	// metadata type of the long-running operation is
  1011  	// OptimizeRestoreTableMetadata. The response type is Empty. This
  1012  	// long-running operation may be automatically created by the system if
  1013  	// applicable after the RestoreTable long-running operation completes
  1014  	// successfully. This operation may not be created if the table is
  1015  	// already optimized or the restore was not successful.
  1016  	OptimizeTableOperationName string `json:"optimizeTableOperationName,omitempty"`
  1017  
  1018  	// Progress: The progress of the RestoreTable operation.
  1019  	Progress *OperationProgress `json:"progress,omitempty"`
  1020  
  1021  	// SourceType: The type of the restore source.
  1022  	//
  1023  	// Possible values:
  1024  	//   "RESTORE_SOURCE_TYPE_UNSPECIFIED" - No restore associated.
  1025  	//   "BACKUP" - A backup was used as the source of the restore.
  1026  	SourceType string `json:"sourceType,omitempty"`
  1027  
  1028  	// ForceSendFields is a list of field names (e.g. "BackupInfo") to
  1029  	// unconditionally include in API requests. By default, fields with
  1030  	// empty or default values are omitted from API requests. However, any
  1031  	// non-pointer, non-interface field appearing in ForceSendFields will be
  1032  	// sent to the server regardless of whether the field is empty or not.
  1033  	// This may be used to include empty fields in Patch requests.
  1034  	ForceSendFields []string `json:"-"`
  1035  
  1036  	// NullFields is a list of field names (e.g. "BackupInfo") to include in
  1037  	// API requests with the JSON null value. By default, fields with empty
  1038  	// values are omitted from API requests. However, any field with an
  1039  	// empty value appearing in NullFields will be sent to the server as
  1040  	// null. It is an error if a field in this list has a non-empty value.
  1041  	// This may be used to include null fields in Patch requests.
  1042  	NullFields []string `json:"-"`
  1043  }
  1044  
  1045  func (s *RestoreTableMetadata) MarshalJSON() ([]byte, error) {
  1046  	type NoMethod RestoreTableMetadata
  1047  	raw := NoMethod(*s)
  1048  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  1049  }
  1050  
  1051  // Status: The `Status` type defines a logical error model that is
  1052  // suitable for different programming environments, including REST APIs
  1053  // and RPC APIs. It is used by gRPC (https://github.com/grpc). Each
  1054  // `Status` message contains three pieces of data: error code, error
  1055  // message, and error details. You can find out more about this error
  1056  // model and how to work with it in the API Design Guide
  1057  // (https://cloud.google.com/apis/design/errors).
  1058  type Status struct {
  1059  	// Code: The status code, which should be an enum value of
  1060  	// google.rpc.Code.
  1061  	Code int64 `json:"code,omitempty"`
  1062  
  1063  	// Details: A list of messages that carry the error details. There is a
  1064  	// common set of message types for APIs to use.
  1065  	Details []googleapi.RawMessage `json:"details,omitempty"`
  1066  
  1067  	// Message: A developer-facing error message, which should be in
  1068  	// English. Any user-facing error message should be localized and sent
  1069  	// in the google.rpc.Status.details field, or localized by the client.
  1070  	Message string `json:"message,omitempty"`
  1071  
  1072  	// ForceSendFields is a list of field names (e.g. "Code") to
  1073  	// unconditionally include in API requests. By default, fields with
  1074  	// empty or default values are omitted from API requests. However, any
  1075  	// non-pointer, non-interface field appearing in ForceSendFields will be
  1076  	// sent to the server regardless of whether the field is empty or not.
  1077  	// This may be used to include empty fields in Patch requests.
  1078  	ForceSendFields []string `json:"-"`
  1079  
  1080  	// NullFields is a list of field names (e.g. "Code") to include in API
  1081  	// requests with the JSON null value. By default, fields with empty
  1082  	// values are omitted from API requests. However, any field with an
  1083  	// empty value appearing in NullFields will be sent to the server as
  1084  	// null. It is an error if a field in this list has a non-empty value.
  1085  	// This may be used to include null fields in Patch requests.
  1086  	NullFields []string `json:"-"`
  1087  }
  1088  
  1089  func (s *Status) MarshalJSON() ([]byte, error) {
  1090  	type NoMethod Status
  1091  	raw := NoMethod(*s)
  1092  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  1093  }
  1094  
  1095  // TableProgress: Progress info for copying a table's data to the new
  1096  // cluster.
  1097  type TableProgress struct {
  1098  	// EstimatedCopiedBytes: Estimate of the number of bytes copied so far
  1099  	// for this table. This will eventually reach 'estimated_size_bytes'
  1100  	// unless the table copy is CANCELLED.
  1101  	EstimatedCopiedBytes int64 `json:"estimatedCopiedBytes,omitempty,string"`
  1102  
  1103  	// EstimatedSizeBytes: Estimate of the size of the table to be copied.
  1104  	EstimatedSizeBytes int64 `json:"estimatedSizeBytes,omitempty,string"`
  1105  
  1106  	// Possible values:
  1107  	//   "STATE_UNSPECIFIED"
  1108  	//   "PENDING" - The table has not yet begun copying to the new cluster.
  1109  	//   "COPYING" - The table is actively being copied to the new cluster.
  1110  	//   "COMPLETED" - The table has been fully copied to the new cluster.
  1111  	//   "CANCELLED" - The table was deleted before it finished copying to
  1112  	// the new cluster. Note that tables deleted after completion will stay
  1113  	// marked as COMPLETED, not CANCELLED.
  1114  	State string `json:"state,omitempty"`
  1115  
  1116  	// ForceSendFields is a list of field names (e.g.
  1117  	// "EstimatedCopiedBytes") to unconditionally include in API requests.
  1118  	// By default, fields with empty or default values are omitted from API
  1119  	// requests. However, any non-pointer, non-interface field appearing in
  1120  	// ForceSendFields will be sent to the server regardless of whether the
  1121  	// field is empty or not. This may be used to include empty fields in
  1122  	// Patch requests.
  1123  	ForceSendFields []string `json:"-"`
  1124  
  1125  	// NullFields is a list of field names (e.g. "EstimatedCopiedBytes") to
  1126  	// include in API requests with the JSON null value. By default, fields
  1127  	// with empty values are omitted from API requests. However, any field
  1128  	// with an empty value appearing in NullFields will be sent to the
  1129  	// server as null. It is an error if a field in this list has a
  1130  	// non-empty value. This may be used to include null fields in Patch
  1131  	// requests.
  1132  	NullFields []string `json:"-"`
  1133  }
  1134  
  1135  func (s *TableProgress) MarshalJSON() ([]byte, error) {
  1136  	type NoMethod TableProgress
  1137  	raw := NoMethod(*s)
  1138  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  1139  }
  1140  
  1141  // UpdateAppProfileMetadata: The metadata for the Operation returned by
  1142  // UpdateAppProfile.
  1143  type UpdateAppProfileMetadata struct {
  1144  }
  1145  
  1146  // UpdateClusterMetadata: The metadata for the Operation returned by
  1147  // UpdateCluster.
  1148  type UpdateClusterMetadata struct {
  1149  	// FinishTime: The time at which the operation failed or was completed
  1150  	// successfully.
  1151  	FinishTime string `json:"finishTime,omitempty"`
  1152  
  1153  	// OriginalRequest: The request that prompted the initiation of this
  1154  	// UpdateCluster operation.
  1155  	OriginalRequest *Cluster `json:"originalRequest,omitempty"`
  1156  
  1157  	// RequestTime: The time at which the original request was received.
  1158  	RequestTime string `json:"requestTime,omitempty"`
  1159  
  1160  	// ForceSendFields is a list of field names (e.g. "FinishTime") to
  1161  	// unconditionally include in API requests. By default, fields with
  1162  	// empty or default values are omitted from API requests. However, any
  1163  	// non-pointer, non-interface field appearing in ForceSendFields will be
  1164  	// sent to the server regardless of whether the field is empty or not.
  1165  	// This may be used to include empty fields in Patch requests.
  1166  	ForceSendFields []string `json:"-"`
  1167  
  1168  	// NullFields is a list of field names (e.g. "FinishTime") to include in
  1169  	// API requests with the JSON null value. By default, fields with empty
  1170  	// values are omitted from API requests. However, any field with an
  1171  	// empty value appearing in NullFields will be sent to the server as
  1172  	// null. It is an error if a field in this list has a non-empty value.
  1173  	// This may be used to include null fields in Patch requests.
  1174  	NullFields []string `json:"-"`
  1175  }
  1176  
  1177  func (s *UpdateClusterMetadata) MarshalJSON() ([]byte, error) {
  1178  	type NoMethod UpdateClusterMetadata
  1179  	raw := NoMethod(*s)
  1180  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  1181  }
  1182  
  1183  // UpdateInstanceMetadata: The metadata for the Operation returned by
  1184  // UpdateInstance.
  1185  type UpdateInstanceMetadata struct {
  1186  	// FinishTime: The time at which the operation failed or was completed
  1187  	// successfully.
  1188  	FinishTime string `json:"finishTime,omitempty"`
  1189  
  1190  	// OriginalRequest: The request that prompted the initiation of this
  1191  	// UpdateInstance operation.
  1192  	OriginalRequest *PartialUpdateInstanceRequest `json:"originalRequest,omitempty"`
  1193  
  1194  	// RequestTime: The time at which the original request was received.
  1195  	RequestTime string `json:"requestTime,omitempty"`
  1196  
  1197  	// ForceSendFields is a list of field names (e.g. "FinishTime") to
  1198  	// unconditionally include in API requests. By default, fields with
  1199  	// empty or default values are omitted from API requests. However, any
  1200  	// non-pointer, non-interface field appearing in ForceSendFields will be
  1201  	// sent to the server regardless of whether the field is empty or not.
  1202  	// This may be used to include empty fields in Patch requests.
  1203  	ForceSendFields []string `json:"-"`
  1204  
  1205  	// NullFields is a list of field names (e.g. "FinishTime") to include in
  1206  	// API requests with the JSON null value. By default, fields with empty
  1207  	// values are omitted from API requests. However, any field with an
  1208  	// empty value appearing in NullFields will be sent to the server as
  1209  	// null. It is an error if a field in this list has a non-empty value.
  1210  	// This may be used to include null fields in Patch requests.
  1211  	NullFields []string `json:"-"`
  1212  }
  1213  
  1214  func (s *UpdateInstanceMetadata) MarshalJSON() ([]byte, error) {
  1215  	type NoMethod UpdateInstanceMetadata
  1216  	raw := NoMethod(*s)
  1217  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  1218  }
  1219  

View as plain text