diff --git a/apigateway/v1beta/apigateway-api.json b/apigateway/v1beta/apigateway-api.json index e71210c3f5e..f8538062b63 100644 --- a/apigateway/v1beta/apigateway-api.json +++ b/apigateway/v1beta/apigateway-api.json @@ -1083,7 +1083,7 @@ } } }, - "revision": "20230426", + "revision": "20230621", "rootUrl": "https://apigateway.googleapis.com/", "schemas": { "ApigatewayApi": { @@ -1332,6 +1332,7 @@ "type": "object" }, "ApigatewayBackendConfig": { + "deprecated": true, "description": "Configuration for all backends.", "id": "ApigatewayBackendConfig", "properties": { @@ -1464,6 +1465,7 @@ "properties": { "backendConfig": { "$ref": "ApigatewayBackendConfig", + "deprecated": true, "description": "Required. Backend settings that are applied to all backends of the Gateway." } }, diff --git a/bigtableadmin/v2/bigtableadmin-api.json b/bigtableadmin/v2/bigtableadmin-api.json index 3273680757b..e470c0d4f97 100644 --- a/bigtableadmin/v2/bigtableadmin-api.json +++ b/bigtableadmin/v2/bigtableadmin-api.json @@ -1877,6 +1877,108 @@ "https://www.googleapis.com/auth/cloud-platform" ] } + }, + "resources": { + "views": { + "methods": { + "getIamPolicy": { + "description": "Gets the access control policy for a Table resource. Returns an empty policy if the resource exists but does not have a policy set.", + "flatPath": "v2/projects/{projectsId}/instances/{instancesId}/tables/{tablesId}/views/{viewsId}:getIamPolicy", + "httpMethod": "POST", + "id": "bigtableadmin.projects.instances.tables.views.getIamPolicy", + "parameterOrder": [ + "resource" + ], + "parameters": { + "resource": { + "description": "REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/instances/[^/]+/tables/[^/]+/views/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+resource}:getIamPolicy", + "request": { + "$ref": "GetIamPolicyRequest" + }, + "response": { + "$ref": "Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/bigtable.admin", + "https://www.googleapis.com/auth/bigtable.admin.table", + "https://www.googleapis.com/auth/cloud-bigtable.admin", + "https://www.googleapis.com/auth/cloud-bigtable.admin.table", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "setIamPolicy": { + "description": "Sets the access control policy on a Table resource. Replaces any existing policy.", + "flatPath": "v2/projects/{projectsId}/instances/{instancesId}/tables/{tablesId}/views/{viewsId}:setIamPolicy", + "httpMethod": "POST", + "id": "bigtableadmin.projects.instances.tables.views.setIamPolicy", + "parameterOrder": [ + "resource" + ], + "parameters": { + "resource": { + "description": "REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/instances/[^/]+/tables/[^/]+/views/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+resource}:setIamPolicy", + "request": { + "$ref": "SetIamPolicyRequest" + }, + "response": { + "$ref": "Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/bigtable.admin", + "https://www.googleapis.com/auth/bigtable.admin.table", + "https://www.googleapis.com/auth/cloud-bigtable.admin", + "https://www.googleapis.com/auth/cloud-bigtable.admin.table", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "testIamPermissions": { + "description": "Returns permissions that the caller has on the specified table resource.", + "flatPath": "v2/projects/{projectsId}/instances/{instancesId}/tables/{tablesId}/views/{viewsId}:testIamPermissions", + "httpMethod": "POST", + "id": "bigtableadmin.projects.instances.tables.views.testIamPermissions", + "parameterOrder": [ + "resource" + ], + "parameters": { + "resource": { + "description": "REQUIRED: The resource for which the policy detail is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/instances/[^/]+/tables/[^/]+/views/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+resource}:testIamPermissions", + "request": { + "$ref": "TestIamPermissionsRequest" + }, + "response": { + "$ref": "TestIamPermissionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/bigtable.admin", + "https://www.googleapis.com/auth/bigtable.admin.table", + "https://www.googleapis.com/auth/cloud-bigtable.admin", + "https://www.googleapis.com/auth/cloud-bigtable.admin.table", + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } } } } @@ -1966,7 +2068,7 @@ } } }, - "revision": "20230529", + "revision": "20230622", "rootUrl": "https://bigtableadmin.googleapis.com/", "schemas": { "AppProfile": { @@ -2197,6 +2299,18 @@ }, "type": "object" }, + "ChangeStreamConfig": { + "description": "Change stream configuration.", + "id": "ChangeStreamConfig", + "properties": { + "retentionPeriod": { + "description": "How long the change stream should be retained. Change stream data older than the retention period will not be returned when reading the change stream from the table. Values must be at least 1 day and at most 7 days, and will be truncated to microsecond granularity.", + "format": "google-duration", + "type": "string" + } + }, + "type": "object" + }, "CheckConsistencyRequest": { "description": "Request message for google.bigtable.admin.v2.BigtableTableAdmin.CheckConsistency", "id": "CheckConsistencyRequest", @@ -3385,6 +3499,10 @@ "description": "A collection of user data indexed by row, column, and timestamp. Each table is served using the resources of its parent cluster.", "id": "Table", "properties": { + "changeStreamConfig": { + "$ref": "ChangeStreamConfig", + "description": "If specified, enable the change stream on this table. Otherwise, the change stream is disabled and the change stream is not retained." + }, "clusterStates": { "additionalProperties": { "$ref": "ClusterState" diff --git a/bigtableadmin/v2/bigtableadmin-gen.go b/bigtableadmin/v2/bigtableadmin-gen.go index a21b126031c..06c9bb2f3fe 100644 --- a/bigtableadmin/v2/bigtableadmin-gen.go +++ b/bigtableadmin/v2/bigtableadmin-gen.go @@ -288,11 +288,23 @@ type ProjectsInstancesClustersHotTabletsService struct { func NewProjectsInstancesTablesService(s *Service) *ProjectsInstancesTablesService { rs := &ProjectsInstancesTablesService{s: s} + rs.Views = NewProjectsInstancesTablesViewsService(s) return rs } type ProjectsInstancesTablesService struct { s *Service + + Views *ProjectsInstancesTablesViewsService +} + +func NewProjectsInstancesTablesViewsService(s *Service) *ProjectsInstancesTablesViewsService { + rs := &ProjectsInstancesTablesViewsService{s: s} + return rs +} + +type ProjectsInstancesTablesViewsService struct { + s *Service } func NewProjectsLocationsService(s *Service) *ProjectsLocationsService { @@ -738,6 +750,39 @@ func (s *Binding) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// ChangeStreamConfig: Change stream configuration. +type ChangeStreamConfig struct { + // RetentionPeriod: How long the change stream should be retained. + // Change stream data older than the retention period will not be + // returned when reading the change stream from the table. Values must + // be at least 1 day and at most 7 days, and will be truncated to + // microsecond granularity. + RetentionPeriod string `json:"retentionPeriod,omitempty"` + + // ForceSendFields is a list of field names (e.g. "RetentionPeriod") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "RetentionPeriod") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *ChangeStreamConfig) MarshalJSON() ([]byte, error) { + type NoMethod ChangeStreamConfig + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // CheckConsistencyRequest: Request message for // google.bigtable.admin.v2.BigtableTableAdmin.CheckConsistency type CheckConsistencyRequest struct { @@ -3103,6 +3148,11 @@ func (s *Status) MarshalJSON() ([]byte, error) { // timestamp. Each table is served using the resources of its parent // cluster. type Table struct { + // ChangeStreamConfig: If specified, enable the change stream on this + // table. Otherwise, the change stream is disabled and the change stream + // is not retained. + ChangeStreamConfig *ChangeStreamConfig `json:"changeStreamConfig,omitempty"` + // ClusterStates: Output only. Map from cluster ID to per-cluster table // state. If it could not be determined whether or not the table has // data in a particular cluster (for example, if its zone is @@ -3154,20 +3204,21 @@ type Table struct { // server. googleapi.ServerResponse `json:"-"` - // ForceSendFields is a list of field names (e.g. "ClusterStates") to - // unconditionally include in API requests. By default, fields with + // ForceSendFields is a list of field names (e.g. "ChangeStreamConfig") + // to unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "ClusterStates") to include - // in API requests with the JSON null value. By default, fields with - // empty values are omitted from API requests. However, any field with - // an empty value appearing in NullFields will be sent to the server as - // null. It is an error if a field in this list has a non-empty value. - // This may be used to include null fields in Patch requests. + // NullFields is a list of field names (e.g. "ChangeStreamConfig") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. NullFields []string `json:"-"` } @@ -11430,6 +11481,457 @@ func (c *ProjectsInstancesTablesUndeleteCall) Do(opts ...googleapi.CallOption) ( } +// method id "bigtableadmin.projects.instances.tables.views.getIamPolicy": + +type ProjectsInstancesTablesViewsGetIamPolicyCall struct { + s *Service + resource string + getiampolicyrequest *GetIamPolicyRequest + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// GetIamPolicy: Gets the access control policy for a Table resource. +// Returns an empty policy if the resource exists but does not have a +// policy set. +// +// - resource: REQUIRED: The resource for which the policy is being +// requested. See Resource names +// (https://cloud.google.com/apis/design/resource_names) for the +// appropriate value for this field. +func (r *ProjectsInstancesTablesViewsService) GetIamPolicy(resource string, getiampolicyrequest *GetIamPolicyRequest) *ProjectsInstancesTablesViewsGetIamPolicyCall { + c := &ProjectsInstancesTablesViewsGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.resource = resource + c.getiampolicyrequest = getiampolicyrequest + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsInstancesTablesViewsGetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsInstancesTablesViewsGetIamPolicyCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsInstancesTablesViewsGetIamPolicyCall) Context(ctx context.Context) *ProjectsInstancesTablesViewsGetIamPolicyCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsInstancesTablesViewsGetIamPolicyCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsInstancesTablesViewsGetIamPolicyCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.getiampolicyrequest) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+resource}:getIamPolicy") + 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{ + "resource": c.resource, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "bigtableadmin.projects.instances.tables.views.getIamPolicy" call. +// Exactly one of *Policy or error will be non-nil. Any non-2xx status +// code is an error. Response headers are in either +// *Policy.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 *ProjectsInstancesTablesViewsGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, 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 := &Policy{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := gensupport.DecodeResponse(target, res); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Gets the access control policy for a Table resource. Returns an empty policy if the resource exists but does not have a policy set.", + // "flatPath": "v2/projects/{projectsId}/instances/{instancesId}/tables/{tablesId}/views/{viewsId}:getIamPolicy", + // "httpMethod": "POST", + // "id": "bigtableadmin.projects.instances.tables.views.getIamPolicy", + // "parameterOrder": [ + // "resource" + // ], + // "parameters": { + // "resource": { + // "description": "REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", + // "location": "path", + // "pattern": "^projects/[^/]+/instances/[^/]+/tables/[^/]+/views/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v2/{+resource}:getIamPolicy", + // "request": { + // "$ref": "GetIamPolicyRequest" + // }, + // "response": { + // "$ref": "Policy" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/bigtable.admin", + // "https://www.googleapis.com/auth/bigtable.admin.table", + // "https://www.googleapis.com/auth/cloud-bigtable.admin", + // "https://www.googleapis.com/auth/cloud-bigtable.admin.table", + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// method id "bigtableadmin.projects.instances.tables.views.setIamPolicy": + +type ProjectsInstancesTablesViewsSetIamPolicyCall struct { + s *Service + resource string + setiampolicyrequest *SetIamPolicyRequest + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// SetIamPolicy: Sets the access control policy on a Table resource. +// Replaces any existing policy. +// +// - resource: REQUIRED: The resource for which the policy is being +// specified. See Resource names +// (https://cloud.google.com/apis/design/resource_names) for the +// appropriate value for this field. +func (r *ProjectsInstancesTablesViewsService) SetIamPolicy(resource string, setiampolicyrequest *SetIamPolicyRequest) *ProjectsInstancesTablesViewsSetIamPolicyCall { + c := &ProjectsInstancesTablesViewsSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.resource = resource + c.setiampolicyrequest = setiampolicyrequest + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsInstancesTablesViewsSetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsInstancesTablesViewsSetIamPolicyCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsInstancesTablesViewsSetIamPolicyCall) Context(ctx context.Context) *ProjectsInstancesTablesViewsSetIamPolicyCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsInstancesTablesViewsSetIamPolicyCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsInstancesTablesViewsSetIamPolicyCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.setiampolicyrequest) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+resource}:setIamPolicy") + 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{ + "resource": c.resource, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "bigtableadmin.projects.instances.tables.views.setIamPolicy" call. +// Exactly one of *Policy or error will be non-nil. Any non-2xx status +// code is an error. Response headers are in either +// *Policy.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 *ProjectsInstancesTablesViewsSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, 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 := &Policy{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := gensupport.DecodeResponse(target, res); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Sets the access control policy on a Table resource. Replaces any existing policy.", + // "flatPath": "v2/projects/{projectsId}/instances/{instancesId}/tables/{tablesId}/views/{viewsId}:setIamPolicy", + // "httpMethod": "POST", + // "id": "bigtableadmin.projects.instances.tables.views.setIamPolicy", + // "parameterOrder": [ + // "resource" + // ], + // "parameters": { + // "resource": { + // "description": "REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", + // "location": "path", + // "pattern": "^projects/[^/]+/instances/[^/]+/tables/[^/]+/views/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v2/{+resource}:setIamPolicy", + // "request": { + // "$ref": "SetIamPolicyRequest" + // }, + // "response": { + // "$ref": "Policy" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/bigtable.admin", + // "https://www.googleapis.com/auth/bigtable.admin.table", + // "https://www.googleapis.com/auth/cloud-bigtable.admin", + // "https://www.googleapis.com/auth/cloud-bigtable.admin.table", + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// method id "bigtableadmin.projects.instances.tables.views.testIamPermissions": + +type ProjectsInstancesTablesViewsTestIamPermissionsCall struct { + s *Service + resource string + testiampermissionsrequest *TestIamPermissionsRequest + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// TestIamPermissions: Returns permissions that the caller has on the +// specified table resource. +// +// - resource: REQUIRED: The resource for which the policy detail is +// being requested. See Resource names +// (https://cloud.google.com/apis/design/resource_names) for the +// appropriate value for this field. +func (r *ProjectsInstancesTablesViewsService) TestIamPermissions(resource string, testiampermissionsrequest *TestIamPermissionsRequest) *ProjectsInstancesTablesViewsTestIamPermissionsCall { + c := &ProjectsInstancesTablesViewsTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.resource = resource + c.testiampermissionsrequest = testiampermissionsrequest + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsInstancesTablesViewsTestIamPermissionsCall) Fields(s ...googleapi.Field) *ProjectsInstancesTablesViewsTestIamPermissionsCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsInstancesTablesViewsTestIamPermissionsCall) Context(ctx context.Context) *ProjectsInstancesTablesViewsTestIamPermissionsCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsInstancesTablesViewsTestIamPermissionsCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsInstancesTablesViewsTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.testiampermissionsrequest) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+resource}:testIamPermissions") + 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{ + "resource": c.resource, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "bigtableadmin.projects.instances.tables.views.testIamPermissions" call. +// Exactly one of *TestIamPermissionsResponse or error will be non-nil. +// Any non-2xx status code is an error. Response headers are in either +// *TestIamPermissionsResponse.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 *ProjectsInstancesTablesViewsTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestIamPermissionsResponse, 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 := &TestIamPermissionsResponse{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := gensupport.DecodeResponse(target, res); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Returns permissions that the caller has on the specified table resource.", + // "flatPath": "v2/projects/{projectsId}/instances/{instancesId}/tables/{tablesId}/views/{viewsId}:testIamPermissions", + // "httpMethod": "POST", + // "id": "bigtableadmin.projects.instances.tables.views.testIamPermissions", + // "parameterOrder": [ + // "resource" + // ], + // "parameters": { + // "resource": { + // "description": "REQUIRED: The resource for which the policy detail is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", + // "location": "path", + // "pattern": "^projects/[^/]+/instances/[^/]+/tables/[^/]+/views/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v2/{+resource}:testIamPermissions", + // "request": { + // "$ref": "TestIamPermissionsRequest" + // }, + // "response": { + // "$ref": "TestIamPermissionsResponse" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/bigtable.admin", + // "https://www.googleapis.com/auth/bigtable.admin.table", + // "https://www.googleapis.com/auth/cloud-bigtable.admin", + // "https://www.googleapis.com/auth/cloud-bigtable.admin.table", + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + // method id "bigtableadmin.projects.locations.get": type ProjectsLocationsGetCall struct { diff --git a/clouddeploy/v1/clouddeploy-api.json b/clouddeploy/v1/clouddeploy-api.json index 7c6be680e5a..73ee2309637 100644 --- a/clouddeploy/v1/clouddeploy-api.json +++ b/clouddeploy/v1/clouddeploy-api.json @@ -1451,7 +1451,7 @@ } } }, - "revision": "20230609", + "revision": "20230621", "rootUrl": "https://clouddeploy.googleapis.com/", "schemas": { "AbandonReleaseRequest": { @@ -1937,6 +1937,13 @@ "TYPE_PROCESS_ABORTED", "TYPE_RENDER_STATUES_CHANGE" ], + "enumDeprecated": [ + false, + false, + false, + false, + true + ], "enumDescriptions": [ "Type is unspecified.", "A Pub/Sub notification failed to be sent.", @@ -2404,6 +2411,13 @@ "TYPE_PROCESS_ABORTED", "TYPE_RENDER_STATUES_CHANGE" ], + "enumDeprecated": [ + false, + false, + false, + false, + true + ], "enumDescriptions": [ "Type is unspecified.", "A Pub/Sub notification failed to be sent.", @@ -3089,6 +3103,13 @@ "TYPE_PROCESS_ABORTED", "TYPE_RENDER_STATUES_CHANGE" ], + "enumDeprecated": [ + false, + false, + false, + false, + true + ], "enumDescriptions": [ "Type is unspecified.", "A Pub/Sub notification failed to be sent.", @@ -3368,6 +3389,13 @@ "TYPE_PROCESS_ABORTED", "TYPE_RENDER_STATUES_CHANGE" ], + "enumDeprecated": [ + false, + false, + false, + false, + true + ], "enumDescriptions": [ "Type is unspecified.", "A Pub/Sub notification failed to be sent.", @@ -3601,7 +3629,7 @@ }, "anthosCluster": { "$ref": "AnthosCluster", - "description": "Information specifying an Anthos Cluster." + "description": "Optional. Information specifying an Anthos Cluster." }, "createTime": { "description": "Output only. Time at which the `Target` was created.", @@ -3633,7 +3661,7 @@ }, "gke": { "$ref": "GkeCluster", - "description": "Information specifying a GKE Cluster." + "description": "Optional. Information specifying a GKE Cluster." }, "labels": { "additionalProperties": { @@ -3644,7 +3672,7 @@ }, "multiTarget": { "$ref": "MultiTarget", - "description": "Information specifying a multiTarget." + "description": "Optional. Information specifying a multiTarget." }, "name": { "description": "Optional. Name of the `Target`. Format is projects/{project}/locations/{location}/targets/a-z{0,62}.", @@ -3656,7 +3684,7 @@ }, "run": { "$ref": "CloudRunLocation", - "description": "Information specifying a Cloud Run deployment target." + "description": "Optional. Information specifying a Cloud Run deployment target." }, "targetId": { "description": "Output only. Resource id of the `Target`.", @@ -3728,6 +3756,13 @@ "TYPE_PROCESS_ABORTED", "TYPE_RENDER_STATUES_CHANGE" ], + "enumDeprecated": [ + false, + false, + false, + false, + true + ], "enumDescriptions": [ "Type is unspecified.", "A Pub/Sub notification failed to be sent.", diff --git a/clouddeploy/v1/clouddeploy-gen.go b/clouddeploy/v1/clouddeploy-gen.go index 94aabce87ee..c9879705856 100644 --- a/clouddeploy/v1/clouddeploy-gen.go +++ b/clouddeploy/v1/clouddeploy-gen.go @@ -3682,7 +3682,7 @@ type Target struct { // format and size limitations. Annotations map[string]string `json:"annotations,omitempty"` - // AnthosCluster: Information specifying an Anthos Cluster. + // AnthosCluster: Optional. Information specifying an Anthos Cluster. AnthosCluster *AnthosCluster `json:"anthosCluster,omitempty"` // CreateTime: Output only. Time at which the `Target` was created. @@ -3710,7 +3710,7 @@ type Target struct { // specified in `DefaultPool`. ExecutionConfigs []*ExecutionConfig `json:"executionConfigs,omitempty"` - // Gke: Information specifying a GKE Cluster. + // Gke: Optional. Information specifying a GKE Cluster. Gke *GkeCluster `json:"gke,omitempty"` // Labels: Optional. Labels are attributes that can be set and used by @@ -3723,7 +3723,7 @@ type Target struct { // keys and values are additionally constrained to be <= 128 bytes. Labels map[string]string `json:"labels,omitempty"` - // MultiTarget: Information specifying a multiTarget. + // MultiTarget: Optional. Information specifying a multiTarget. MultiTarget *MultiTarget `json:"multiTarget,omitempty"` // Name: Optional. Name of the `Target`. Format is @@ -3734,7 +3734,7 @@ type Target struct { // approval. RequireApproval bool `json:"requireApproval,omitempty"` - // Run: Information specifying a Cloud Run deployment target. + // Run: Optional. Information specifying a Cloud Run deployment target. Run *CloudRunLocation `json:"run,omitempty"` // TargetId: Output only. Resource id of the `Target`. diff --git a/cloudkms/v1/cloudkms-api.json b/cloudkms/v1/cloudkms-api.json index e67cbc2aa36..359ac3dd4f0 100644 --- a/cloudkms/v1/cloudkms-api.json +++ b/cloudkms/v1/cloudkms-api.json @@ -1522,6 +1522,64 @@ "https://www.googleapis.com/auth/cloudkms" ] }, + "rawDecrypt": { + "description": "Decrypts data that was originally encrypted using a raw cryptographic mechanism. The CryptoKey.purpose must be RAW_ENCRYPT_DECRYPT.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/keyRings/{keyRingsId}/cryptoKeys/{cryptoKeysId}/cryptoKeyVersions/{cryptoKeyVersionsId}:rawDecrypt", + "httpMethod": "POST", + "id": "cloudkms.projects.locations.keyRings.cryptoKeys.cryptoKeyVersions.rawDecrypt", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the CryptoKeyVersion to use for decryption.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/keyRings/[^/]+/cryptoKeys/[^/]+/cryptoKeyVersions/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:rawDecrypt", + "request": { + "$ref": "RawDecryptRequest" + }, + "response": { + "$ref": "RawDecryptResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloudkms" + ] + }, + "rawEncrypt": { + "description": "Encrypts data using portable cryptographic primitives. Most users should choose Encrypt and Decrypt rather than their raw counterparts. The CryptoKey.purpose must be RAW_ENCRYPT_DECRYPT.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/keyRings/{keyRingsId}/cryptoKeys/{cryptoKeysId}/cryptoKeyVersions/{cryptoKeyVersionsId}:rawEncrypt", + "httpMethod": "POST", + "id": "cloudkms.projects.locations.keyRings.cryptoKeys.cryptoKeyVersions.rawEncrypt", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the CryptoKeyVersion to use for encryption.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/keyRings/[^/]+/cryptoKeys/[^/]+/cryptoKeyVersions/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:rawEncrypt", + "request": { + "$ref": "RawEncryptRequest" + }, + "response": { + "$ref": "RawEncryptResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloudkms" + ] + }, "restore": { "description": "Restore a CryptoKeyVersion in the DESTROY_SCHEDULED state. Upon restoration of the CryptoKeyVersion, state will be set to DISABLED, and destroy_time will be cleared.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/keyRings/{keyRingsId}/cryptoKeys/{cryptoKeysId}/cryptoKeyVersions/{cryptoKeyVersionsId}:restore", @@ -1763,7 +1821,7 @@ } } }, - "revision": "20230427", + "revision": "20230625", "rootUrl": "https://cloudkms.googleapis.com/", "schemas": { "AsymmetricDecryptRequest": { @@ -2102,6 +2160,7 @@ "ENCRYPT_DECRYPT", "ASYMMETRIC_SIGN", "ASYMMETRIC_DECRYPT", + "RAW_ENCRYPT_DECRYPT", "MAC" ], "enumDescriptions": [ @@ -2109,6 +2168,7 @@ "CryptoKeys with this purpose may be used with Encrypt and Decrypt.", "CryptoKeys with this purpose may be used with AsymmetricSign and GetPublicKey.", "CryptoKeys with this purpose may be used with AsymmetricDecrypt and GetPublicKey.", + "CryptoKeys with this purpose may be used with RawEncrypt and RawDecrypt. This purpose is meant to be used for interoperable symmetric encryption and does not support automatic CryptoKey rotation.", "CryptoKeys with this purpose may be used with MacSign." ], "type": "string" @@ -2134,6 +2194,8 @@ "enum": [ "CRYPTO_KEY_VERSION_ALGORITHM_UNSPECIFIED", "GOOGLE_SYMMETRIC_ENCRYPTION", + "AES_128_GCM", + "AES_256_GCM", "RSA_SIGN_PSS_2048_SHA256", "RSA_SIGN_PSS_3072_SHA256", "RSA_SIGN_PSS_4096_SHA256", @@ -2165,6 +2227,8 @@ "enumDescriptions": [ "Not specified.", "Creates symmetric encryption keys.", + "AES-GCM (Galois Counter Mode) using 128-bit keys.", + "AES-GCM (Galois Counter Mode) using 256-bit keys.", "RSASSA-PSS 2048 bit key with a SHA256 digest.", "RSASSA-PSS 3072 bit key with a SHA256 digest.", "RSASSA-PSS 4096 bit key with a SHA256 digest.", @@ -2326,6 +2390,8 @@ "enum": [ "CRYPTO_KEY_VERSION_ALGORITHM_UNSPECIFIED", "GOOGLE_SYMMETRIC_ENCRYPTION", + "AES_128_GCM", + "AES_256_GCM", "RSA_SIGN_PSS_2048_SHA256", "RSA_SIGN_PSS_3072_SHA256", "RSA_SIGN_PSS_4096_SHA256", @@ -2357,6 +2423,8 @@ "enumDescriptions": [ "Not specified.", "Creates symmetric encryption keys.", + "AES-GCM (Galois Counter Mode) using 128-bit keys.", + "AES-GCM (Galois Counter Mode) using 256-bit keys.", "RSASSA-PSS 2048 bit key with a SHA256 digest.", "RSASSA-PSS 3072 bit key with a SHA256 digest.", "RSASSA-PSS 4096 bit key with a SHA256 digest.", @@ -2733,6 +2801,8 @@ "enum": [ "CRYPTO_KEY_VERSION_ALGORITHM_UNSPECIFIED", "GOOGLE_SYMMETRIC_ENCRYPTION", + "AES_128_GCM", + "AES_256_GCM", "RSA_SIGN_PSS_2048_SHA256", "RSA_SIGN_PSS_3072_SHA256", "RSA_SIGN_PSS_4096_SHA256", @@ -2764,6 +2834,8 @@ "enumDescriptions": [ "Not specified.", "Creates symmetric encryption keys.", + "AES-GCM (Galois Counter Mode) using 128-bit keys.", + "AES-GCM (Galois Counter Mode) using 256-bit keys.", "RSASSA-PSS 2048 bit key with a SHA256 digest.", "RSASSA-PSS 3072 bit key with a SHA256 digest.", "RSASSA-PSS 4096 bit key with a SHA256 digest.", @@ -3323,6 +3395,8 @@ "enum": [ "CRYPTO_KEY_VERSION_ALGORITHM_UNSPECIFIED", "GOOGLE_SYMMETRIC_ENCRYPTION", + "AES_128_GCM", + "AES_256_GCM", "RSA_SIGN_PSS_2048_SHA256", "RSA_SIGN_PSS_3072_SHA256", "RSA_SIGN_PSS_4096_SHA256", @@ -3354,6 +3428,8 @@ "enumDescriptions": [ "Not specified.", "Creates symmetric encryption keys.", + "AES-GCM (Galois Counter Mode) using 128-bit keys.", + "AES-GCM (Galois Counter Mode) using 256-bit keys.", "RSASSA-PSS 2048 bit key with a SHA256 digest.", "RSASSA-PSS 3072 bit key with a SHA256 digest.", "RSASSA-PSS 4096 bit key with a SHA256 digest.", @@ -3418,6 +3494,198 @@ }, "type": "object" }, + "RawDecryptRequest": { + "description": "Request message for KeyManagementService.RawDecrypt.", + "id": "RawDecryptRequest", + "properties": { + "additionalAuthenticatedData": { + "description": "Optional. Optional data that must match the data originally supplied in RawEncryptRequest.additional_authenticated_data.", + "format": "byte", + "type": "string" + }, + "additionalAuthenticatedDataCrc32c": { + "description": "Optional. An optional CRC32C checksum of the RawDecryptRequest.additional_authenticated_data. If specified, KeyManagementService will verify the integrity of the received additional_authenticated_data using this checksum. KeyManagementService will report an error if the checksum verification fails. If you receive a checksum error, your client should verify that CRC32C(additional_authenticated_data) is equal to additional_authenticated_data_crc32c, and if so, perform a limited number of retries. A persistent mismatch may indicate an issue in your computation of the CRC32C checksum. Note: This field is defined as int64 for reasons of compatibility across different languages. However, it is a non-negative integer, which will never exceed 2^32-1, and can be safely downconverted to uint32 in languages that support this type.", + "format": "int64", + "type": "string" + }, + "ciphertext": { + "description": "Required. The encrypted data originally returned in RawEncryptResponse.ciphertext.", + "format": "byte", + "type": "string" + }, + "ciphertextCrc32c": { + "description": "Optional. An optional CRC32C checksum of the RawDecryptRequest.ciphertext. If specified, KeyManagementService will verify the integrity of the received ciphertext using this checksum. KeyManagementService will report an error if the checksum verification fails. If you receive a checksum error, your client should verify that CRC32C(ciphertext) is equal to ciphertext_crc32c, and if so, perform a limited number of retries. A persistent mismatch may indicate an issue in your computation of the CRC32C checksum. Note: This field is defined as int64 for reasons of compatibility across different languages. However, it is a non-negative integer, which will never exceed 2^32-1, and can be safely downconverted to uint32 in languages that support this type.", + "format": "int64", + "type": "string" + }, + "initializationVector": { + "description": "Required. The initialization vector (IV) used during encryption, which must match the data originally provided in RawEncryptResponse.initialization_vector.", + "format": "byte", + "type": "string" + }, + "initializationVectorCrc32c": { + "description": "Optional. An optional CRC32C checksum of the RawDecryptRequest.initialization_vector. If specified, KeyManagementService will verify the integrity of the received initialization_vector using this checksum. KeyManagementService will report an error if the checksum verification fails. If you receive a checksum error, your client should verify that CRC32C(initialization_vector) is equal to initialization_vector_crc32c, and if so, perform a limited number of retries. A persistent mismatch may indicate an issue in your computation of the CRC32C checksum. Note: This field is defined as int64 for reasons of compatibility across different languages. However, it is a non-negative integer, which will never exceed 2^32-1, and can be safely downconverted to uint32 in languages that support this type.", + "format": "int64", + "type": "string" + }, + "tagLength": { + "description": "The length of the authentication tag that is appended to the end of the ciphertext. If unspecified (0), the default value for the key's algorithm will be used (for AES-GCM, the default value is 16).", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "RawDecryptResponse": { + "description": "Response message for KeyManagementService.RawDecrypt.", + "id": "RawDecryptResponse", + "properties": { + "plaintext": { + "description": "The decrypted data.", + "format": "byte", + "type": "string" + }, + "plaintextCrc32c": { + "description": "Integrity verification field. A CRC32C checksum of the returned RawDecryptResponse.plaintext. An integrity check of plaintext can be performed by computing the CRC32C checksum of plaintext and comparing your results to this field. Discard the response in case of non-matching checksum values, and perform a limited number of retries. A persistent mismatch may indicate an issue in your computation of the CRC32C checksum. Note: receiving this response message indicates that KeyManagementService is able to successfully decrypt the ciphertext. Note: This field is defined as int64 for reasons of compatibility across different languages. However, it is a non-negative integer, which will never exceed 2^32-1, and can be safely downconverted to uint32 in languages that support this type.", + "format": "int64", + "type": "string" + }, + "protectionLevel": { + "description": "The ProtectionLevel of the CryptoKeyVersion used in decryption.", + "enum": [ + "PROTECTION_LEVEL_UNSPECIFIED", + "SOFTWARE", + "HSM", + "EXTERNAL", + "EXTERNAL_VPC" + ], + "enumDescriptions": [ + "Not specified.", + "Crypto operations are performed in software.", + "Crypto operations are performed in a Hardware Security Module.", + "Crypto operations are performed by an external key manager.", + "Crypto operations are performed in an EKM-over-VPC backend." + ], + "type": "string" + }, + "verifiedAdditionalAuthenticatedDataCrc32c": { + "description": "Integrity verification field. A flag indicating whether RawDecryptRequest.additional_authenticated_data_crc32c was received by KeyManagementService and used for the integrity verification of additional_authenticated_data. A false value of this field indicates either that // RawDecryptRequest.additional_authenticated_data_crc32c was left unset or that it was not delivered to KeyManagementService. If you've set RawDecryptRequest.additional_authenticated_data_crc32c but this field is still false, discard the response and perform a limited number of retries.", + "type": "boolean" + }, + "verifiedCiphertextCrc32c": { + "description": "Integrity verification field. A flag indicating whether RawDecryptRequest.ciphertext_crc32c was received by KeyManagementService and used for the integrity verification of the ciphertext. A false value of this field indicates either that RawDecryptRequest.ciphertext_crc32c was left unset or that it was not delivered to KeyManagementService. If you've set RawDecryptRequest.ciphertext_crc32c but this field is still false, discard the response and perform a limited number of retries.", + "type": "boolean" + }, + "verifiedInitializationVectorCrc32c": { + "description": "Integrity verification field. A flag indicating whether RawDecryptRequest.initialization_vector_crc32c was received by KeyManagementService and used for the integrity verification of initialization_vector. A false value of this field indicates either that RawDecryptRequest.initialization_vector_crc32c was left unset or that it was not delivered to KeyManagementService. If you've set RawDecryptRequest.initialization_vector_crc32c but this field is still false, discard the response and perform a limited number of retries.", + "type": "boolean" + } + }, + "type": "object" + }, + "RawEncryptRequest": { + "description": "Request message for KeyManagementService.RawEncrypt.", + "id": "RawEncryptRequest", + "properties": { + "additionalAuthenticatedData": { + "description": "Optional. Optional data that, if specified, must also be provided during decryption through RawDecryptRequest.additional_authenticated_data. This field may only be used in conjunction with an algorithm that accepts additional authenticated data (for example, AES-GCM). The maximum size depends on the key version's protection_level. For SOFTWARE keys, the plaintext must be no larger than 64KiB. For HSM keys, the combined length of the plaintext and additional_authenticated_data fields must be no larger than 8KiB.", + "format": "byte", + "type": "string" + }, + "additionalAuthenticatedDataCrc32c": { + "description": "Optional. An optional CRC32C checksum of the RawEncryptRequest.additional_authenticated_data. If specified, KeyManagementService will verify the integrity of the received additional_authenticated_data using this checksum. KeyManagementService will report an error if the checksum verification fails. If you receive a checksum error, your client should verify that CRC32C(additional_authenticated_data) is equal to additional_authenticated_data_crc32c, and if so, perform a limited number of retries. A persistent mismatch may indicate an issue in your computation of the CRC32C checksum. Note: This field is defined as int64 for reasons of compatibility across different languages. However, it is a non-negative integer, which will never exceed 2^32-1, and can be safely downconverted to uint32 in languages that support this type.", + "format": "int64", + "type": "string" + }, + "initializationVector": { + "description": "Optional. A customer-supplied initialization vector that will be used for encryption. If it is not provided for AES-CBC and AES-CTR, one will be generated. It will be returned in RawEncryptResponse.initialization_vector.", + "format": "byte", + "type": "string" + }, + "initializationVectorCrc32c": { + "description": "Optional. An optional CRC32C checksum of the RawEncryptRequest.initialization_vector. If specified, KeyManagementService will verify the integrity of the received initialization_vector using this checksum. KeyManagementService will report an error if the checksum verification fails. If you receive a checksum error, your client should verify that CRC32C(initialization_vector) is equal to initialization_vector_crc32c, and if so, perform a limited number of retries. A persistent mismatch may indicate an issue in your computation of the CRC32C checksum. Note: This field is defined as int64 for reasons of compatibility across different languages. However, it is a non-negative integer, which will never exceed 2^32-1, and can be safely downconverted to uint32 in languages that support this type.", + "format": "int64", + "type": "string" + }, + "plaintext": { + "description": "Required. The data to encrypt. Must be no larger than 64KiB. The maximum size depends on the key version's protection_level. For SOFTWARE keys, the plaintext must be no larger than 64KiB. For HSM keys, the combined length of the plaintext and additional_authenticated_data fields must be no larger than 8KiB.", + "format": "byte", + "type": "string" + }, + "plaintextCrc32c": { + "description": "Optional. An optional CRC32C checksum of the RawEncryptRequest.plaintext. If specified, KeyManagementService will verify the integrity of the received plaintext using this checksum. KeyManagementService will report an error if the checksum verification fails. If you receive a checksum error, your client should verify that CRC32C(plaintext) is equal to plaintext_crc32c, and if so, perform a limited number of retries. A persistent mismatch may indicate an issue in your computation of the CRC32C checksum. Note: This field is defined as int64 for reasons of compatibility across different languages. However, it is a non-negative integer, which will never exceed 2^32-1, and can be safely downconverted to uint32 in languages that support this type.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "RawEncryptResponse": { + "description": "Response message for KeyManagementService.RawEncrypt.", + "id": "RawEncryptResponse", + "properties": { + "ciphertext": { + "description": "The encrypted data. In the case of AES-GCM, the authentication tag is the tag_length bytes at the end of this field.", + "format": "byte", + "type": "string" + }, + "ciphertextCrc32c": { + "description": "Integrity verification field. A CRC32C checksum of the returned RawEncryptResponse.ciphertext. An integrity check of ciphertext can be performed by computing the CRC32C checksum of ciphertext and comparing your results to this field. Discard the response in case of non-matching checksum values, and perform a limited number of retries. A persistent mismatch may indicate an issue in your computation of the CRC32C checksum. Note: This field is defined as int64 for reasons of compatibility across different languages. However, it is a non-negative integer, which will never exceed 2^32-1, and can be safely downconverted to uint32 in languages that support this type.", + "format": "int64", + "type": "string" + }, + "initializationVector": { + "description": "The initialization vector (IV) generated by the service during encryption. This value must be stored and provided in RawDecryptRequest.initialization_vector at decryption time.", + "format": "byte", + "type": "string" + }, + "initializationVectorCrc32c": { + "description": "Integrity verification field. A CRC32C checksum of the returned RawEncryptResponse.initialization_vector. An integrity check of initialization_vector can be performed by computing the CRC32C checksum of initialization_vector and comparing your results to this field. Discard the response in case of non-matching checksum values, and perform a limited number of retries. A persistent mismatch may indicate an issue in your computation of the CRC32C checksum. Note: This field is defined as int64 for reasons of compatibility across different languages. However, it is a non-negative integer, which will never exceed 2^32-1, and can be safely downconverted to uint32 in languages that support this type.", + "format": "int64", + "type": "string" + }, + "name": { + "description": "The resource name of the CryptoKeyVersion used in encryption. Check this field to verify that the intended resource was used for encryption.", + "type": "string" + }, + "protectionLevel": { + "description": "The ProtectionLevel of the CryptoKeyVersion used in encryption.", + "enum": [ + "PROTECTION_LEVEL_UNSPECIFIED", + "SOFTWARE", + "HSM", + "EXTERNAL", + "EXTERNAL_VPC" + ], + "enumDescriptions": [ + "Not specified.", + "Crypto operations are performed in software.", + "Crypto operations are performed in a Hardware Security Module.", + "Crypto operations are performed by an external key manager.", + "Crypto operations are performed in an EKM-over-VPC backend." + ], + "type": "string" + }, + "tagLength": { + "description": "The length of the authentication tag that is appended to the end of the ciphertext.", + "format": "int32", + "type": "integer" + }, + "verifiedAdditionalAuthenticatedDataCrc32c": { + "description": "Integrity verification field. A flag indicating whether RawEncryptRequest.additional_authenticated_data_crc32c was received by KeyManagementService and used for the integrity verification of additional_authenticated_data. A false value of this field indicates either that // RawEncryptRequest.additional_authenticated_data_crc32c was left unset or that it was not delivered to KeyManagementService. If you've set RawEncryptRequest.additional_authenticated_data_crc32c but this field is still false, discard the response and perform a limited number of retries.", + "type": "boolean" + }, + "verifiedInitializationVectorCrc32c": { + "description": "Integrity verification field. A flag indicating whether RawEncryptRequest.initialization_vector_crc32c was received by KeyManagementService and used for the integrity verification of initialization_vector. A false value of this field indicates either that RawEncryptRequest.initialization_vector_crc32c was left unset or that it was not delivered to KeyManagementService. If you've set RawEncryptRequest.initialization_vector_crc32c but this field is still false, discard the response and perform a limited number of retries.", + "type": "boolean" + }, + "verifiedPlaintextCrc32c": { + "description": "Integrity verification field. A flag indicating whether RawEncryptRequest.plaintext_crc32c was received by KeyManagementService and used for the integrity verification of the plaintext. A false value of this field indicates either that RawEncryptRequest.plaintext_crc32c was left unset or that it was not delivered to KeyManagementService. If you've set RawEncryptRequest.plaintext_crc32c but this field is still false, discard the response and perform a limited number of retries.", + "type": "boolean" + } + }, + "type": "object" + }, "RestoreCryptoKeyVersionRequest": { "description": "Request message for KeyManagementService.RestoreCryptoKeyVersion.", "id": "RestoreCryptoKeyVersionRequest", diff --git a/cloudkms/v1/cloudkms-gen.go b/cloudkms/v1/cloudkms-gen.go index e495acc49e2..0d9c973e190 100644 --- a/cloudkms/v1/cloudkms-gen.go +++ b/cloudkms/v1/cloudkms-gen.go @@ -849,6 +849,10 @@ type CryptoKey struct { // AsymmetricSign and GetPublicKey. // "ASYMMETRIC_DECRYPT" - CryptoKeys with this purpose may be used // with AsymmetricDecrypt and GetPublicKey. + // "RAW_ENCRYPT_DECRYPT" - CryptoKeys with this purpose may be used + // with RawEncrypt and RawDecrypt. This purpose is meant to be used for + // interoperable symmetric encryption and does not support automatic + // CryptoKey rotation. // "MAC" - CryptoKeys with this purpose may be used with MacSign. Purpose string `json:"purpose,omitempty"` @@ -907,6 +911,8 @@ type CryptoKeyVersion struct { // Possible values: // "CRYPTO_KEY_VERSION_ALGORITHM_UNSPECIFIED" - Not specified. // "GOOGLE_SYMMETRIC_ENCRYPTION" - Creates symmetric encryption keys. + // "AES_128_GCM" - AES-GCM (Galois Counter Mode) using 128-bit keys. + // "AES_256_GCM" - AES-GCM (Galois Counter Mode) using 256-bit keys. // "RSA_SIGN_PSS_2048_SHA256" - RSASSA-PSS 2048 bit key with a SHA256 // digest. // "RSA_SIGN_PSS_3072_SHA256" - RSASSA-PSS 3072 bit key with a SHA256 @@ -1120,6 +1126,8 @@ type CryptoKeyVersionTemplate struct { // Possible values: // "CRYPTO_KEY_VERSION_ALGORITHM_UNSPECIFIED" - Not specified. // "GOOGLE_SYMMETRIC_ENCRYPTION" - Creates symmetric encryption keys. + // "AES_128_GCM" - AES-GCM (Galois Counter Mode) using 128-bit keys. + // "AES_256_GCM" - AES-GCM (Galois Counter Mode) using 256-bit keys. // "RSA_SIGN_PSS_2048_SHA256" - RSASSA-PSS 2048 bit key with a SHA256 // digest. // "RSA_SIGN_PSS_3072_SHA256" - RSASSA-PSS 3072 bit key with a SHA256 @@ -1870,6 +1878,8 @@ type ImportCryptoKeyVersionRequest struct { // Possible values: // "CRYPTO_KEY_VERSION_ALGORITHM_UNSPECIFIED" - Not specified. // "GOOGLE_SYMMETRIC_ENCRYPTION" - Creates symmetric encryption keys. + // "AES_128_GCM" - AES-GCM (Galois Counter Mode) using 128-bit keys. + // "AES_256_GCM" - AES-GCM (Galois Counter Mode) using 256-bit keys. // "RSA_SIGN_PSS_2048_SHA256" - RSASSA-PSS 2048 bit key with a SHA256 // digest. // "RSA_SIGN_PSS_3072_SHA256" - RSASSA-PSS 3072 bit key with a SHA256 @@ -2931,6 +2941,8 @@ type PublicKey struct { // Possible values: // "CRYPTO_KEY_VERSION_ALGORITHM_UNSPECIFIED" - Not specified. // "GOOGLE_SYMMETRIC_ENCRYPTION" - Creates symmetric encryption keys. + // "AES_128_GCM" - AES-GCM (Galois Counter Mode) using 128-bit keys. + // "AES_256_GCM" - AES-GCM (Galois Counter Mode) using 256-bit keys. // "RSA_SIGN_PSS_2048_SHA256" - RSASSA-PSS 2048 bit key with a SHA256 // digest. // "RSA_SIGN_PSS_3072_SHA256" - RSASSA-PSS 3072 bit key with a SHA256 @@ -3052,6 +3064,417 @@ func (s *PublicKey) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// RawDecryptRequest: Request message for +// KeyManagementService.RawDecrypt. +type RawDecryptRequest struct { + // AdditionalAuthenticatedData: Optional. Optional data that must match + // the data originally supplied in + // RawEncryptRequest.additional_authenticated_data. + AdditionalAuthenticatedData string `json:"additionalAuthenticatedData,omitempty"` + + // AdditionalAuthenticatedDataCrc32c: Optional. An optional CRC32C + // checksum of the RawDecryptRequest.additional_authenticated_data. If + // specified, KeyManagementService will verify the integrity of the + // received additional_authenticated_data using this checksum. + // KeyManagementService will report an error if the checksum + // verification fails. If you receive a checksum error, your client + // should verify that CRC32C(additional_authenticated_data) is equal to + // additional_authenticated_data_crc32c, and if so, perform a limited + // number of retries. A persistent mismatch may indicate an issue in + // your computation of the CRC32C checksum. Note: This field is defined + // as int64 for reasons of compatibility across different languages. + // However, it is a non-negative integer, which will never exceed + // 2^32-1, and can be safely downconverted to uint32 in languages that + // support this type. + AdditionalAuthenticatedDataCrc32c int64 `json:"additionalAuthenticatedDataCrc32c,omitempty,string"` + + // Ciphertext: Required. The encrypted data originally returned in + // RawEncryptResponse.ciphertext. + Ciphertext string `json:"ciphertext,omitempty"` + + // CiphertextCrc32c: Optional. An optional CRC32C checksum of the + // RawDecryptRequest.ciphertext. If specified, KeyManagementService will + // verify the integrity of the received ciphertext using this checksum. + // KeyManagementService will report an error if the checksum + // verification fails. If you receive a checksum error, your client + // should verify that CRC32C(ciphertext) is equal to ciphertext_crc32c, + // and if so, perform a limited number of retries. A persistent mismatch + // may indicate an issue in your computation of the CRC32C checksum. + // Note: This field is defined as int64 for reasons of compatibility + // across different languages. However, it is a non-negative integer, + // which will never exceed 2^32-1, and can be safely downconverted to + // uint32 in languages that support this type. + CiphertextCrc32c int64 `json:"ciphertextCrc32c,omitempty,string"` + + // InitializationVector: Required. The initialization vector (IV) used + // during encryption, which must match the data originally provided in + // RawEncryptResponse.initialization_vector. + InitializationVector string `json:"initializationVector,omitempty"` + + // InitializationVectorCrc32c: Optional. An optional CRC32C checksum of + // the RawDecryptRequest.initialization_vector. If specified, + // KeyManagementService will verify the integrity of the received + // initialization_vector using this checksum. KeyManagementService will + // report an error if the checksum verification fails. If you receive a + // checksum error, your client should verify that + // CRC32C(initialization_vector) is equal to + // initialization_vector_crc32c, and if so, perform a limited number of + // retries. A persistent mismatch may indicate an issue in your + // computation of the CRC32C checksum. Note: This field is defined as + // int64 for reasons of compatibility across different languages. + // However, it is a non-negative integer, which will never exceed + // 2^32-1, and can be safely downconverted to uint32 in languages that + // support this type. + InitializationVectorCrc32c int64 `json:"initializationVectorCrc32c,omitempty,string"` + + // TagLength: The length of the authentication tag that is appended to + // the end of the ciphertext. If unspecified (0), the default value for + // the key's algorithm will be used (for AES-GCM, the default value is + // 16). + TagLength int64 `json:"tagLength,omitempty"` + + // ForceSendFields is a list of field names (e.g. + // "AdditionalAuthenticatedData") to unconditionally include in API + // requests. By default, fields with empty or default values are omitted + // from API requests. However, any non-pointer, non-interface field + // appearing in ForceSendFields will be sent to the server regardless of + // whether the field is empty or not. This may be used to include empty + // fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. + // "AdditionalAuthenticatedData") to include in API requests with the + // JSON null value. By default, fields with empty values are omitted + // from API requests. However, any field with an empty value appearing + // in NullFields will be sent to the server as null. It is an error if a + // field in this list has a non-empty value. This may be used to include + // null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *RawDecryptRequest) MarshalJSON() ([]byte, error) { + type NoMethod RawDecryptRequest + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// RawDecryptResponse: Response message for +// KeyManagementService.RawDecrypt. +type RawDecryptResponse struct { + // Plaintext: The decrypted data. + Plaintext string `json:"plaintext,omitempty"` + + // PlaintextCrc32c: Integrity verification field. A CRC32C checksum of + // the returned RawDecryptResponse.plaintext. An integrity check of + // plaintext can be performed by computing the CRC32C checksum of + // plaintext and comparing your results to this field. Discard the + // response in case of non-matching checksum values, and perform a + // limited number of retries. A persistent mismatch may indicate an + // issue in your computation of the CRC32C checksum. Note: receiving + // this response message indicates that KeyManagementService is able to + // successfully decrypt the ciphertext. Note: This field is defined as + // int64 for reasons of compatibility across different languages. + // However, it is a non-negative integer, which will never exceed + // 2^32-1, and can be safely downconverted to uint32 in languages that + // support this type. + PlaintextCrc32c int64 `json:"plaintextCrc32c,omitempty,string"` + + // ProtectionLevel: The ProtectionLevel of the CryptoKeyVersion used in + // decryption. + // + // Possible values: + // "PROTECTION_LEVEL_UNSPECIFIED" - Not specified. + // "SOFTWARE" - Crypto operations are performed in software. + // "HSM" - Crypto operations are performed in a Hardware Security + // Module. + // "EXTERNAL" - Crypto operations are performed by an external key + // manager. + // "EXTERNAL_VPC" - Crypto operations are performed in an EKM-over-VPC + // backend. + ProtectionLevel string `json:"protectionLevel,omitempty"` + + // VerifiedAdditionalAuthenticatedDataCrc32c: Integrity verification + // field. A flag indicating whether + // RawDecryptRequest.additional_authenticated_data_crc32c was received + // by KeyManagementService and used for the integrity verification of + // additional_authenticated_data. A false value of this field indicates + // either that // RawDecryptRequest.additional_authenticated_data_crc32c + // was left unset or that it was not delivered to KeyManagementService. + // If you've set RawDecryptRequest.additional_authenticated_data_crc32c + // but this field is still false, discard the response and perform a + // limited number of retries. + VerifiedAdditionalAuthenticatedDataCrc32c bool `json:"verifiedAdditionalAuthenticatedDataCrc32c,omitempty"` + + // VerifiedCiphertextCrc32c: Integrity verification field. A flag + // indicating whether RawDecryptRequest.ciphertext_crc32c was received + // by KeyManagementService and used for the integrity verification of + // the ciphertext. A false value of this field indicates either that + // RawDecryptRequest.ciphertext_crc32c was left unset or that it was not + // delivered to KeyManagementService. If you've set + // RawDecryptRequest.ciphertext_crc32c but this field is still false, + // discard the response and perform a limited number of retries. + VerifiedCiphertextCrc32c bool `json:"verifiedCiphertextCrc32c,omitempty"` + + // VerifiedInitializationVectorCrc32c: Integrity verification field. A + // flag indicating whether + // RawDecryptRequest.initialization_vector_crc32c was received by + // KeyManagementService and used for the integrity verification of + // initialization_vector. A false value of this field indicates either + // that RawDecryptRequest.initialization_vector_crc32c was left unset or + // that it was not delivered to KeyManagementService. If you've set + // RawDecryptRequest.initialization_vector_crc32c but this field is + // still false, discard the response and perform a limited number of + // retries. + VerifiedInitializationVectorCrc32c bool `json:"verifiedInitializationVectorCrc32c,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "Plaintext") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Plaintext") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *RawDecryptResponse) MarshalJSON() ([]byte, error) { + type NoMethod RawDecryptResponse + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// RawEncryptRequest: Request message for +// KeyManagementService.RawEncrypt. +type RawEncryptRequest struct { + // AdditionalAuthenticatedData: Optional. Optional data that, if + // specified, must also be provided during decryption through + // RawDecryptRequest.additional_authenticated_data. This field may only + // be used in conjunction with an algorithm that accepts additional + // authenticated data (for example, AES-GCM). The maximum size depends + // on the key version's protection_level. For SOFTWARE keys, the + // plaintext must be no larger than 64KiB. For HSM keys, the combined + // length of the plaintext and additional_authenticated_data fields must + // be no larger than 8KiB. + AdditionalAuthenticatedData string `json:"additionalAuthenticatedData,omitempty"` + + // AdditionalAuthenticatedDataCrc32c: Optional. An optional CRC32C + // checksum of the RawEncryptRequest.additional_authenticated_data. If + // specified, KeyManagementService will verify the integrity of the + // received additional_authenticated_data using this checksum. + // KeyManagementService will report an error if the checksum + // verification fails. If you receive a checksum error, your client + // should verify that CRC32C(additional_authenticated_data) is equal to + // additional_authenticated_data_crc32c, and if so, perform a limited + // number of retries. A persistent mismatch may indicate an issue in + // your computation of the CRC32C checksum. Note: This field is defined + // as int64 for reasons of compatibility across different languages. + // However, it is a non-negative integer, which will never exceed + // 2^32-1, and can be safely downconverted to uint32 in languages that + // support this type. + AdditionalAuthenticatedDataCrc32c int64 `json:"additionalAuthenticatedDataCrc32c,omitempty,string"` + + // InitializationVector: Optional. A customer-supplied initialization + // vector that will be used for encryption. If it is not provided for + // AES-CBC and AES-CTR, one will be generated. It will be returned in + // RawEncryptResponse.initialization_vector. + InitializationVector string `json:"initializationVector,omitempty"` + + // InitializationVectorCrc32c: Optional. An optional CRC32C checksum of + // the RawEncryptRequest.initialization_vector. If specified, + // KeyManagementService will verify the integrity of the received + // initialization_vector using this checksum. KeyManagementService will + // report an error if the checksum verification fails. If you receive a + // checksum error, your client should verify that + // CRC32C(initialization_vector) is equal to + // initialization_vector_crc32c, and if so, perform a limited number of + // retries. A persistent mismatch may indicate an issue in your + // computation of the CRC32C checksum. Note: This field is defined as + // int64 for reasons of compatibility across different languages. + // However, it is a non-negative integer, which will never exceed + // 2^32-1, and can be safely downconverted to uint32 in languages that + // support this type. + InitializationVectorCrc32c int64 `json:"initializationVectorCrc32c,omitempty,string"` + + // Plaintext: Required. The data to encrypt. Must be no larger than + // 64KiB. The maximum size depends on the key version's + // protection_level. For SOFTWARE keys, the plaintext must be no larger + // than 64KiB. For HSM keys, the combined length of the plaintext and + // additional_authenticated_data fields must be no larger than 8KiB. + Plaintext string `json:"plaintext,omitempty"` + + // PlaintextCrc32c: Optional. An optional CRC32C checksum of the + // RawEncryptRequest.plaintext. If specified, KeyManagementService will + // verify the integrity of the received plaintext using this checksum. + // KeyManagementService will report an error if the checksum + // verification fails. If you receive a checksum error, your client + // should verify that CRC32C(plaintext) is equal to plaintext_crc32c, + // and if so, perform a limited number of retries. A persistent mismatch + // may indicate an issue in your computation of the CRC32C checksum. + // Note: This field is defined as int64 for reasons of compatibility + // across different languages. However, it is a non-negative integer, + // which will never exceed 2^32-1, and can be safely downconverted to + // uint32 in languages that support this type. + PlaintextCrc32c int64 `json:"plaintextCrc32c,omitempty,string"` + + // ForceSendFields is a list of field names (e.g. + // "AdditionalAuthenticatedData") to unconditionally include in API + // requests. By default, fields with empty or default values are omitted + // from API requests. However, any non-pointer, non-interface field + // appearing in ForceSendFields will be sent to the server regardless of + // whether the field is empty or not. This may be used to include empty + // fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. + // "AdditionalAuthenticatedData") to include in API requests with the + // JSON null value. By default, fields with empty values are omitted + // from API requests. However, any field with an empty value appearing + // in NullFields will be sent to the server as null. It is an error if a + // field in this list has a non-empty value. This may be used to include + // null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *RawEncryptRequest) MarshalJSON() ([]byte, error) { + type NoMethod RawEncryptRequest + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// RawEncryptResponse: Response message for +// KeyManagementService.RawEncrypt. +type RawEncryptResponse struct { + // Ciphertext: The encrypted data. In the case of AES-GCM, the + // authentication tag is the tag_length bytes at the end of this field. + Ciphertext string `json:"ciphertext,omitempty"` + + // CiphertextCrc32c: Integrity verification field. A CRC32C checksum of + // the returned RawEncryptResponse.ciphertext. An integrity check of + // ciphertext can be performed by computing the CRC32C checksum of + // ciphertext and comparing your results to this field. Discard the + // response in case of non-matching checksum values, and perform a + // limited number of retries. A persistent mismatch may indicate an + // issue in your computation of the CRC32C checksum. Note: This field is + // defined as int64 for reasons of compatibility across different + // languages. However, it is a non-negative integer, which will never + // exceed 2^32-1, and can be safely downconverted to uint32 in languages + // that support this type. + CiphertextCrc32c int64 `json:"ciphertextCrc32c,omitempty,string"` + + // InitializationVector: The initialization vector (IV) generated by the + // service during encryption. This value must be stored and provided in + // RawDecryptRequest.initialization_vector at decryption time. + InitializationVector string `json:"initializationVector,omitempty"` + + // InitializationVectorCrc32c: Integrity verification field. A CRC32C + // checksum of the returned RawEncryptResponse.initialization_vector. An + // integrity check of initialization_vector can be performed by + // computing the CRC32C checksum of initialization_vector and comparing + // your results to this field. Discard the response in case of + // non-matching checksum values, and perform a limited number of + // retries. A persistent mismatch may indicate an issue in your + // computation of the CRC32C checksum. Note: This field is defined as + // int64 for reasons of compatibility across different languages. + // However, it is a non-negative integer, which will never exceed + // 2^32-1, and can be safely downconverted to uint32 in languages that + // support this type. + InitializationVectorCrc32c int64 `json:"initializationVectorCrc32c,omitempty,string"` + + // Name: The resource name of the CryptoKeyVersion used in encryption. + // Check this field to verify that the intended resource was used for + // encryption. + Name string `json:"name,omitempty"` + + // ProtectionLevel: The ProtectionLevel of the CryptoKeyVersion used in + // encryption. + // + // Possible values: + // "PROTECTION_LEVEL_UNSPECIFIED" - Not specified. + // "SOFTWARE" - Crypto operations are performed in software. + // "HSM" - Crypto operations are performed in a Hardware Security + // Module. + // "EXTERNAL" - Crypto operations are performed by an external key + // manager. + // "EXTERNAL_VPC" - Crypto operations are performed in an EKM-over-VPC + // backend. + ProtectionLevel string `json:"protectionLevel,omitempty"` + + // TagLength: The length of the authentication tag that is appended to + // the end of the ciphertext. + TagLength int64 `json:"tagLength,omitempty"` + + // VerifiedAdditionalAuthenticatedDataCrc32c: Integrity verification + // field. A flag indicating whether + // RawEncryptRequest.additional_authenticated_data_crc32c was received + // by KeyManagementService and used for the integrity verification of + // additional_authenticated_data. A false value of this field indicates + // either that // RawEncryptRequest.additional_authenticated_data_crc32c + // was left unset or that it was not delivered to KeyManagementService. + // If you've set RawEncryptRequest.additional_authenticated_data_crc32c + // but this field is still false, discard the response and perform a + // limited number of retries. + VerifiedAdditionalAuthenticatedDataCrc32c bool `json:"verifiedAdditionalAuthenticatedDataCrc32c,omitempty"` + + // VerifiedInitializationVectorCrc32c: Integrity verification field. A + // flag indicating whether + // RawEncryptRequest.initialization_vector_crc32c was received by + // KeyManagementService and used for the integrity verification of + // initialization_vector. A false value of this field indicates either + // that RawEncryptRequest.initialization_vector_crc32c was left unset or + // that it was not delivered to KeyManagementService. If you've set + // RawEncryptRequest.initialization_vector_crc32c but this field is + // still false, discard the response and perform a limited number of + // retries. + VerifiedInitializationVectorCrc32c bool `json:"verifiedInitializationVectorCrc32c,omitempty"` + + // VerifiedPlaintextCrc32c: Integrity verification field. A flag + // indicating whether RawEncryptRequest.plaintext_crc32c was received by + // KeyManagementService and used for the integrity verification of the + // plaintext. A false value of this field indicates either that + // RawEncryptRequest.plaintext_crc32c was left unset or that it was not + // delivered to KeyManagementService. If you've set + // RawEncryptRequest.plaintext_crc32c but this field is still false, + // discard the response and perform a limited number of retries. + VerifiedPlaintextCrc32c bool `json:"verifiedPlaintextCrc32c,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "Ciphertext") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Ciphertext") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *RawEncryptResponse) MarshalJSON() ([]byte, error) { + type NoMethod RawEncryptResponse + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // RestoreCryptoKeyVersionRequest: Request message for // KeyManagementService.RestoreCryptoKeyVersion. type RestoreCryptoKeyVersionRequest struct { @@ -10271,6 +10694,298 @@ func (c *ProjectsLocationsKeyRingsCryptoKeysCryptoKeyVersionsPatchCall) Do(opts } +// method id "cloudkms.projects.locations.keyRings.cryptoKeys.cryptoKeyVersions.rawDecrypt": + +type ProjectsLocationsKeyRingsCryptoKeysCryptoKeyVersionsRawDecryptCall struct { + s *Service + name string + rawdecryptrequest *RawDecryptRequest + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// RawDecrypt: Decrypts data that was originally encrypted using a raw +// cryptographic mechanism. The CryptoKey.purpose must be +// RAW_ENCRYPT_DECRYPT. +// +// - name: The resource name of the CryptoKeyVersion to use for +// decryption. +func (r *ProjectsLocationsKeyRingsCryptoKeysCryptoKeyVersionsService) RawDecrypt(name string, rawdecryptrequest *RawDecryptRequest) *ProjectsLocationsKeyRingsCryptoKeysCryptoKeyVersionsRawDecryptCall { + c := &ProjectsLocationsKeyRingsCryptoKeysCryptoKeyVersionsRawDecryptCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + c.rawdecryptrequest = rawdecryptrequest + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsLocationsKeyRingsCryptoKeysCryptoKeyVersionsRawDecryptCall) Fields(s ...googleapi.Field) *ProjectsLocationsKeyRingsCryptoKeysCryptoKeyVersionsRawDecryptCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsLocationsKeyRingsCryptoKeysCryptoKeyVersionsRawDecryptCall) Context(ctx context.Context) *ProjectsLocationsKeyRingsCryptoKeysCryptoKeyVersionsRawDecryptCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsLocationsKeyRingsCryptoKeysCryptoKeyVersionsRawDecryptCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsKeyRingsCryptoKeysCryptoKeyVersionsRawDecryptCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.rawdecryptrequest) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:rawDecrypt") + 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 "cloudkms.projects.locations.keyRings.cryptoKeys.cryptoKeyVersions.rawDecrypt" call. +// Exactly one of *RawDecryptResponse or error will be non-nil. Any +// non-2xx status code is an error. Response headers are in either +// *RawDecryptResponse.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 *ProjectsLocationsKeyRingsCryptoKeysCryptoKeyVersionsRawDecryptCall) Do(opts ...googleapi.CallOption) (*RawDecryptResponse, 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 := &RawDecryptResponse{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := gensupport.DecodeResponse(target, res); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Decrypts data that was originally encrypted using a raw cryptographic mechanism. The CryptoKey.purpose must be RAW_ENCRYPT_DECRYPT.", + // "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/keyRings/{keyRingsId}/cryptoKeys/{cryptoKeysId}/cryptoKeyVersions/{cryptoKeyVersionsId}:rawDecrypt", + // "httpMethod": "POST", + // "id": "cloudkms.projects.locations.keyRings.cryptoKeys.cryptoKeyVersions.rawDecrypt", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "name": { + // "description": "Required. The resource name of the CryptoKeyVersion to use for decryption.", + // "location": "path", + // "pattern": "^projects/[^/]+/locations/[^/]+/keyRings/[^/]+/cryptoKeys/[^/]+/cryptoKeyVersions/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1/{+name}:rawDecrypt", + // "request": { + // "$ref": "RawDecryptRequest" + // }, + // "response": { + // "$ref": "RawDecryptResponse" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/cloudkms" + // ] + // } + +} + +// method id "cloudkms.projects.locations.keyRings.cryptoKeys.cryptoKeyVersions.rawEncrypt": + +type ProjectsLocationsKeyRingsCryptoKeysCryptoKeyVersionsRawEncryptCall struct { + s *Service + name string + rawencryptrequest *RawEncryptRequest + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// RawEncrypt: Encrypts data using portable cryptographic primitives. +// Most users should choose Encrypt and Decrypt rather than their raw +// counterparts. The CryptoKey.purpose must be RAW_ENCRYPT_DECRYPT. +// +// - name: The resource name of the CryptoKeyVersion to use for +// encryption. +func (r *ProjectsLocationsKeyRingsCryptoKeysCryptoKeyVersionsService) RawEncrypt(name string, rawencryptrequest *RawEncryptRequest) *ProjectsLocationsKeyRingsCryptoKeysCryptoKeyVersionsRawEncryptCall { + c := &ProjectsLocationsKeyRingsCryptoKeysCryptoKeyVersionsRawEncryptCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + c.rawencryptrequest = rawencryptrequest + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsLocationsKeyRingsCryptoKeysCryptoKeyVersionsRawEncryptCall) Fields(s ...googleapi.Field) *ProjectsLocationsKeyRingsCryptoKeysCryptoKeyVersionsRawEncryptCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsLocationsKeyRingsCryptoKeysCryptoKeyVersionsRawEncryptCall) Context(ctx context.Context) *ProjectsLocationsKeyRingsCryptoKeysCryptoKeyVersionsRawEncryptCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsLocationsKeyRingsCryptoKeysCryptoKeyVersionsRawEncryptCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsKeyRingsCryptoKeysCryptoKeyVersionsRawEncryptCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.rawencryptrequest) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:rawEncrypt") + 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 "cloudkms.projects.locations.keyRings.cryptoKeys.cryptoKeyVersions.rawEncrypt" call. +// Exactly one of *RawEncryptResponse or error will be non-nil. Any +// non-2xx status code is an error. Response headers are in either +// *RawEncryptResponse.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 *ProjectsLocationsKeyRingsCryptoKeysCryptoKeyVersionsRawEncryptCall) Do(opts ...googleapi.CallOption) (*RawEncryptResponse, 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 := &RawEncryptResponse{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := gensupport.DecodeResponse(target, res); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Encrypts data using portable cryptographic primitives. Most users should choose Encrypt and Decrypt rather than their raw counterparts. The CryptoKey.purpose must be RAW_ENCRYPT_DECRYPT.", + // "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/keyRings/{keyRingsId}/cryptoKeys/{cryptoKeysId}/cryptoKeyVersions/{cryptoKeyVersionsId}:rawEncrypt", + // "httpMethod": "POST", + // "id": "cloudkms.projects.locations.keyRings.cryptoKeys.cryptoKeyVersions.rawEncrypt", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "name": { + // "description": "Required. The resource name of the CryptoKeyVersion to use for encryption.", + // "location": "path", + // "pattern": "^projects/[^/]+/locations/[^/]+/keyRings/[^/]+/cryptoKeys/[^/]+/cryptoKeyVersions/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1/{+name}:rawEncrypt", + // "request": { + // "$ref": "RawEncryptRequest" + // }, + // "response": { + // "$ref": "RawEncryptResponse" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/cloudkms" + // ] + // } + +} + // method id "cloudkms.projects.locations.keyRings.cryptoKeys.cryptoKeyVersions.restore": type ProjectsLocationsKeyRingsCryptoKeysCryptoKeyVersionsRestoreCall struct { diff --git a/compute/v1/compute-api.json b/compute/v1/compute-api.json index 2fa90a6a6ba..3c21bcacaf0 100644 --- a/compute/v1/compute-api.json +++ b/compute/v1/compute-api.json @@ -33731,7 +33731,7 @@ } } }, - "revision": "20230610", + "revision": "20230620", "rootUrl": "https://compute.googleapis.com/", "schemas": { "AcceleratorConfig": { @@ -41002,7 +41002,7 @@ "type": "boolean" }, "allowGlobalAccess": { - "description": "This field is used along with the backend_service field for internal load balancing or with the target field for internal TargetInstance. If the field is set to TRUE, clients can access ILB from all regions. Otherwise only allows access from clients in the same region as the internal load balancer.", + "description": "This field is used along with the backend_service field for internal load balancing or with the target field for internal TargetInstance. If set to true, clients can access the Internal TCP/UDP Load Balancer, Internal HTTP(S) and TCP Proxy Load Balancer from all regions. If false, only allows access from the local region the load balancer is located at. Note that for INTERNAL_MANAGED forwarding rules, this field cannot be changed after the forwarding rule is created.", "type": "boolean" }, "allowPscGlobalAccess": { @@ -56433,7 +56433,7 @@ "type": "string" }, "ipCidrRange": { - "description": "The IPv4 address range, in CIDR format, represented by this public delegated prefix.", + "description": "The IP address range, in CIDR format, represented by this public delegated prefix.", "type": "string" }, "isLiveMigration": { @@ -56756,7 +56756,7 @@ "type": "string" }, "ipCidrRange": { - "description": "The IPv4 address range, in CIDR format, represented by this sub public delegated prefix.", + "description": "The IP address range, in CIDR format, represented by this sub public delegated prefix.", "type": "string" }, "isAddress": { @@ -59945,6 +59945,10 @@ "description": "The URL to a gateway that should handle matching packets. You can only specify the internet gateway using a full or partial valid URL: projects/ project/global/gateways/default-internet-gateway", "type": "string" }, + "nextHopHub": { + "description": "[Output Only] The full resource name of the Network Connectivity Center hub that will handle matching packets.", + "type": "string" + }, "nextHopIlb": { "description": "The URL to a forwarding rule of type loadBalancingScheme=INTERNAL that should handle matching packets or the IP address of the forwarding Rule. For example, the following are all valid URLs: - 10.128.0.56 - https://www.googleapis.com/compute/v1/projects/project/regions/region /forwardingRules/forwardingRule - regions/region/forwardingRules/forwardingRule ", "type": "string" @@ -60942,6 +60946,22 @@ "description": "Represents a Nat resource. It enables the VMs within the specified subnetworks to access Internet without external IP addresses. It specifies a list of subnetworks (and the ranges within) that want to use NAT. Customers can also provide the external IPs that would be used for NAT. GCP would auto-allocate ephemeral IPs if no external IPs are provided.", "id": "RouterNat", "properties": { + "autoNetworkTier": { + "description": "The network tier to use when automatically reserving IP addresses. Must be one of: PREMIUM, STANDARD. If not specified, PREMIUM tier will be used.", + "enum": [ + "FIXED_STANDARD", + "PREMIUM", + "STANDARD", + "STANDARD_OVERRIDES_FIXED_STANDARD" + ], + "enumDescriptions": [ + "Public internet quality with fixed bandwidth.", + "High quality, Google-grade network tier, support for all networking products.", + "Public internet quality, only limited support for other networking products.", + "(Output only) Temporary tier for FIXED_STANDARD when fixed standard tier is expired or not configured." + ], + "type": "string" + }, "drainNatIps": { "description": "A list of URLs of the IP resources to be drained. These IPs must be valid static external IPs that have been assigned to the NAT. These IPs should be used for updating/patching a NAT only.", "items": { @@ -66132,6 +66152,11 @@ "format": "byte", "type": "string" }, + "httpKeepAliveTimeoutSec": { + "description": "Specifies how long to keep a connection open, after completing a response, while there is no matching traffic (in seconds). If an HTTP keep-alive is not specified, a default value (610 seconds) will be used. For Global external HTTP(S) load balancer, the minimum allowed value is 5 seconds and the maximum allowed value is 1200 seconds. For Global external HTTP(S) load balancer (classic), this option is not available publicly.", + "format": "int32", + "type": "integer" + }, "id": { "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", "format": "uint64", @@ -66498,6 +66523,11 @@ "format": "byte", "type": "string" }, + "httpKeepAliveTimeoutSec": { + "description": "Specifies how long to keep a connection open, after completing a response, while there is no matching traffic (in seconds). If an HTTP keep-alive is not specified, a default value (610 seconds) will be used. For Global external HTTP(S) load balancer, the minimum allowed value is 5 seconds and the maximum allowed value is 1200 seconds. For Global external HTTP(S) load balancer (classic), this option is not available publicly.", + "format": "int32", + "type": "integer" + }, "id": { "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", "format": "uint64", diff --git a/compute/v1/compute-gen.go b/compute/v1/compute-gen.go index 3d92538f126..6617549790e 100644 --- a/compute/v1/compute-gen.go +++ b/compute/v1/compute-gen.go @@ -12995,9 +12995,12 @@ type ForwardingRule struct { // AllowGlobalAccess: This field is used along with the backend_service // field for internal load balancing or with the target field for - // internal TargetInstance. If the field is set to TRUE, clients can - // access ILB from all regions. Otherwise only allows access from - // clients in the same region as the internal load balancer. + // internal TargetInstance. If set to true, clients can access the + // Internal TCP/UDP Load Balancer, Internal HTTP(S) and TCP Proxy Load + // Balancer from all regions. If false, only allows access from the + // local region the load balancer is located at. Note that for + // INTERNAL_MANAGED forwarding rules, this field cannot be changed after + // the forwarding rule is created. AllowGlobalAccess bool `json:"allowGlobalAccess,omitempty"` // AllowPscGlobalAccess: This is used in PSC consumer ForwardingRule to @@ -37439,7 +37442,7 @@ type PublicDelegatedPrefix struct { // server generates this identifier. Id uint64 `json:"id,omitempty,string"` - // IpCidrRange: The IPv4 address range, in CIDR format, represented by + // IpCidrRange: The IP address range, in CIDR format, represented by // this public delegated prefix. IpCidrRange string `json:"ipCidrRange,omitempty"` @@ -37920,7 +37923,7 @@ type PublicDelegatedPrefixPublicDelegatedSubPrefix struct { // property when you create the resource. Description string `json:"description,omitempty"` - // IpCidrRange: The IPv4 address range, in CIDR format, represented by + // IpCidrRange: The IP address range, in CIDR format, represented by // this sub public delegated prefix. IpCidrRange string `json:"ipCidrRange,omitempty"` @@ -42815,6 +42818,10 @@ type Route struct { // project/global/gateways/default-internet-gateway NextHopGateway string `json:"nextHopGateway,omitempty"` + // NextHopHub: [Output Only] The full resource name of the Network + // Connectivity Center hub that will handle matching packets. + NextHopHub string `json:"nextHopHub,omitempty"` + // NextHopIlb: The URL to a forwarding rule of type // loadBalancingScheme=INTERNAL that should handle matching packets or // the IP address of the forwarding Rule. For example, the following are @@ -44245,6 +44252,21 @@ func (s *RouterMd5AuthenticationKey) MarshalJSON() ([]byte, error) { // that would be used for NAT. GCP would auto-allocate ephemeral IPs if // no external IPs are provided. type RouterNat struct { + // AutoNetworkTier: The network tier to use when automatically reserving + // IP addresses. Must be one of: PREMIUM, STANDARD. If not specified, + // PREMIUM tier will be used. + // + // Possible values: + // "FIXED_STANDARD" - Public internet quality with fixed bandwidth. + // "PREMIUM" - High quality, Google-grade network tier, support for + // all networking products. + // "STANDARD" - Public internet quality, only limited support for + // other networking products. + // "STANDARD_OVERRIDES_FIXED_STANDARD" - (Output only) Temporary tier + // for FIXED_STANDARD when fixed standard tier is expired or not + // configured. + AutoNetworkTier string `json:"autoNetworkTier,omitempty"` + // DrainNatIps: A list of URLs of the IP resources to be drained. These // IPs must be valid static external IPs that have been assigned to the // NAT. These IPs should be used for updating/patching a NAT only. @@ -44362,7 +44384,7 @@ type RouterNat struct { // to 30s if not set. UdpIdleTimeoutSec int64 `json:"udpIdleTimeoutSec,omitempty"` - // ForceSendFields is a list of field names (e.g. "DrainNatIps") to + // ForceSendFields is a list of field names (e.g. "AutoNetworkTier") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be @@ -44370,12 +44392,13 @@ type RouterNat struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "DrainNatIps") to include - // in API requests with the JSON null value. By default, fields with - // empty values are omitted from API requests. However, any field with - // an empty value appearing in NullFields will be sent to the server as - // null. It is an error if a field in this list has a non-empty value. - // This may be used to include null fields in Patch requests. + // NullFields is a list of field names (e.g. "AutoNetworkTier") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. NullFields []string `json:"-"` } @@ -52237,6 +52260,15 @@ type TargetHttpProxy struct { // to retrieve the TargetHttpProxy. Fingerprint string `json:"fingerprint,omitempty"` + // HttpKeepAliveTimeoutSec: Specifies how long to keep a connection + // open, after completing a response, while there is no matching traffic + // (in seconds). If an HTTP keep-alive is not specified, a default value + // (610 seconds) will be used. For Global external HTTP(S) load + // balancer, the minimum allowed value is 5 seconds and the maximum + // allowed value is 1200 seconds. For Global external HTTP(S) load + // balancer (classic), this option is not available publicly. + HttpKeepAliveTimeoutSec int64 `json:"httpKeepAliveTimeoutSec,omitempty"` + // Id: [Output Only] The unique identifier for the resource. This // identifier is defined by the server. Id uint64 `json:"id,omitempty,string"` @@ -52867,6 +52899,15 @@ type TargetHttpsProxy struct { // to retrieve the TargetHttpsProxy. Fingerprint string `json:"fingerprint,omitempty"` + // HttpKeepAliveTimeoutSec: Specifies how long to keep a connection + // open, after completing a response, while there is no matching traffic + // (in seconds). If an HTTP keep-alive is not specified, a default value + // (610 seconds) will be used. For Global external HTTP(S) load + // balancer, the minimum allowed value is 5 seconds and the maximum + // allowed value is 1200 seconds. For Global external HTTP(S) load + // balancer (classic), this option is not available publicly. + HttpKeepAliveTimeoutSec int64 `json:"httpKeepAliveTimeoutSec,omitempty"` + // Id: [Output Only] The unique identifier for the resource. This // identifier is defined by the server. Id uint64 `json:"id,omitempty,string"` diff --git a/container/v1beta1/container-api.json b/container/v1beta1/container-api.json index 20feabdedf1..2c6403d15d4 100644 --- a/container/v1beta1/container-api.json +++ b/container/v1beta1/container-api.json @@ -2565,7 +2565,7 @@ } } }, - "revision": "20230613", + "revision": "20230614", "rootUrl": "https://container.googleapis.com/", "schemas": { "AcceleratorConfig": { @@ -2605,14 +2605,6 @@ "description": "AdditionalPodRangesConfig is the configuration for additional pod secondary ranges supporting the ClusterUpdate message.", "id": "AdditionalPodRangesConfig", "properties": { - "podRangeInfo": { - "description": "Output only. [Output only] Information for additional pod range.", - "items": { - "$ref": "RangeInfo" - }, - "readOnly": true, - "type": "array" - }, "podRangeNames": { "description": "Name for pod secondary ipv4 range which has the actual range defined ahead.", "items": { @@ -2807,10 +2799,6 @@ "description": "The image type to use for NAP created node. Please see https://cloud.google.com/kubernetes-engine/docs/concepts/node-images for available image types.", "type": "string" }, - "insecureKubeletReadonlyPortEnabled": { - "description": "Enable or disable Kubelet read only port.", - "type": "boolean" - }, "management": { "$ref": "NodeManagement", "description": "NodeManagement configuration for this NodePool." @@ -4377,12 +4365,6 @@ "description": "Whether a new subnetwork will be created automatically for the cluster. This field is only applicable when `use_ip_aliases` is true.", "type": "boolean" }, - "defaultPodIpv4RangeUtilization": { - "description": "Output only. [Output only] The utilization of the cluster default IPv4 range for pod. The ratio is Usage/[Total number of IPs in the secondary range], Usage=numNodes*numZones*podIPsPerNode.", - "format": "double", - "readOnly": true, - "type": "number" - }, "ipv6AccessType": { "description": "The ipv6 access type (internal or external) when create_subnetwork is true", "enum": [ @@ -5431,10 +5413,6 @@ "description": "Control the CPU management policy on the node. See https://kubernetes.io/docs/tasks/administer-cluster/cpu-management-policies/ The following values are allowed. * \"none\": the default, which represents the existing scheduling behavior. * \"static\": allows pods with certain resource characteristics to be granted increased CPU affinity and exclusivity on the node. The default value is 'none' if unspecified.", "type": "string" }, - "insecureKubeletReadonlyPortEnabled": { - "description": "Enable or disable Kubelet read only port.", - "type": "boolean" - }, "podPidsLimit": { "description": "Set the Pod PID limits. See https://kubernetes.io/docs/concepts/policy/pid-limiting/#pod-pid-limits Controls the maximum number of processes allowed to run in a pod. The value must be greater than or equal to 1024 and less than 4194304.", "format": "int64", @@ -5500,12 +5478,6 @@ "description": "The IP address range for pod IPs in this node pool. Only applicable if `create_pod_range` is true. Set to blank to have a range chosen with the default size. Set to /netmask (e.g. `/14`) to have a range chosen with a specific netmask. Set to a [CIDR](https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) notation (e.g. `10.96.0.0/14`) to pick a specific range to use. Only applicable if `ip_allocation_policy.use_ip_aliases` is true. This field cannot be changed after the node pool has been created.", "type": "string" }, - "podIpv4RangeUtilization": { - "description": "Output only. [Output only] The utilization of the IPv4 range for pod. The ratio is Usage/[Total number of IPs in the secondary range], Usage=numNodes*numZones*podIPsPerNode.", - "format": "double", - "readOnly": true, - "type": "number" - }, "podRange": { "description": "The ID of the secondary range for pod IPs. If `create_pod_range` is true, this ID is used for the new range. If `create_pod_range` is false, uses an existing secondary range with this ID. Only applicable if `ip_allocation_policy.use_ip_aliases` is true. This field cannot be changed after the node pool has been created.", "type": "string" @@ -5944,10 +5916,6 @@ "description": "PlacementPolicy defines the placement policy used by the node pool.", "id": "PlacementPolicy", "properties": { - "tpuTopology": { - "description": "TPU placement topology for pod slice node pool. https://cloud.google.com/tpu/docs/types-topologies#tpu_topologies", - "type": "string" - }, "type": { "description": "The type of placement.", "enum": [ @@ -6079,24 +6047,6 @@ }, "type": "object" }, - "RangeInfo": { - "description": "RangeInfo contains the range name and the range utilization by this cluster.", - "id": "RangeInfo", - "properties": { - "rangeName": { - "description": "Output only. [Output only] Name of a range.", - "readOnly": true, - "type": "string" - }, - "utilization": { - "description": "Output only. [Output only] The utilization of the range.", - "format": "double", - "readOnly": true, - "type": "number" - } - }, - "type": "object" - }, "RecurringTimeWindow": { "description": "Represents an arbitrary window of time that recurs.", "id": "RecurringTimeWindow", diff --git a/container/v1beta1/container-gen.go b/container/v1beta1/container-gen.go index 44cbccf7d29..4d968c0c226 100644 --- a/container/v1beta1/container-gen.go +++ b/container/v1beta1/container-gen.go @@ -335,15 +335,11 @@ func (s *AcceleratorConfig) MarshalJSON() ([]byte, error) { // configuration for additional pod secondary ranges supporting the // ClusterUpdate message. type AdditionalPodRangesConfig struct { - // PodRangeInfo: Output only. [Output only] Information for additional - // pod range. - PodRangeInfo []*RangeInfo `json:"podRangeInfo,omitempty"` - // PodRangeNames: Name for pod secondary ipv4 range which has the actual // range defined ahead. PodRangeNames []string `json:"podRangeNames,omitempty"` - // ForceSendFields is a list of field names (e.g. "PodRangeInfo") to + // ForceSendFields is a list of field names (e.g. "PodRangeNames") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be @@ -351,7 +347,7 @@ type AdditionalPodRangesConfig struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "PodRangeInfo") to include + // NullFields is a list of field names (e.g. "PodRangeNames") to include // in API requests with the JSON null value. By default, fields with // empty values are omitted from API requests. However, any field with // an empty value appearing in NullFields will be sent to the server as @@ -674,10 +670,6 @@ type AutoprovisioningNodePoolDefaults struct { // for available image types. ImageType string `json:"imageType,omitempty"` - // InsecureKubeletReadonlyPortEnabled: Enable or disable Kubelet read - // only port. - InsecureKubeletReadonlyPortEnabled bool `json:"insecureKubeletReadonlyPortEnabled,omitempty"` - // Management: NodeManagement configuration for this NodePool. Management *NodeManagement `json:"management,omitempty"` @@ -3233,12 +3225,6 @@ type IPAllocationPolicy struct { // `use_ip_aliases` is true. CreateSubnetwork bool `json:"createSubnetwork,omitempty"` - // DefaultPodIpv4RangeUtilization: Output only. [Output only] The - // utilization of the cluster default IPv4 range for pod. The ratio is - // Usage/[Total number of IPs in the secondary range], - // Usage=numNodes*numZones*podIPsPerNode. - DefaultPodIpv4RangeUtilization float64 `json:"defaultPodIpv4RangeUtilization,omitempty"` - // Ipv6AccessType: The ipv6 access type (internal or external) when // create_subnetwork is true // @@ -3371,20 +3357,6 @@ func (s *IPAllocationPolicy) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -func (s *IPAllocationPolicy) UnmarshalJSON(data []byte) error { - type NoMethod IPAllocationPolicy - var s1 struct { - DefaultPodIpv4RangeUtilization gensupport.JSONFloat64 `json:"defaultPodIpv4RangeUtilization"` - *NoMethod - } - s1.NoMethod = (*NoMethod)(s) - if err := json.Unmarshal(data, &s1); err != nil { - return err - } - s.DefaultPodIpv4RangeUtilization = float64(s1.DefaultPodIpv4RangeUtilization) - return nil -} - // IdentityServiceConfig: IdentityServiceConfig is configuration for // Identity Service which allows customers to use external identity // providers with the K8S API @@ -5074,10 +5046,6 @@ type NodeKubeletConfig struct { // unspecified. CpuManagerPolicy string `json:"cpuManagerPolicy,omitempty"` - // InsecureKubeletReadonlyPortEnabled: Enable or disable Kubelet read - // only port. - InsecureKubeletReadonlyPortEnabled bool `json:"insecureKubeletReadonlyPortEnabled,omitempty"` - // PodPidsLimit: Set the Pod PID limits. See // https://kubernetes.io/docs/concepts/policy/pid-limiting/#pod-pid-limits // Controls the maximum number of processes allowed to run in a pod. The @@ -5211,11 +5179,6 @@ type NodeNetworkConfig struct { // field cannot be changed after the node pool has been created. PodIpv4CidrBlock string `json:"podIpv4CidrBlock,omitempty"` - // PodIpv4RangeUtilization: Output only. [Output only] The utilization - // of the IPv4 range for pod. The ratio is Usage/[Total number of IPs in - // the secondary range], Usage=numNodes*numZones*podIPsPerNode. - PodIpv4RangeUtilization float64 `json:"podIpv4RangeUtilization,omitempty"` - // PodRange: The ID of the secondary range for pod IPs. If // `create_pod_range` is true, this ID is used for the new range. If // `create_pod_range` is false, uses an existing secondary range with @@ -5248,20 +5211,6 @@ func (s *NodeNetworkConfig) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -func (s *NodeNetworkConfig) UnmarshalJSON(data []byte) error { - type NoMethod NodeNetworkConfig - var s1 struct { - PodIpv4RangeUtilization gensupport.JSONFloat64 `json:"podIpv4RangeUtilization"` - *NoMethod - } - s1.NoMethod = (*NoMethod)(s) - if err := json.Unmarshal(data, &s1); err != nil { - return err - } - s.PodIpv4RangeUtilization = float64(s1.PodIpv4RangeUtilization) - return nil -} - // NodePool: NodePool contains the name and configuration for a // cluster's node pool. Node pools are a set of nodes (i.e. VM's), with // a common configuration and specification, under the control of the @@ -5918,10 +5867,6 @@ func (s *OperationProgress) MarshalJSON() ([]byte, error) { // PlacementPolicy: PlacementPolicy defines the placement policy used by // the node pool. type PlacementPolicy struct { - // TpuTopology: TPU placement topology for pod slice node pool. - // https://cloud.google.com/tpu/docs/types-topologies#tpu_topologies - TpuTopology string `json:"tpuTopology,omitempty"` - // Type: The type of placement. // // Possible values: @@ -5931,7 +5876,7 @@ type PlacementPolicy struct { // availability domain to ensure low communication latency. Type string `json:"type,omitempty"` - // ForceSendFields is a list of field names (e.g. "TpuTopology") to + // ForceSendFields is a list of field names (e.g. "Type") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be @@ -5939,10 +5884,10 @@ type PlacementPolicy struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "TpuTopology") to include - // in API requests with the JSON null value. By default, fields with - // empty values are omitted from API requests. However, any field with - // an empty value appearing in NullFields will be sent to the server as + // NullFields is a list of field names (e.g. "Type") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` @@ -6186,52 +6131,6 @@ func (s *PubSub) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// RangeInfo: RangeInfo contains the range name and the range -// utilization by this cluster. -type RangeInfo struct { - // RangeName: Output only. [Output only] Name of a range. - RangeName string `json:"rangeName,omitempty"` - - // Utilization: Output only. [Output only] The utilization of the range. - Utilization float64 `json:"utilization,omitempty"` - - // ForceSendFields is a list of field names (e.g. "RangeName") to - // unconditionally include in API requests. By default, fields with - // empty or default values are omitted from API requests. However, any - // non-pointer, non-interface field appearing in ForceSendFields will be - // sent to the server regardless of whether the field is empty or not. - // This may be used to include empty fields in Patch requests. - ForceSendFields []string `json:"-"` - - // NullFields is a list of field names (e.g. "RangeName") to include in - // API requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. However, any field with an - // empty value appearing in NullFields will be sent to the server as - // null. It is an error if a field in this list has a non-empty value. - // This may be used to include null fields in Patch requests. - NullFields []string `json:"-"` -} - -func (s *RangeInfo) MarshalJSON() ([]byte, error) { - type NoMethod RangeInfo - raw := NoMethod(*s) - return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) -} - -func (s *RangeInfo) UnmarshalJSON(data []byte) error { - type NoMethod RangeInfo - var s1 struct { - Utilization gensupport.JSONFloat64 `json:"utilization"` - *NoMethod - } - s1.NoMethod = (*NoMethod)(s) - if err := json.Unmarshal(data, &s1); err != nil { - return err - } - s.Utilization = float64(s1.Utilization) - return nil -} - // RecurringTimeWindow: Represents an arbitrary window of time that // recurs. type RecurringTimeWindow struct { diff --git a/dataform/v1beta1/dataform-api.json b/dataform/v1beta1/dataform-api.json index 7b4173f92b5..50af7c791c8 100644 --- a/dataform/v1beta1/dataform-api.json +++ b/dataform/v1beta1/dataform-api.json @@ -1816,7 +1816,7 @@ } } }, - "revision": "20230616", + "revision": "20230626", "rootUrl": "https://dataform.googleapis.com/", "schemas": { "Assertion": { @@ -2255,6 +2255,7 @@ "type": "string" }, "tokenStatus": { + "deprecated": true, "description": "Output only. Deprecated: The field does not contain any token status information. Instead use https://cloud.google.com/dataform/reference/rest/v1beta1/projects.locations.repositories/computeAccessTokenStatus", "enum": [ "TOKEN_STATUS_UNSPECIFIED", diff --git a/dataplex/v1/dataplex-api.json b/dataplex/v1/dataplex-api.json index 1589e759f44..ea12b034286 100644 --- a/dataplex/v1/dataplex-api.json +++ b/dataplex/v1/dataplex-api.json @@ -4269,7 +4269,7 @@ } } }, - "revision": "20230616", + "revision": "20230626", "rootUrl": "https://dataplex.googleapis.com/", "schemas": { "Empty": { @@ -5798,6 +5798,10 @@ "description": "The message describing the data scan job event.", "type": "string" }, + "postScanActionsResult": { + "$ref": "GoogleCloudDataplexV1DataScanEventPostScanActionsResult", + "description": "The result of post scan actions." + }, "scope": { "description": "The scope of the data scan (e.g. full, incremental).", "enum": [ @@ -5941,6 +5945,44 @@ }, "type": "object" }, + "GoogleCloudDataplexV1DataScanEventPostScanActionsResult": { + "description": "Post scan actions result for data scan job.", + "id": "GoogleCloudDataplexV1DataScanEventPostScanActionsResult", + "properties": { + "bigqueryExportResult": { + "$ref": "GoogleCloudDataplexV1DataScanEventPostScanActionsResultBigQueryExportResult", + "description": "The result of BigQuery export post scan action." + } + }, + "type": "object" + }, + "GoogleCloudDataplexV1DataScanEventPostScanActionsResultBigQueryExportResult": { + "description": "The result of BigQuery export post scan action.", + "id": "GoogleCloudDataplexV1DataScanEventPostScanActionsResultBigQueryExportResult", + "properties": { + "message": { + "description": "Additional information about the BigQuery exporting.", + "type": "string" + }, + "state": { + "description": "Execution state for the BigQuery exporting.", + "enum": [ + "STATE_UNSPECIFIED", + "SUCCEEDED", + "FAILED", + "SKIPPED" + ], + "enumDescriptions": [ + "The exporting state is unspecified.", + "The exporting completed successfully.", + "The exporting is no longer running due to an error.", + "The exporting is skipped due to no valid scan result to export (usually caused by scan failed)." + ], + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudDataplexV1DataScanExecutionSpec": { "description": "DataScan execution settings.", "id": "GoogleCloudDataplexV1DataScanExecutionSpec", diff --git a/dataplex/v1/dataplex-gen.go b/dataplex/v1/dataplex-gen.go index 852f3ee4608..367747b6865 100644 --- a/dataplex/v1/dataplex-gen.go +++ b/dataplex/v1/dataplex-gen.go @@ -2806,6 +2806,9 @@ type GoogleCloudDataplexV1DataScanEvent struct { // Message: The message describing the data scan job event. Message string `json:"message,omitempty"` + // PostScanActionsResult: The result of post scan actions. + PostScanActionsResult *GoogleCloudDataplexV1DataScanEventPostScanActionsResult `json:"postScanActionsResult,omitempty"` + // Scope: The scope of the data scan (e.g. full, incremental). // // Possible values: @@ -3042,6 +3045,76 @@ func (s *GoogleCloudDataplexV1DataScanEventDataQualityResult) MarshalJSON() ([]b return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// GoogleCloudDataplexV1DataScanEventPostScanActionsResult: Post scan +// actions result for data scan job. +type GoogleCloudDataplexV1DataScanEventPostScanActionsResult struct { + // BigqueryExportResult: The result of BigQuery export post scan action. + BigqueryExportResult *GoogleCloudDataplexV1DataScanEventPostScanActionsResultBigQueryExportResult `json:"bigqueryExportResult,omitempty"` + + // ForceSendFields is a list of field names (e.g. + // "BigqueryExportResult") to unconditionally include in API requests. + // By default, fields with empty or default values are omitted from API + // requests. However, any non-pointer, non-interface field appearing in + // ForceSendFields will be sent to the server regardless of whether the + // field is empty or not. This may be used to include empty fields in + // Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "BigqueryExportResult") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *GoogleCloudDataplexV1DataScanEventPostScanActionsResult) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudDataplexV1DataScanEventPostScanActionsResult + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GoogleCloudDataplexV1DataScanEventPostScanActionsResultBigQueryExportR +// esult: The result of BigQuery export post scan action. +type GoogleCloudDataplexV1DataScanEventPostScanActionsResultBigQueryExportResult struct { + // Message: Additional information about the BigQuery exporting. + Message string `json:"message,omitempty"` + + // State: Execution state for the BigQuery exporting. + // + // Possible values: + // "STATE_UNSPECIFIED" - The exporting state is unspecified. + // "SUCCEEDED" - The exporting completed successfully. + // "FAILED" - The exporting is no longer running due to an error. + // "SKIPPED" - The exporting is skipped due to no valid scan result to + // export (usually caused by scan failed). + State string `json:"state,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Message") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Message") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GoogleCloudDataplexV1DataScanEventPostScanActionsResultBigQueryExportResult) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudDataplexV1DataScanEventPostScanActionsResultBigQueryExportResult + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // GoogleCloudDataplexV1DataScanExecutionSpec: DataScan execution // settings. type GoogleCloudDataplexV1DataScanExecutionSpec struct { diff --git a/eventarc/v1/eventarc-api.json b/eventarc/v1/eventarc-api.json index 13bb3e41266..777a9c948bd 100644 --- a/eventarc/v1/eventarc-api.json +++ b/eventarc/v1/eventarc-api.json @@ -1197,7 +1197,7 @@ } } }, - "revision": "20230602", + "revision": "20230623", "rootUrl": "https://eventarc.googleapis.com/", "schemas": { "AuditConfig": { @@ -1404,10 +1404,6 @@ "$ref": "GKE", "description": "A GKE service capable of receiving events. The service should be running in the same project as the trigger." }, - "httpEndpoint": { - "$ref": "HttpEndpoint", - "description": "An HTTP endpoint destination described by an URI." - }, "workflow": { "description": "The resource name of the Workflow whose Executions are triggered by the events. The Workflow resource should be deployed in the same project as the trigger. Format: `projects/{project}/locations/{location}/workflows/{workflow}`", "type": "string" @@ -1654,21 +1650,6 @@ }, "type": "object" }, - "HttpEndpoint": { - "description": "Represents a HTTP endpoint destination.", - "id": "HttpEndpoint", - "properties": { - "forwardDnsRequests": { - "description": "Optional. Forwards DNS requests to the VPC specified by network config to resolve the HTTP endpoint. Default to false. If set to true, Eventarc will create a peering zone to the consumer VPC and forward DNS requests. See: https://cloud.google.com/dns/docs/zones/zones-overview#peering_zones Enable this if the URI uses an internal DNS name or a private Cloud DNS zone.", - "type": "boolean" - }, - "uri": { - "description": "Required. The URI of the HTTP enpdoint. The value must be a RFC2396 URI string. Examples: `http://10.10.10.8:80/route`, `http://svc.us-central1.p.local:8080/`. Only HTTP and HTTPS protocols are supported. The host can be either a static IP addressable from the VPC specified by the network config, or an internal DNS hostname of the service resolvable via Cloud DNS.", - "type": "string" - } - }, - "type": "object" - }, "ListChannelConnectionsResponse": { "description": "The response message for the `ListChannelConnections` method.", "id": "ListChannelConnectionsResponse", diff --git a/eventarc/v1/eventarc-gen.go b/eventarc/v1/eventarc-gen.go index 4f8d16b0c81..c2290d7d231 100644 --- a/eventarc/v1/eventarc-gen.go +++ b/eventarc/v1/eventarc-gen.go @@ -603,9 +603,6 @@ type Destination struct { // running in the same project as the trigger. Gke *GKE `json:"gke,omitempty"` - // HttpEndpoint: An HTTP endpoint destination described by an URI. - HttpEndpoint *HttpEndpoint `json:"httpEndpoint,omitempty"` - // Workflow: The resource name of the Workflow whose Executions are // triggered by the events. The Workflow resource should be deployed in // the same project as the trigger. Format: @@ -1078,49 +1075,6 @@ func (s *GoogleRpcStatus) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// HttpEndpoint: Represents a HTTP endpoint destination. -type HttpEndpoint struct { - // ForwardDnsRequests: Optional. Forwards DNS requests to the VPC - // specified by network config to resolve the HTTP endpoint. Default to - // false. If set to true, Eventarc will create a peering zone to the - // consumer VPC and forward DNS requests. See: - // https://cloud.google.com/dns/docs/zones/zones-overview#peering_zones - // Enable this if the URI uses an internal DNS name or a private Cloud - // DNS zone. - ForwardDnsRequests bool `json:"forwardDnsRequests,omitempty"` - - // Uri: Required. The URI of the HTTP enpdoint. The value must be a - // RFC2396 URI string. Examples: `http://10.10.10.8:80/route`, - // `http://svc.us-central1.p.local:8080/`. Only HTTP and HTTPS protocols - // are supported. The host can be either a static IP addressable from - // the VPC specified by the network config, or an internal DNS hostname - // of the service resolvable via Cloud DNS. - Uri string `json:"uri,omitempty"` - - // ForceSendFields is a list of field names (e.g. "ForwardDnsRequests") - // to unconditionally include in API requests. By default, fields with - // empty or default values are omitted from API requests. However, any - // non-pointer, non-interface field appearing in ForceSendFields will be - // sent to the server regardless of whether the field is empty or not. - // This may be used to include empty fields in Patch requests. - ForceSendFields []string `json:"-"` - - // NullFields is a list of field names (e.g. "ForwardDnsRequests") to - // include in API requests with the JSON null value. By default, fields - // with empty values are omitted from API requests. However, any field - // with an empty value appearing in NullFields will be sent to the - // server as null. It is an error if a field in this list has a - // non-empty value. This may be used to include null fields in Patch - // requests. - NullFields []string `json:"-"` -} - -func (s *HttpEndpoint) MarshalJSON() ([]byte, error) { - type NoMethod HttpEndpoint - raw := NoMethod(*s) - return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) -} - // ListChannelConnectionsResponse: The response message for the // `ListChannelConnections` method. type ListChannelConnectionsResponse struct { diff --git a/file/v1beta1/file-api.json b/file/v1beta1/file-api.json index 1120f5c7c64..ce5bf69c727 100644 --- a/file/v1beta1/file-api.json +++ b/file/v1beta1/file-api.json @@ -1041,7 +1041,7 @@ } } }, - "revision": "20230429", + "revision": "20230625", "rootUrl": "https://file.googleapis.com/", "schemas": { "Backup": { @@ -1389,6 +1389,7 @@ "id": "GoogleCloudSaasacceleratorManagementProvidersV1MaintenanceSchedule", "properties": { "canReschedule": { + "deprecated": true, "description": "This field is deprecated, and will be always set to true since reschedule can happen multiple times now. This field should not be removed until all service producers remove this for their customers.", "type": "boolean" }, @@ -2171,6 +2172,7 @@ "type": "string" }, "sourceSnapshot": { + "deprecated": true, "description": "The resource name of the snapshot, in the format `projects/{project_id}/locations/{location_id}/snapshots/{snapshot_id}`.", "type": "string" } diff --git a/gkehub/v1/gkehub-api.json b/gkehub/v1/gkehub-api.json index 6062aa0dd9b..1c6b4fe614d 100644 --- a/gkehub/v1/gkehub-api.json +++ b/gkehub/v1/gkehub-api.json @@ -1518,7 +1518,7 @@ } } }, - "revision": "20230620", + "revision": "20230627", "rootUrl": "https://gkehub.googleapis.com/", "schemas": { "AppDevExperienceFeatureSpec": { @@ -2777,16 +2777,114 @@ }, "type": "object" }, + "FleetObservabilityFeatureError": { + "description": "All error details of the fleet observability feature.", + "id": "FleetObservabilityFeatureError", + "properties": { + "code": { + "description": "The code of the error.", + "type": "string" + }, + "description": { + "description": "A human-readable description of the current status.", + "type": "string" + } + }, + "type": "object" + }, "FleetObservabilityFeatureSpec": { "description": "**Fleet Observability**: The Hub-wide input for the FleetObservability feature.", "id": "FleetObservabilityFeatureSpec", - "properties": {}, + "properties": { + "loggingConfig": { + "$ref": "FleetObservabilityLoggingConfig", + "description": "Specified if fleet logging feature is enabled for the entire fleet. If UNSPECIFIED, fleet logging feature is disabled for the entire fleet." + } + }, "type": "object" }, "FleetObservabilityFeatureState": { "description": "**FleetObservability**: Hub-wide Feature for FleetObservability feature. state.", "id": "FleetObservabilityFeatureState", - "properties": {}, + "properties": { + "logging": { + "$ref": "FleetObservabilityFleetObservabilityLoggingState", + "description": "The feature state of default logging." + }, + "monitoring": { + "$ref": "FleetObservabilityFleetObservabilityMonitoringState", + "description": "The feature state of fleet monitoring." + } + }, + "type": "object" + }, + "FleetObservabilityFleetObservabilityBaseFeatureState": { + "description": "Base state for fleet observability feature.", + "id": "FleetObservabilityFleetObservabilityBaseFeatureState", + "properties": { + "code": { + "description": "The high-level, machine-readable status of this Feature.", + "enum": [ + "CODE_UNSPECIFIED", + "OK", + "ERROR" + ], + "enumDescriptions": [ + "Unknown or not set.", + "The Feature is operating normally.", + "The Feature is encountering errors in the reconciliation. The Feature may need intervention to return to normal operation. See the description and any associated Feature-specific details for more information." + ], + "type": "string" + }, + "errors": { + "description": "Errors after reconciling the monitoring and logging feature if the code is not OK.", + "items": { + "$ref": "FleetObservabilityFeatureError" + }, + "type": "array" + } + }, + "type": "object" + }, + "FleetObservabilityFleetObservabilityLoggingState": { + "description": "Feature state for logging feature.", + "id": "FleetObservabilityFleetObservabilityLoggingState", + "properties": { + "defaultLog": { + "$ref": "FleetObservabilityFleetObservabilityBaseFeatureState", + "description": "The base feature state of fleet default log." + }, + "scopeLog": { + "$ref": "FleetObservabilityFleetObservabilityBaseFeatureState", + "description": "The base feature state of fleet scope log." + } + }, + "type": "object" + }, + "FleetObservabilityFleetObservabilityMonitoringState": { + "description": "Feature state for monitoring feature.", + "id": "FleetObservabilityFleetObservabilityMonitoringState", + "properties": { + "state": { + "$ref": "FleetObservabilityFleetObservabilityBaseFeatureState", + "description": "The base feature state of fleet monitoring feature." + } + }, + "type": "object" + }, + "FleetObservabilityLoggingConfig": { + "description": "LoggingConfig defines the configuration for different types of logs.", + "id": "FleetObservabilityLoggingConfig", + "properties": { + "defaultConfig": { + "$ref": "FleetObservabilityRoutingConfig", + "description": "Specified if applying the default routing config to logs not specified in other configs." + }, + "fleetScopeLogsConfig": { + "$ref": "FleetObservabilityRoutingConfig", + "description": "Specified if applying the routing config to all logs for all fleet scopes." + } + }, "type": "object" }, "FleetObservabilityMembershipSpec": { @@ -2801,6 +2899,27 @@ "properties": {}, "type": "object" }, + "FleetObservabilityRoutingConfig": { + "description": "RoutingConfig configures the behaviour of fleet logging feature.", + "id": "FleetObservabilityRoutingConfig", + "properties": { + "mode": { + "description": "mode configures the logs routing mode.", + "enum": [ + "MODE_UNSPECIFIED", + "COPY", + "MOVE" + ], + "enumDescriptions": [ + "If UNSPECIFIED, fleet logging feature is disabled.", + "logs will be copied to the destination project.", + "logs will be moved to the destination project." + ], + "type": "string" + } + }, + "type": "object" + }, "GenerateConnectManifestResponse": { "description": "GenerateConnectManifestResponse contains manifest information for installing/upgrading a Connect agent.", "id": "GenerateConnectManifestResponse", diff --git a/gkehub/v1/gkehub-gen.go b/gkehub/v1/gkehub-gen.go index c21f881605c..e33f8dac202 100644 --- a/gkehub/v1/gkehub-gen.go +++ b/gkehub/v1/gkehub-gen.go @@ -2241,14 +2241,235 @@ func (s *FleetLifecycleState) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// FleetObservabilityFeatureError: All error details of the fleet +// observability feature. +type FleetObservabilityFeatureError struct { + // Code: The code of the error. + Code string `json:"code,omitempty"` + + // Description: A human-readable description of the current status. + Description string `json:"description,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. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Code") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *FleetObservabilityFeatureError) MarshalJSON() ([]byte, error) { + type NoMethod FleetObservabilityFeatureError + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // FleetObservabilityFeatureSpec: **Fleet Observability**: The Hub-wide // input for the FleetObservability feature. type FleetObservabilityFeatureSpec struct { + // LoggingConfig: Specified if fleet logging feature is enabled for the + // entire fleet. If UNSPECIFIED, fleet logging feature is disabled for + // the entire fleet. + LoggingConfig *FleetObservabilityLoggingConfig `json:"loggingConfig,omitempty"` + + // ForceSendFields is a list of field names (e.g. "LoggingConfig") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "LoggingConfig") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *FleetObservabilityFeatureSpec) MarshalJSON() ([]byte, error) { + type NoMethod FleetObservabilityFeatureSpec + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // FleetObservabilityFeatureState: **FleetObservability**: Hub-wide // Feature for FleetObservability feature. state. type FleetObservabilityFeatureState struct { + // Logging: The feature state of default logging. + Logging *FleetObservabilityFleetObservabilityLoggingState `json:"logging,omitempty"` + + // Monitoring: The feature state of fleet monitoring. + Monitoring *FleetObservabilityFleetObservabilityMonitoringState `json:"monitoring,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Logging") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Logging") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *FleetObservabilityFeatureState) MarshalJSON() ([]byte, error) { + type NoMethod FleetObservabilityFeatureState + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// FleetObservabilityFleetObservabilityBaseFeatureState: Base state for +// fleet observability feature. +type FleetObservabilityFleetObservabilityBaseFeatureState struct { + // Code: The high-level, machine-readable status of this Feature. + // + // Possible values: + // "CODE_UNSPECIFIED" - Unknown or not set. + // "OK" - The Feature is operating normally. + // "ERROR" - The Feature is encountering errors in the reconciliation. + // The Feature may need intervention to return to normal operation. See + // the description and any associated Feature-specific details for more + // information. + Code string `json:"code,omitempty"` + + // Errors: Errors after reconciling the monitoring and logging feature + // if the code is not OK. + Errors []*FleetObservabilityFeatureError `json:"errors,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. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Code") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *FleetObservabilityFleetObservabilityBaseFeatureState) MarshalJSON() ([]byte, error) { + type NoMethod FleetObservabilityFleetObservabilityBaseFeatureState + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// FleetObservabilityFleetObservabilityLoggingState: Feature state for +// logging feature. +type FleetObservabilityFleetObservabilityLoggingState struct { + // DefaultLog: The base feature state of fleet default log. + DefaultLog *FleetObservabilityFleetObservabilityBaseFeatureState `json:"defaultLog,omitempty"` + + // ScopeLog: The base feature state of fleet scope log. + ScopeLog *FleetObservabilityFleetObservabilityBaseFeatureState `json:"scopeLog,omitempty"` + + // ForceSendFields is a list of field names (e.g. "DefaultLog") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "DefaultLog") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *FleetObservabilityFleetObservabilityLoggingState) MarshalJSON() ([]byte, error) { + type NoMethod FleetObservabilityFleetObservabilityLoggingState + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// FleetObservabilityFleetObservabilityMonitoringState: Feature state +// for monitoring feature. +type FleetObservabilityFleetObservabilityMonitoringState struct { + // State: The base feature state of fleet monitoring feature. + State *FleetObservabilityFleetObservabilityBaseFeatureState `json:"state,omitempty"` + + // ForceSendFields is a list of field names (e.g. "State") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "State") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *FleetObservabilityFleetObservabilityMonitoringState) MarshalJSON() ([]byte, error) { + type NoMethod FleetObservabilityFleetObservabilityMonitoringState + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// FleetObservabilityLoggingConfig: LoggingConfig defines the +// configuration for different types of logs. +type FleetObservabilityLoggingConfig struct { + // DefaultConfig: Specified if applying the default routing config to + // logs not specified in other configs. + DefaultConfig *FleetObservabilityRoutingConfig `json:"defaultConfig,omitempty"` + + // FleetScopeLogsConfig: Specified if applying the routing config to all + // logs for all fleet scopes. + FleetScopeLogsConfig *FleetObservabilityRoutingConfig `json:"fleetScopeLogsConfig,omitempty"` + + // ForceSendFields is a list of field names (e.g. "DefaultConfig") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "DefaultConfig") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *FleetObservabilityLoggingConfig) MarshalJSON() ([]byte, error) { + type NoMethod FleetObservabilityLoggingConfig + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // FleetObservabilityMembershipSpec: **FleetObservability**: The @@ -2261,6 +2482,41 @@ type FleetObservabilityMembershipSpec struct { type FleetObservabilityMembershipState struct { } +// FleetObservabilityRoutingConfig: RoutingConfig configures the +// behaviour of fleet logging feature. +type FleetObservabilityRoutingConfig struct { + // Mode: mode configures the logs routing mode. + // + // Possible values: + // "MODE_UNSPECIFIED" - If UNSPECIFIED, fleet logging feature is + // disabled. + // "COPY" - logs will be copied to the destination project. + // "MOVE" - logs will be moved to the destination project. + Mode string `json:"mode,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. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Mode") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *FleetObservabilityRoutingConfig) MarshalJSON() ([]byte, error) { + type NoMethod FleetObservabilityRoutingConfig + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // GenerateConnectManifestResponse: GenerateConnectManifestResponse // contains manifest information for installing/upgrading a Connect // agent. diff --git a/gkeonprem/v1/gkeonprem-api.json b/gkeonprem/v1/gkeonprem-api.json index 5ff2082a8ad..62417589c9f 100644 --- a/gkeonprem/v1/gkeonprem-api.json +++ b/gkeonprem/v1/gkeonprem-api.json @@ -2996,7 +2996,7 @@ } } }, - "revision": "20230620", + "revision": "20230626", "rootUrl": "https://gkeonprem.googleapis.com/", "schemas": { "Authorization": { @@ -4733,6 +4733,63 @@ }, "type": "object" }, + "Metric": { + "description": "Progress metric is (string, int|float|string) pair.", + "id": "Metric", + "properties": { + "doubleValue": { + "description": "For metrics with floating point value.", + "format": "double", + "type": "number" + }, + "intValue": { + "description": "For metrics with integer value.", + "format": "int64", + "type": "string" + }, + "metric": { + "description": "Required. The metric name.", + "enum": [ + "METRIC_ID_UNSPECIFIED", + "NODES_TOTAL", + "NODES_DRAINING", + "NODES_UPGRADING", + "NODES_PENDING_UPGRADE", + "NODES_UPGRADED", + "NODES_FAILED", + "NODES_HEALTHY", + "NODES_RECONCILING", + "NODES_IN_MAINTENANCE", + "PREFLIGHTS_COMPLETED", + "PREFLIGHTS_RUNNING", + "PREFLIGHTS_FAILED", + "PREFLIGHTS_TOTAL" + ], + "enumDescriptions": [ + "Not set.", + "The total number of nodes being actuated.", + "The number of nodes draining.", + "The number of nodes actively upgrading.", + "The number of nodes to be upgraded.", + "The number of nodes upgraded.", + "The number of nodes to fail actuation.", + "The number of nodes healthy.", + "The number of nodes reconciling.", + "The number of nodes in maintenance mode.", + "The number of completed preflight checks.", + "The number of preflight checks running.", + "The number of preflight checks failed.", + "The total number of preflight checks." + ], + "type": "string" + }, + "stringValue": { + "description": "For metrics with custom values (ratios, visual progress, etc.).", + "type": "string" + } + }, + "type": "object" + }, "NodeTaint": { "description": "NodeTaint applied to every Kubernetes node in a node pool. Kubernetes taints can be used together with tolerations to control how workloads are scheduled to your nodes. Node taints are permanent.", "id": "NodeTaint", @@ -4825,6 +4882,11 @@ "readOnly": true, "type": "string" }, + "progress": { + "$ref": "OperationProgress", + "description": "Output only. Detailed progress information for the operation.", + "readOnly": true + }, "requestedCancellation": { "description": "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`.", "readOnly": true, @@ -4867,6 +4929,83 @@ }, "type": "object" }, + "OperationProgress": { + "description": "Information about operation progress. LINT.IfChange", + "id": "OperationProgress", + "properties": { + "stages": { + "description": "The stages of the operation.", + "items": { + "$ref": "OperationStage" + }, + "type": "array" + } + }, + "type": "object" + }, + "OperationStage": { + "description": "Information about a particular stage of an operation.", + "id": "OperationStage", + "properties": { + "endTime": { + "description": "Time the stage ended.", + "format": "google-datetime", + "type": "string" + }, + "metrics": { + "description": "Progress metric bundle.", + "items": { + "$ref": "Metric" + }, + "type": "array" + }, + "stage": { + "description": "The high-level stage of the operation.", + "enum": [ + "STAGE_UNSPECIFIED", + "PREFLIGHT_CHECK", + "CONFIGURE", + "DEPLOY", + "HEALTH_CHECK", + "UPDATE" + ], + "enumDescriptions": [ + "Not set.", + "Preflight checks are running.", + "Resource is being configured.", + "Resource is being deployed.", + "Waiting for the resource to become healthy.", + "Resource is being updated." + ], + "type": "string" + }, + "startTime": { + "description": "Time the stage started.", + "format": "google-datetime", + "type": "string" + }, + "state": { + "description": "Output only. State of the stage.", + "enum": [ + "STATE_UNSPECIFIED", + "PENDING", + "RUNNING", + "SUCCEEDED", + "FAILED" + ], + "enumDescriptions": [ + "Not set.", + "The stage is pending.", + "The stage is running", + "The stage has completed successfully.", + "The stage has failed." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, "Policy": { "description": "An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** { \"bindings\": [ { \"role\": \"roles/resourcemanager.organizationAdmin\", \"members\": [ \"user:mike@example.com\", \"group:admins@example.com\", \"domain:google.com\", \"serviceAccount:my-project-id@appspot.gserviceaccount.com\" ] }, { \"role\": \"roles/resourcemanager.organizationViewer\", \"members\": [ \"user:eve@example.com\" ], \"condition\": { \"title\": \"expirable access\", \"description\": \"Does not grant access after Sep 2020\", \"expression\": \"request.time \u003c timestamp('2020-10-01T00:00:00.000Z')\", } } ], \"etag\": \"BwWWja0YfJA=\", \"version\": 3 } **YAML example:** bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time \u003c timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).", "id": "Policy", diff --git a/gkeonprem/v1/gkeonprem-gen.go b/gkeonprem/v1/gkeonprem-gen.go index e773d06e218..70af3a5c122 100644 --- a/gkeonprem/v1/gkeonprem-gen.go +++ b/gkeonprem/v1/gkeonprem-gen.go @@ -3616,6 +3616,74 @@ func (s *Location) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// Metric: Progress metric is (string, int|float|string) pair. +type Metric struct { + // DoubleValue: For metrics with floating point value. + DoubleValue float64 `json:"doubleValue,omitempty"` + + // IntValue: For metrics with integer value. + IntValue int64 `json:"intValue,omitempty,string"` + + // Metric: Required. The metric name. + // + // Possible values: + // "METRIC_ID_UNSPECIFIED" - Not set. + // "NODES_TOTAL" - The total number of nodes being actuated. + // "NODES_DRAINING" - The number of nodes draining. + // "NODES_UPGRADING" - The number of nodes actively upgrading. + // "NODES_PENDING_UPGRADE" - The number of nodes to be upgraded. + // "NODES_UPGRADED" - The number of nodes upgraded. + // "NODES_FAILED" - The number of nodes to fail actuation. + // "NODES_HEALTHY" - The number of nodes healthy. + // "NODES_RECONCILING" - The number of nodes reconciling. + // "NODES_IN_MAINTENANCE" - The number of nodes in maintenance mode. + // "PREFLIGHTS_COMPLETED" - The number of completed preflight checks. + // "PREFLIGHTS_RUNNING" - The number of preflight checks running. + // "PREFLIGHTS_FAILED" - The number of preflight checks failed. + // "PREFLIGHTS_TOTAL" - The total number of preflight checks. + Metric string `json:"metric,omitempty"` + + // StringValue: For metrics with custom values (ratios, visual progress, + // etc.). + StringValue string `json:"stringValue,omitempty"` + + // ForceSendFields is a list of field names (e.g. "DoubleValue") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "DoubleValue") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *Metric) MarshalJSON() ([]byte, error) { + type NoMethod Metric + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +func (s *Metric) UnmarshalJSON(data []byte) error { + type NoMethod Metric + 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 +} + // NodeTaint: NodeTaint applied to every Kubernetes node in a node pool. // Kubernetes taints can be used together with tolerations to control // how workloads are scheduled to your nodes. Node taints are permanent. @@ -3744,6 +3812,10 @@ type OperationMetadata struct { // EndTime: Output only. The time the operation finished running. EndTime string `json:"endTime,omitempty"` + // Progress: Output only. Detailed progress information for the + // operation. + Progress *OperationProgress `json:"progress,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 @@ -3794,6 +3866,90 @@ func (s *OperationMetadata) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// OperationProgress: Information about operation progress. +// LINT.IfChange +type OperationProgress struct { + // Stages: The stages of the operation. + Stages []*OperationStage `json:"stages,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Stages") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Stages") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *OperationProgress) MarshalJSON() ([]byte, error) { + type NoMethod OperationProgress + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// OperationStage: Information about a particular stage of an operation. +type OperationStage struct { + // EndTime: Time the stage ended. + EndTime string `json:"endTime,omitempty"` + + // Metrics: Progress metric bundle. + Metrics []*Metric `json:"metrics,omitempty"` + + // Stage: The high-level stage of the operation. + // + // Possible values: + // "STAGE_UNSPECIFIED" - Not set. + // "PREFLIGHT_CHECK" - Preflight checks are running. + // "CONFIGURE" - Resource is being configured. + // "DEPLOY" - Resource is being deployed. + // "HEALTH_CHECK" - Waiting for the resource to become healthy. + // "UPDATE" - Resource is being updated. + Stage string `json:"stage,omitempty"` + + // StartTime: Time the stage started. + StartTime string `json:"startTime,omitempty"` + + // State: Output only. State of the stage. + // + // Possible values: + // "STATE_UNSPECIFIED" - Not set. + // "PENDING" - The stage is pending. + // "RUNNING" - The stage is running + // "SUCCEEDED" - The stage has completed successfully. + // "FAILED" - The stage has failed. + State string `json:"state,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. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "EndTime") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *OperationStage) MarshalJSON() ([]byte, error) { + type NoMethod OperationStage + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // Policy: An Identity and Access Management (IAM) policy, which // specifies access controls for Google Cloud resources. A `Policy` is a // collection of `bindings`. A `binding` binds one or more `members`, or diff --git a/memcache/v1/memcache-api.json b/memcache/v1/memcache-api.json index 11caf9f4de8..f2f3c8b4a03 100644 --- a/memcache/v1/memcache-api.json +++ b/memcache/v1/memcache-api.json @@ -556,7 +556,7 @@ } } }, - "revision": "20230504", + "revision": "20230622", "rootUrl": "https://memcache.googleapis.com/", "schemas": { "ApplyParametersRequest": { @@ -1102,6 +1102,13 @@ "$ref": "MemcacheParameters", "description": "User defined parameters to apply to the memcached process on each node." }, + "reservedIpRangeId": { + "description": "Optional. Contains the id of allocated IP address ranges associated with the private service access connection for example, \"test-default\" associated with IP range 10.0.0.0/29.", + "items": { + "type": "string" + }, + "type": "array" + }, "state": { "description": "Output only. The state of this Memcached instance.", "enum": [ diff --git a/memcache/v1/memcache-gen.go b/memcache/v1/memcache-gen.go index f46df095cb4..edc6f5b8338 100644 --- a/memcache/v1/memcache-gen.go +++ b/memcache/v1/memcache-gen.go @@ -1042,6 +1042,11 @@ type Instance struct { // on each node. Parameters *MemcacheParameters `json:"parameters,omitempty"` + // ReservedIpRangeId: Optional. Contains the id of allocated IP address + // ranges associated with the private service access connection for + // example, "test-default" associated with IP range 10.0.0.0/29. + ReservedIpRangeId []string `json:"reservedIpRangeId,omitempty"` + // State: Output only. The state of this Memcached instance. // // Possible values: diff --git a/memcache/v1beta2/memcache-api.json b/memcache/v1beta2/memcache-api.json index 78613f568d8..37448116553 100644 --- a/memcache/v1beta2/memcache-api.json +++ b/memcache/v1beta2/memcache-api.json @@ -584,7 +584,7 @@ } } }, - "revision": "20230504", + "revision": "20230622", "rootUrl": "https://memcache.googleapis.com/", "schemas": { "ApplyParametersRequest": { @@ -1148,6 +1148,13 @@ "$ref": "MemcacheParameters", "description": "User defined parameters to apply to the memcached process on each node." }, + "reservedIpRangeId": { + "description": "Optional. Contains the id of allocated IP address ranges associated with the private service access connection for example, \"test-default\" associated with IP range 10.0.0.0/29.", + "items": { + "type": "string" + }, + "type": "array" + }, "state": { "description": "Output only. The state of this Memcached instance.", "enum": [ diff --git a/memcache/v1beta2/memcache-gen.go b/memcache/v1beta2/memcache-gen.go index fa34b34911a..ed0687d2a25 100644 --- a/memcache/v1beta2/memcache-gen.go +++ b/memcache/v1beta2/memcache-gen.go @@ -1075,6 +1075,11 @@ type Instance struct { // on each node. Parameters *MemcacheParameters `json:"parameters,omitempty"` + // ReservedIpRangeId: Optional. Contains the id of allocated IP address + // ranges associated with the private service access connection for + // example, "test-default" associated with IP range 10.0.0.0/29. + ReservedIpRangeId []string `json:"reservedIpRangeId,omitempty"` + // State: Output only. The state of this Memcached instance. // // Possible values: diff --git a/metastore/v1/metastore-api.json b/metastore/v1/metastore-api.json index b8eb3e005da..89857c40353 100644 --- a/metastore/v1/metastore-api.json +++ b/metastore/v1/metastore-api.json @@ -1339,7 +1339,7 @@ } } }, - "revision": "20230530", + "revision": "20230622", "rootUrl": "https://metastore.googleapis.com/", "schemas": { "AlterMetadataResourceLocationRequest": { @@ -1569,6 +1569,7 @@ "id": "DatabaseDump", "properties": { "databaseType": { + "deprecated": true, "description": "The type of the database.", "enum": [ "DATABASE_TYPE_UNSPECIFIED", @@ -1585,6 +1586,7 @@ "type": "string" }, "sourceDatabase": { + "deprecated": true, "description": "The name of the source database.", "type": "string" }, diff --git a/metastore/v1alpha/metastore-api.json b/metastore/v1alpha/metastore-api.json index 566f8463917..92c552bfe5c 100644 --- a/metastore/v1alpha/metastore-api.json +++ b/metastore/v1alpha/metastore-api.json @@ -1579,7 +1579,7 @@ } } }, - "revision": "20230502", + "revision": "20230622", "rootUrl": "https://metastore.googleapis.com/", "schemas": { "AlterMetadataResourceLocationRequest": { @@ -1822,6 +1822,7 @@ "id": "DatabaseDump", "properties": { "databaseType": { + "deprecated": true, "description": "The type of the database.", "enum": [ "DATABASE_TYPE_UNSPECIFIED", @@ -1838,6 +1839,7 @@ "type": "string" }, "sourceDatabase": { + "deprecated": true, "description": "The name of the source database.", "type": "string" }, diff --git a/metastore/v1beta/metastore-api.json b/metastore/v1beta/metastore-api.json index 6e8b5926b31..ca3ae389e6f 100644 --- a/metastore/v1beta/metastore-api.json +++ b/metastore/v1beta/metastore-api.json @@ -1579,7 +1579,7 @@ } } }, - "revision": "20230502", + "revision": "20230622", "rootUrl": "https://metastore.googleapis.com/", "schemas": { "AlterMetadataResourceLocationRequest": { @@ -1822,6 +1822,7 @@ "id": "DatabaseDump", "properties": { "databaseType": { + "deprecated": true, "description": "The type of the database.", "enum": [ "DATABASE_TYPE_UNSPECIFIED", @@ -1838,6 +1839,7 @@ "type": "string" }, "sourceDatabase": { + "deprecated": true, "description": "The name of the source database.", "type": "string" }, diff --git a/networkconnectivity/v1alpha1/networkconnectivity-api.json b/networkconnectivity/v1alpha1/networkconnectivity-api.json index 814e876b5b1..108a32d6911 100644 --- a/networkconnectivity/v1alpha1/networkconnectivity-api.json +++ b/networkconnectivity/v1alpha1/networkconnectivity-api.json @@ -1116,7 +1116,7 @@ } } }, - "revision": "20230621", + "revision": "20230627", "rootUrl": "https://networkconnectivity.googleapis.com/", "schemas": { "AuditConfig": { @@ -1329,6 +1329,7 @@ "type": "string" }, "spokes": { + "deprecated": true, "description": "Output only. A list of the URIs of all attached spokes. This field is deprecated and will not be included in future API versions. Call ListSpokes on each region instead.", "items": { "type": "string" @@ -1686,6 +1687,7 @@ "type": "string" }, "networkInterface": { + "deprecated": true, "type": "string" }, "virtualMachine": { diff --git a/run/v1/run-api.json b/run/v1/run-api.json index a8887eff6a9..dad521077c1 100644 --- a/run/v1/run-api.json +++ b/run/v1/run-api.json @@ -2289,7 +2289,7 @@ } } }, - "revision": "20230611", + "revision": "20230625", "rootUrl": "https://run.googleapis.com/", "schemas": { "Addressable": { @@ -2359,6 +2359,7 @@ "type": "string" }, "name": { + "deprecated": true, "description": "Deprecated Read only. Full path to the `AuthorizedDomain` resource in the API. Example: `projects/myproject/authorizedDomains/example.com`.", "type": "string" } @@ -2399,6 +2400,7 @@ "properties": { "localObjectReference": { "$ref": "LocalObjectReference", + "deprecated": true, "description": "This field should not be used directly as it is meant to be inlined directly into the message. Use the \"name\" field instead." }, "name": { @@ -2422,6 +2424,7 @@ }, "localObjectReference": { "$ref": "LocalObjectReference", + "deprecated": true, "description": "Not supported by Cloud Run." }, "name": { @@ -4058,6 +4061,7 @@ "properties": { "localObjectReference": { "$ref": "LocalObjectReference", + "deprecated": true, "description": "This field should not be used directly as it is meant to be inlined directly into the message. Use the \"name\" field instead." }, "name": { @@ -4081,6 +4085,7 @@ }, "localObjectReference": { "$ref": "LocalObjectReference", + "deprecated": true, "description": "This field should not be used directly as it is meant to be inlined directly into the message. Use the \"name\" field instead." }, "name": { @@ -4508,6 +4513,7 @@ "id": "TrafficTarget", "properties": { "configurationName": { + "deprecated": true, "description": "[Deprecated] Not supported in Cloud Run. It must be empty.", "type": "string" }, diff --git a/sqladmin/v1/sqladmin-api.json b/sqladmin/v1/sqladmin-api.json index 05c2ea68bd8..204e4891620 100644 --- a/sqladmin/v1/sqladmin-api.json +++ b/sqladmin/v1/sqladmin-api.json @@ -1495,6 +1495,38 @@ "https://www.googleapis.com/auth/sqlservice.admin" ] }, + "getLatestRecoveryTime": { + "description": "Get Latest Recovery Time for a given instance.", + "flatPath": "v1/projects/{project}/instances/{instance}/getLatestRecoveryTime", + "httpMethod": "GET", + "id": "sql.projects.instances.getLatestRecoveryTime", + "parameterOrder": [ + "project", + "instance" + ], + "parameters": { + "instance": { + "description": "Cloud SQL instance ID. This does not include the project ID.", + "location": "path", + "required": true, + "type": "string" + }, + "project": { + "description": "Project ID of the project that contains the instance.", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "v1/projects/{project}/instances/{instance}/getLatestRecoveryTime", + "response": { + "$ref": "SqlInstancesGetLatestRecoveryTimeResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/sqlservice.admin" + ] + }, "performDiskShrink": { "description": "Perform Disk Shrink on primary instance.", "flatPath": "v1/projects/{project}/instances/{instance}/performDiskShrink", @@ -2090,7 +2122,7 @@ } } }, - "revision": "20230607", + "revision": "20230627", "rootUrl": "https://sqladmin.googleapis.com/", "schemas": { "AclEntry": { @@ -2470,6 +2502,10 @@ "description": "Timestamp, if specified, identifies the time to which the source instance is cloned.", "format": "google-datetime", "type": "string" + }, + "preferredZone": { + "description": "Optional. (Point-in-time recovery for PostgreSQL only) Clone to an instance in the specified zone. If no zone is specified, clone to the same zone as the source instance.", + "type": "string" } }, "type": "object" @@ -2486,6 +2522,12 @@ "SECOND_GEN", "EXTERNAL" ], + "enumDeprecated": [ + false, + true, + false, + false + ], "enumDescriptions": [ "This is an unknown backend type for instance.", "V1 speckle instance.", @@ -2535,6 +2577,45 @@ "SQLSERVER_2022_EXPRESS", "SQLSERVER_2022_WEB" ], + "enumDeprecated": [ + false, + true, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false + ], "enumDescriptions": [ "This is an unknown database version.", "The database version is MySQL 5.1.", @@ -2602,6 +2683,17 @@ }, "type": "object" }, + "DataCacheConfig": { + "description": "Data cache configurations.", + "id": "DataCacheConfig", + "properties": { + "dataCacheEnabled": { + "description": "Whether data cache is enabled for the instance.", + "type": "boolean" + } + }, + "type": "object" + }, "Database": { "description": "Represents a SQL database on the Cloud SQL instance.", "id": "Database", @@ -2679,6 +2771,12 @@ "SECOND_GEN", "EXTERNAL" ], + "enumDeprecated": [ + false, + true, + false, + false + ], "enumDescriptions": [ "This is an unknown backend type for instance.", "V1 speckle instance.", @@ -2698,6 +2796,7 @@ "type": "string" }, "currentDiskSize": { + "deprecated": true, "description": "The current disk usage of the instance in bytes. This property has been deprecated. Use the \"cloudsql.googleapis.com/database/disk/bytes_used\" metric in Cloud Monitoring API instead. Please see [this announcement](https://groups.google.com/d/msg/google-cloud-sql-announce/I_7-F9EBhT0/BtvFtdFeAgAJ) for details.", "format": "int64", "type": "string" @@ -2748,6 +2847,45 @@ "SQLSERVER_2022_EXPRESS", "SQLSERVER_2022_WEB" ], + "enumDeprecated": [ + false, + true, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false + ], "enumDescriptions": [ "This is an unknown database version.", "The database version is MySQL 5.1.", @@ -2843,6 +2981,7 @@ "type": "array" }, "ipv6Address": { + "deprecated": true, "description": "The IPv6 address assigned to the instance. (Deprecated) This property was applicable only to First Generation instances.", "type": "string" }, @@ -2859,6 +2998,7 @@ "type": "string" }, "maxDiskSize": { + "deprecated": true, "description": "The maximum disk size of the instance in bytes.", "format": "int64", "type": "string" @@ -2938,6 +3078,16 @@ "FAILED", "ONLINE_MAINTENANCE" ], + "enumDeprecated": [ + false, + false, + false, + false, + false, + false, + false, + true + ], "enumDescriptions": [ "The state of the instance is unknown.", "The instance is running, or has been stopped by owner.", @@ -3142,6 +3292,7 @@ "type": "string" }, "copyOnly": { + "deprecated": true, "description": "Deprecated: copy_only is deprecated. Use differential_base instead", "type": "boolean" }, @@ -3330,6 +3481,45 @@ "SQLSERVER_2022_EXPRESS", "SQLSERVER_2022_WEB" ], + "enumDeprecated": [ + false, + true, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false + ], "enumDescriptions": [ "This is an unknown database version.", "The database version is MySQL 5.1.", @@ -3871,6 +4061,7 @@ "id": "LocationPreference", "properties": { "followGaeApplication": { + "deprecated": true, "description": "The App Engine application to follow, it must be in the same region as the Cloud SQL instance. WARNING: Changing this might restart the instance.", "type": "string" }, @@ -4115,6 +4306,47 @@ "REENCRYPT", "SWITCHOVER" ], + "enumDeprecated": [ + false, + false, + false, + false, + false, + false, + false, + true, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + true, + true, + true, + false, + false, + false, + false, + false, + false + ], "enumDescriptions": [ "Unknown operation type.", "Imports data into a Cloud SQL instance.", @@ -4471,6 +4703,12 @@ "NEVER", "ON_DEMAND" ], + "enumDeprecated": [ + false, + false, + false, + true + ], "enumDescriptions": [ "Unknown activation plan.", "The instance is always up and running.", @@ -4488,6 +4726,7 @@ "description": "Specifies advance machine configuration for the instance relevant only for SQL Server." }, "authorizedGaeApplications": { + "deprecated": true, "description": "The App Engine app IDs that can access this instance. (Deprecated) Applied to First Generation instances only.", "items": { "type": "string" @@ -4531,9 +4770,14 @@ "type": "string" }, "crashSafeReplicationEnabled": { + "deprecated": true, "description": "Configuration specific to read replica instances. Indicates whether database flags for crash-safe replication are enabled. This property was only applicable to First Generation instances.", "type": "boolean" }, + "dataCacheConfig": { + "$ref": "DataCacheConfig", + "description": "Configuration for data cache." + }, "dataDiskSizeGb": { "description": "The size of data disk, in GB. The data disk size minimum is 10GB.", "format": "int64", @@ -4547,6 +4791,12 @@ "PD_HDD", "OBSOLETE_LOCAL_SSD" ], + "enumDeprecated": [ + false, + false, + false, + true + ], "enumDescriptions": [ "This is an unknown data disk type.", "An SSD data disk.", @@ -4577,6 +4827,20 @@ }, "type": "array" }, + "edition": { + "description": "Optional. The edition of the instance.", + "enum": [ + "EDITION_UNSPECIFIED", + "ENTERPRISE", + "ENTERPRISE_PLUS" + ], + "enumDescriptions": [ + "The instance did not specify the edition.", + "The instance is an enterprise edition.", + "The instance is an Enterprise Plus edition." + ], + "type": "string" + }, "insightsConfig": { "$ref": "InsightsConfig", "description": "Insights configuration, for now relevant only for Postgres." @@ -4616,6 +4880,7 @@ "type": "string" }, "replicationType": { + "deprecated": true, "description": "The type of replication this instance uses. This can be either `ASYNCHRONOUS` or `SYNCHRONOUS`. (Deprecated) This property was only applicable to First Generation instances.", "enum": [ "SQL_REPLICATION_TYPE_UNSPECIFIED", @@ -4728,7 +4993,8 @@ "RISKY_BACKUP_ADMIN_PRIVILEGE", "INSUFFICIENT_GCS_PERMISSIONS", "INVALID_FILE_INFO", - "UNSUPPORTED_DATABASE_SETTINGS" + "UNSUPPORTED_DATABASE_SETTINGS", + "MYSQL_PARALLEL_IMPORT_INSUFFICIENT_PRIVILEGE" ], "enumDescriptions": [ "", @@ -4764,7 +5030,8 @@ "Additional BACKUP_ADMIN privilege is granted to the replication user which may lock source MySQL 8 instance for DDLs during initial sync.", "The Cloud Storage bucket is missing necessary permissions.", "The Cloud Storage bucket has an error in the file or contains invalid file information.", - "The source instance has unsupported database settings for migration." + "The source instance has unsupported database settings for migration.", + "The replication user is missing parallel import specific privileges. (e.g. LOCK TABLES) for MySQL." ], "type": "string" } @@ -4791,6 +5058,22 @@ }, "type": "object" }, + "SqlInstancesGetLatestRecoveryTimeResponse": { + "description": "Instance get latest recovery time response.", + "id": "SqlInstancesGetLatestRecoveryTimeResponse", + "properties": { + "kind": { + "description": "This is always `sql#getLatestRecoveryTime`.", + "type": "string" + }, + "latestRecoveryTime": { + "description": "Timestamp, identifies the latest recovery time of the source instance.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, "SqlInstancesRescheduleMaintenanceRequestBody": { "description": "Reschedule options for maintenance windows.", "id": "SqlInstancesRescheduleMaintenanceRequestBody", @@ -4942,6 +5225,7 @@ "id": "SqlScheduledMaintenance", "properties": { "canDefer": { + "deprecated": true, "type": "boolean" }, "canReschedule": { @@ -5345,6 +5629,7 @@ "type": "string" }, "nextPageToken": { + "deprecated": true, "description": "Unused.", "type": "string" } diff --git a/sqladmin/v1/sqladmin-gen.go b/sqladmin/v1/sqladmin-gen.go index 922fa040621..667c087cbd6 100644 --- a/sqladmin/v1/sqladmin-gen.go +++ b/sqladmin/v1/sqladmin-gen.go @@ -790,6 +790,11 @@ type CloneContext struct { // the source instance is cloned. PointInTime string `json:"pointInTime,omitempty"` + // PreferredZone: Optional. (Point-in-time recovery for PostgreSQL only) + // Clone to an instance in the specified zone. If no zone is specified, + // clone to the same zone as the source instance. + PreferredZone string `json:"preferredZone,omitempty"` + // ForceSendFields is a list of field names (e.g. "AllocatedIpRange") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any @@ -946,6 +951,35 @@ func (s *ConnectSettings) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// DataCacheConfig: Data cache configurations. +type DataCacheConfig struct { + // DataCacheEnabled: Whether data cache is enabled for the instance. + DataCacheEnabled bool `json:"dataCacheEnabled,omitempty"` + + // ForceSendFields is a list of field names (e.g. "DataCacheEnabled") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "DataCacheEnabled") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *DataCacheConfig) MarshalJSON() ([]byte, error) { + type NoMethod DataCacheConfig + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // Database: Represents a SQL database on the Cloud SQL instance. type Database struct { // Charset: The Cloud SQL charset value. @@ -3834,6 +3868,9 @@ type Settings struct { // Generation instances. CrashSafeReplicationEnabled bool `json:"crashSafeReplicationEnabled,omitempty"` + // DataCacheConfig: Configuration for data cache. + DataCacheConfig *DataCacheConfig `json:"dataCacheConfig,omitempty"` + // DataDiskSizeGb: The size of data disk, in GB. The data disk size // minimum is 10GB. DataDiskSizeGb int64 `json:"dataDiskSizeGb,omitempty,string"` @@ -3865,6 +3902,14 @@ type Settings struct { // DenyMaintenancePeriods: Deny maintenance periods DenyMaintenancePeriods []*DenyMaintenancePeriod `json:"denyMaintenancePeriods,omitempty"` + // Edition: Optional. The edition of the instance. + // + // Possible values: + // "EDITION_UNSPECIFIED" - The instance did not specify the edition. + // "ENTERPRISE" - The instance is an enterprise edition. + // "ENTERPRISE_PLUS" - The instance is an Enterprise Plus edition. + Edition string `json:"edition,omitempty"` + // InsightsConfig: Insights configuration, for now relevant only for // Postgres. InsightsConfig *InsightsConfig `json:"insightsConfig,omitempty"` @@ -4081,6 +4126,9 @@ type SqlExternalSyncSettingError struct { // file or contains invalid file information. // "UNSUPPORTED_DATABASE_SETTINGS" - The source instance has // unsupported database settings for migration. + // "MYSQL_PARALLEL_IMPORT_INSUFFICIENT_PRIVILEGE" - The replication + // user is missing parallel import specific privileges. (e.g. LOCK + // TABLES) for MySQL. Type string `json:"type,omitempty"` // ForceSendFields is a list of field names (e.g. "Detail") to @@ -4146,6 +4194,43 @@ func (s *SqlInstancesGetDiskShrinkConfigResponse) MarshalJSON() ([]byte, error) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// SqlInstancesGetLatestRecoveryTimeResponse: Instance get latest +// recovery time response. +type SqlInstancesGetLatestRecoveryTimeResponse struct { + // Kind: This is always `sql#getLatestRecoveryTime`. + Kind string `json:"kind,omitempty"` + + // LatestRecoveryTime: Timestamp, identifies the latest recovery time of + // the source instance. + LatestRecoveryTime string `json:"latestRecoveryTime,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "Kind") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Kind") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *SqlInstancesGetLatestRecoveryTimeResponse) MarshalJSON() ([]byte, error) { + type NoMethod SqlInstancesGetLatestRecoveryTimeResponse + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // SqlInstancesRescheduleMaintenanceRequestBody: Reschedule options for // maintenance windows. type SqlInstancesRescheduleMaintenanceRequestBody struct { @@ -11260,6 +11345,166 @@ func (c *ProjectsInstancesGetDiskShrinkConfigCall) Do(opts ...googleapi.CallOpti } +// method id "sql.projects.instances.getLatestRecoveryTime": + +type ProjectsInstancesGetLatestRecoveryTimeCall struct { + s *Service + project string + instance string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// GetLatestRecoveryTime: Get Latest Recovery Time for a given instance. +// +// - instance: Cloud SQL instance ID. This does not include the project +// ID. +// - project: Project ID of the project that contains the instance. +func (r *ProjectsInstancesService) GetLatestRecoveryTime(project string, instance string) *ProjectsInstancesGetLatestRecoveryTimeCall { + c := &ProjectsInstancesGetLatestRecoveryTimeCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.project = project + c.instance = instance + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsInstancesGetLatestRecoveryTimeCall) Fields(s ...googleapi.Field) *ProjectsInstancesGetLatestRecoveryTimeCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +func (c *ProjectsInstancesGetLatestRecoveryTimeCall) IfNoneMatch(entityTag string) *ProjectsInstancesGetLatestRecoveryTimeCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsInstancesGetLatestRecoveryTimeCall) Context(ctx context.Context) *ProjectsInstancesGetLatestRecoveryTimeCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsInstancesGetLatestRecoveryTimeCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsInstancesGetLatestRecoveryTimeCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/projects/{project}/instances/{instance}/getLatestRecoveryTime") + 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{ + "project": c.project, + "instance": c.instance, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "sql.projects.instances.getLatestRecoveryTime" call. +// Exactly one of *SqlInstancesGetLatestRecoveryTimeResponse or error +// will be non-nil. Any non-2xx status code is an error. Response +// headers are in either +// *SqlInstancesGetLatestRecoveryTimeResponse.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 *ProjectsInstancesGetLatestRecoveryTimeCall) Do(opts ...googleapi.CallOption) (*SqlInstancesGetLatestRecoveryTimeResponse, 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 := &SqlInstancesGetLatestRecoveryTimeResponse{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := gensupport.DecodeResponse(target, res); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Get Latest Recovery Time for a given instance.", + // "flatPath": "v1/projects/{project}/instances/{instance}/getLatestRecoveryTime", + // "httpMethod": "GET", + // "id": "sql.projects.instances.getLatestRecoveryTime", + // "parameterOrder": [ + // "project", + // "instance" + // ], + // "parameters": { + // "instance": { + // "description": "Cloud SQL instance ID. This does not include the project ID.", + // "location": "path", + // "required": true, + // "type": "string" + // }, + // "project": { + // "description": "Project ID of the project that contains the instance.", + // "location": "path", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1/projects/{project}/instances/{instance}/getLatestRecoveryTime", + // "response": { + // "$ref": "SqlInstancesGetLatestRecoveryTimeResponse" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/sqlservice.admin" + // ] + // } + +} + // method id "sql.projects.instances.performDiskShrink": type ProjectsInstancesPerformDiskShrinkCall struct { diff --git a/sqladmin/v1beta4/sqladmin-api.json b/sqladmin/v1beta4/sqladmin-api.json index 2b0cd6721ca..7885a612e47 100644 --- a/sqladmin/v1beta4/sqladmin-api.json +++ b/sqladmin/v1beta4/sqladmin-api.json @@ -1495,6 +1495,38 @@ "https://www.googleapis.com/auth/sqlservice.admin" ] }, + "getLatestRecoveryTime": { + "description": "Get Latest Recovery Time for a given instance.", + "flatPath": "sql/v1beta4/projects/{project}/instances/{instance}/getLatestRecoveryTime", + "httpMethod": "GET", + "id": "sql.projects.instances.getLatestRecoveryTime", + "parameterOrder": [ + "project", + "instance" + ], + "parameters": { + "instance": { + "description": "Cloud SQL instance ID. This does not include the project ID.", + "location": "path", + "required": true, + "type": "string" + }, + "project": { + "description": "Project ID of the project that contains the instance.", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "sql/v1beta4/projects/{project}/instances/{instance}/getLatestRecoveryTime", + "response": { + "$ref": "SqlInstancesGetLatestRecoveryTimeResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/sqlservice.admin" + ] + }, "performDiskShrink": { "description": "Perform Disk Shrink on primary instance.", "flatPath": "sql/v1beta4/projects/{project}/instances/{instance}/performDiskShrink", @@ -2090,7 +2122,7 @@ } } }, - "revision": "20230607", + "revision": "20230627", "rootUrl": "https://sqladmin.googleapis.com/", "schemas": { "AclEntry": { @@ -2470,6 +2502,10 @@ "description": "Timestamp, if specified, identifies the time to which the source instance is cloned.", "format": "google-datetime", "type": "string" + }, + "preferredZone": { + "description": "Optional. (Point-in-time recovery for PostgreSQL only) Clone to an instance in the specified zone. If no zone is specified, clone to the same zone as the source instance.", + "type": "string" } }, "type": "object" @@ -2486,6 +2522,12 @@ "SECOND_GEN", "EXTERNAL" ], + "enumDeprecated": [ + false, + true, + false, + false + ], "enumDescriptions": [ "This is an unknown backend type for instance.", "V1 speckle instance.", @@ -2535,6 +2577,45 @@ "SQLSERVER_2022_EXPRESS", "SQLSERVER_2022_WEB" ], + "enumDeprecated": [ + false, + true, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false + ], "enumDescriptions": [ "This is an unknown database version.", "The database version is MySQL 5.1.", @@ -2602,6 +2683,17 @@ }, "type": "object" }, + "DataCacheConfig": { + "description": "Data cache configurations.", + "id": "DataCacheConfig", + "properties": { + "dataCacheEnabled": { + "description": "Whether data cache is enabled for the instance.", + "type": "boolean" + } + }, + "type": "object" + }, "Database": { "description": "Represents a SQL database on the Cloud SQL instance.", "id": "Database", @@ -2679,6 +2771,12 @@ "SECOND_GEN", "EXTERNAL" ], + "enumDeprecated": [ + false, + true, + false, + false + ], "enumDescriptions": [ "This is an unknown backend type for instance.", "V1 speckle instance.", @@ -2698,6 +2796,7 @@ "type": "string" }, "currentDiskSize": { + "deprecated": true, "description": "The current disk usage of the instance in bytes. This property has been deprecated. Use the \"cloudsql.googleapis.com/database/disk/bytes_used\" metric in Cloud Monitoring API instead. Please see [this announcement](https://groups.google.com/d/msg/google-cloud-sql-announce/I_7-F9EBhT0/BtvFtdFeAgAJ) for details.", "format": "int64", "type": "string" @@ -2748,6 +2847,45 @@ "SQLSERVER_2022_EXPRESS", "SQLSERVER_2022_WEB" ], + "enumDeprecated": [ + false, + true, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false + ], "enumDescriptions": [ "This is an unknown database version.", "The database version is MySQL 5.1.", @@ -2843,6 +2981,7 @@ "type": "array" }, "ipv6Address": { + "deprecated": true, "description": "The IPv6 address assigned to the instance. (Deprecated) This property was applicable only to First Generation instances.", "type": "string" }, @@ -2859,6 +2998,7 @@ "type": "string" }, "maxDiskSize": { + "deprecated": true, "description": "The maximum disk size of the instance in bytes.", "format": "int64", "type": "string" @@ -2938,6 +3078,16 @@ "FAILED", "ONLINE_MAINTENANCE" ], + "enumDeprecated": [ + false, + false, + false, + false, + false, + false, + false, + true + ], "enumDescriptions": [ "The state of the instance is unknown.", "The instance is running, or has been stopped by owner.", @@ -3142,6 +3292,7 @@ "type": "string" }, "copyOnly": { + "deprecated": true, "description": "Deprecated: copy_only is deprecated. Use differential_base instead", "type": "boolean" }, @@ -3330,6 +3481,45 @@ "SQLSERVER_2022_EXPRESS", "SQLSERVER_2022_WEB" ], + "enumDeprecated": [ + false, + true, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false + ], "enumDescriptions": [ "This is an unknown database version.", "The database version is MySQL 5.1.", @@ -3871,6 +4061,7 @@ "id": "LocationPreference", "properties": { "followGaeApplication": { + "deprecated": true, "description": "The App Engine application to follow, it must be in the same region as the Cloud SQL instance. WARNING: Changing this might restart the instance.", "type": "string" }, @@ -4115,6 +4306,47 @@ "REENCRYPT", "SWITCHOVER" ], + "enumDeprecated": [ + false, + false, + false, + false, + false, + false, + false, + true, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + true, + true, + true, + false, + false, + false, + false, + false, + false + ], "enumDescriptions": [ "Unknown operation type.", "Imports data into a Cloud SQL instance.", @@ -4471,6 +4703,12 @@ "NEVER", "ON_DEMAND" ], + "enumDeprecated": [ + false, + false, + false, + true + ], "enumDescriptions": [ "Unknown activation plan.", "The instance is always up and running.", @@ -4488,6 +4726,7 @@ "description": "Specifies advance machine configuration for the instance relevant only for SQL Server." }, "authorizedGaeApplications": { + "deprecated": true, "description": "The App Engine app IDs that can access this instance. (Deprecated) Applied to First Generation instances only.", "items": { "type": "string" @@ -4531,9 +4770,14 @@ "type": "string" }, "crashSafeReplicationEnabled": { + "deprecated": true, "description": "Configuration specific to read replica instances. Indicates whether database flags for crash-safe replication are enabled. This property was only applicable to First Generation instances.", "type": "boolean" }, + "dataCacheConfig": { + "$ref": "DataCacheConfig", + "description": "Configuration for data cache." + }, "dataDiskSizeGb": { "description": "The size of data disk, in GB. The data disk size minimum is 10GB.", "format": "int64", @@ -4547,6 +4791,12 @@ "PD_HDD", "OBSOLETE_LOCAL_SSD" ], + "enumDeprecated": [ + false, + false, + false, + true + ], "enumDescriptions": [ "This is an unknown data disk type.", "An SSD data disk.", @@ -4577,6 +4827,20 @@ }, "type": "array" }, + "edition": { + "description": "Optional. The edition of the instance.", + "enum": [ + "EDITION_UNSPECIFIED", + "ENTERPRISE", + "ENTERPRISE_PLUS" + ], + "enumDescriptions": [ + "The instance did not specify the edition.", + "The instance is an enterprise edition.", + "The instance is an Enterprise Plus edition." + ], + "type": "string" + }, "insightsConfig": { "$ref": "InsightsConfig", "description": "Insights configuration, for now relevant only for Postgres." @@ -4616,6 +4880,7 @@ "type": "string" }, "replicationType": { + "deprecated": true, "description": "The type of replication this instance uses. This can be either `ASYNCHRONOUS` or `SYNCHRONOUS`. (Deprecated) This property was only applicable to First Generation instances.", "enum": [ "SQL_REPLICATION_TYPE_UNSPECIFIED", @@ -4728,7 +4993,8 @@ "RISKY_BACKUP_ADMIN_PRIVILEGE", "INSUFFICIENT_GCS_PERMISSIONS", "INVALID_FILE_INFO", - "UNSUPPORTED_DATABASE_SETTINGS" + "UNSUPPORTED_DATABASE_SETTINGS", + "MYSQL_PARALLEL_IMPORT_INSUFFICIENT_PRIVILEGE" ], "enumDescriptions": [ "", @@ -4764,7 +5030,8 @@ "Additional BACKUP_ADMIN privilege is granted to the replication user which may lock source MySQL 8 instance for DDLs during initial sync.", "The Cloud Storage bucket is missing necessary permissions.", "The Cloud Storage bucket has an error in the file or contains invalid file information.", - "The source instance has unsupported database settings for migration." + "The source instance has unsupported database settings for migration.", + "The replication user is missing parallel import specific privileges. (e.g. LOCK TABLES) for MySQL." ], "type": "string" } @@ -4791,6 +5058,22 @@ }, "type": "object" }, + "SqlInstancesGetLatestRecoveryTimeResponse": { + "description": "Instance get latest recovery time response.", + "id": "SqlInstancesGetLatestRecoveryTimeResponse", + "properties": { + "kind": { + "description": "This is always `sql#getLatestRecoveryTime`.", + "type": "string" + }, + "latestRecoveryTime": { + "description": "Timestamp, identifies the latest recovery time of the source instance.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, "SqlInstancesRescheduleMaintenanceRequestBody": { "description": "Reschedule options for maintenance windows.", "id": "SqlInstancesRescheduleMaintenanceRequestBody", @@ -4940,6 +5223,7 @@ "id": "SqlScheduledMaintenance", "properties": { "canDefer": { + "deprecated": true, "type": "boolean" }, "canReschedule": { @@ -5343,6 +5627,7 @@ "type": "string" }, "nextPageToken": { + "deprecated": true, "description": "Unused.", "type": "string" } diff --git a/sqladmin/v1beta4/sqladmin-gen.go b/sqladmin/v1beta4/sqladmin-gen.go index 350e560ec78..b66ec18cdad 100644 --- a/sqladmin/v1beta4/sqladmin-gen.go +++ b/sqladmin/v1beta4/sqladmin-gen.go @@ -790,6 +790,11 @@ type CloneContext struct { // the source instance is cloned. PointInTime string `json:"pointInTime,omitempty"` + // PreferredZone: Optional. (Point-in-time recovery for PostgreSQL only) + // Clone to an instance in the specified zone. If no zone is specified, + // clone to the same zone as the source instance. + PreferredZone string `json:"preferredZone,omitempty"` + // ForceSendFields is a list of field names (e.g. "AllocatedIpRange") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any @@ -945,6 +950,35 @@ func (s *ConnectSettings) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// DataCacheConfig: Data cache configurations. +type DataCacheConfig struct { + // DataCacheEnabled: Whether data cache is enabled for the instance. + DataCacheEnabled bool `json:"dataCacheEnabled,omitempty"` + + // ForceSendFields is a list of field names (e.g. "DataCacheEnabled") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "DataCacheEnabled") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *DataCacheConfig) MarshalJSON() ([]byte, error) { + type NoMethod DataCacheConfig + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // Database: Represents a SQL database on the Cloud SQL instance. type Database struct { // Charset: The Cloud SQL charset value. @@ -3833,6 +3867,9 @@ type Settings struct { // Generation instances. CrashSafeReplicationEnabled bool `json:"crashSafeReplicationEnabled,omitempty"` + // DataCacheConfig: Configuration for data cache. + DataCacheConfig *DataCacheConfig `json:"dataCacheConfig,omitempty"` + // DataDiskSizeGb: The size of data disk, in GB. The data disk size // minimum is 10GB. DataDiskSizeGb int64 `json:"dataDiskSizeGb,omitempty,string"` @@ -3864,6 +3901,14 @@ type Settings struct { // DenyMaintenancePeriods: Deny maintenance periods DenyMaintenancePeriods []*DenyMaintenancePeriod `json:"denyMaintenancePeriods,omitempty"` + // Edition: Optional. The edition of the instance. + // + // Possible values: + // "EDITION_UNSPECIFIED" - The instance did not specify the edition. + // "ENTERPRISE" - The instance is an enterprise edition. + // "ENTERPRISE_PLUS" - The instance is an Enterprise Plus edition. + Edition string `json:"edition,omitempty"` + // InsightsConfig: Insights configuration, for now relevant only for // Postgres. InsightsConfig *InsightsConfig `json:"insightsConfig,omitempty"` @@ -4080,6 +4125,9 @@ type SqlExternalSyncSettingError struct { // file or contains invalid file information. // "UNSUPPORTED_DATABASE_SETTINGS" - The source instance has // unsupported database settings for migration. + // "MYSQL_PARALLEL_IMPORT_INSUFFICIENT_PRIVILEGE" - The replication + // user is missing parallel import specific privileges. (e.g. LOCK + // TABLES) for MySQL. Type string `json:"type,omitempty"` // ForceSendFields is a list of field names (e.g. "Detail") to @@ -4145,6 +4193,43 @@ func (s *SqlInstancesGetDiskShrinkConfigResponse) MarshalJSON() ([]byte, error) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// SqlInstancesGetLatestRecoveryTimeResponse: Instance get latest +// recovery time response. +type SqlInstancesGetLatestRecoveryTimeResponse struct { + // Kind: This is always `sql#getLatestRecoveryTime`. + Kind string `json:"kind,omitempty"` + + // LatestRecoveryTime: Timestamp, identifies the latest recovery time of + // the source instance. + LatestRecoveryTime string `json:"latestRecoveryTime,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "Kind") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Kind") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *SqlInstancesGetLatestRecoveryTimeResponse) MarshalJSON() ([]byte, error) { + type NoMethod SqlInstancesGetLatestRecoveryTimeResponse + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // SqlInstancesRescheduleMaintenanceRequestBody: Reschedule options for // maintenance windows. type SqlInstancesRescheduleMaintenanceRequestBody struct { @@ -11255,6 +11340,166 @@ func (c *ProjectsInstancesGetDiskShrinkConfigCall) Do(opts ...googleapi.CallOpti } +// method id "sql.projects.instances.getLatestRecoveryTime": + +type ProjectsInstancesGetLatestRecoveryTimeCall struct { + s *Service + project string + instance string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// GetLatestRecoveryTime: Get Latest Recovery Time for a given instance. +// +// - instance: Cloud SQL instance ID. This does not include the project +// ID. +// - project: Project ID of the project that contains the instance. +func (r *ProjectsInstancesService) GetLatestRecoveryTime(project string, instance string) *ProjectsInstancesGetLatestRecoveryTimeCall { + c := &ProjectsInstancesGetLatestRecoveryTimeCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.project = project + c.instance = instance + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsInstancesGetLatestRecoveryTimeCall) Fields(s ...googleapi.Field) *ProjectsInstancesGetLatestRecoveryTimeCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +func (c *ProjectsInstancesGetLatestRecoveryTimeCall) IfNoneMatch(entityTag string) *ProjectsInstancesGetLatestRecoveryTimeCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsInstancesGetLatestRecoveryTimeCall) Context(ctx context.Context) *ProjectsInstancesGetLatestRecoveryTimeCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsInstancesGetLatestRecoveryTimeCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsInstancesGetLatestRecoveryTimeCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "sql/v1beta4/projects/{project}/instances/{instance}/getLatestRecoveryTime") + 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{ + "project": c.project, + "instance": c.instance, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "sql.projects.instances.getLatestRecoveryTime" call. +// Exactly one of *SqlInstancesGetLatestRecoveryTimeResponse or error +// will be non-nil. Any non-2xx status code is an error. Response +// headers are in either +// *SqlInstancesGetLatestRecoveryTimeResponse.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 *ProjectsInstancesGetLatestRecoveryTimeCall) Do(opts ...googleapi.CallOption) (*SqlInstancesGetLatestRecoveryTimeResponse, 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 := &SqlInstancesGetLatestRecoveryTimeResponse{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := gensupport.DecodeResponse(target, res); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Get Latest Recovery Time for a given instance.", + // "flatPath": "sql/v1beta4/projects/{project}/instances/{instance}/getLatestRecoveryTime", + // "httpMethod": "GET", + // "id": "sql.projects.instances.getLatestRecoveryTime", + // "parameterOrder": [ + // "project", + // "instance" + // ], + // "parameters": { + // "instance": { + // "description": "Cloud SQL instance ID. This does not include the project ID.", + // "location": "path", + // "required": true, + // "type": "string" + // }, + // "project": { + // "description": "Project ID of the project that contains the instance.", + // "location": "path", + // "required": true, + // "type": "string" + // } + // }, + // "path": "sql/v1beta4/projects/{project}/instances/{instance}/getLatestRecoveryTime", + // "response": { + // "$ref": "SqlInstancesGetLatestRecoveryTimeResponse" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/sqlservice.admin" + // ] + // } + +} + // method id "sql.projects.instances.performDiskShrink": type ProjectsInstancesPerformDiskShrinkCall struct { diff --git a/workloadmanager/v1/workloadmanager-api.json b/workloadmanager/v1/workloadmanager-api.json index ecf11875356..c2a4af664ed 100644 --- a/workloadmanager/v1/workloadmanager-api.json +++ b/workloadmanager/v1/workloadmanager-api.json @@ -707,7 +707,7 @@ } } }, - "revision": "20230605", + "revision": "20230621", "rootUrl": "https://workloadmanager.googleapis.com/", "schemas": { "CancelOperationRequest": { @@ -1243,6 +1243,7 @@ "id": "ResourceStatus", "properties": { "rulesNewerVersions": { + "deprecated": true, "description": "Historical: Used before 2023-05-22 the new version of rule id if exists", "items": { "type": "string" @@ -1536,16 +1537,30 @@ }, "type": "object" }, - "SqlserverValidationValidationDetail": { - "description": "Message describing the Sqlserver validation metrics.", - "id": "SqlserverValidationValidationDetail", + "SqlserverValidationDetails": { + "description": "Message containing collected data names and values.", + "id": "SqlserverValidationDetails", "properties": { "fields": { "additionalProperties": { "type": "string" }, - "description": " pairs of metrics data: column name \u0026 column value.", + "description": "Required. Collected data is in format.", "type": "object" + } + }, + "type": "object" + }, + "SqlserverValidationValidationDetail": { + "description": "Message describing the Sqlserver validation metrics.", + "id": "SqlserverValidationValidationDetail", + "properties": { + "details": { + "description": "Required. Details wraps map that represents collected data names and values.", + "items": { + "$ref": "SqlserverValidationDetails" + }, + "type": "array" }, "type": { "description": "The Sqlserver system that the validation data is from.", diff --git a/workloadmanager/v1/workloadmanager-gen.go b/workloadmanager/v1/workloadmanager-gen.go index a5cfcd0ebd0..f4357649834 100644 --- a/workloadmanager/v1/workloadmanager-gen.go +++ b/workloadmanager/v1/workloadmanager-gen.go @@ -1460,11 +1460,41 @@ func (s *SqlserverValidation) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// SqlserverValidationDetails: Message containing collected data names +// and values. +type SqlserverValidationDetails struct { + // Fields: Required. Collected data is in format. + Fields map[string]string `json:"fields,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Fields") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Fields") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *SqlserverValidationDetails) MarshalJSON() ([]byte, error) { + type NoMethod SqlserverValidationDetails + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // SqlserverValidationValidationDetail: Message describing the Sqlserver // validation metrics. type SqlserverValidationValidationDetail struct { - // Fields: pairs of metrics data: column name & column value. - Fields map[string]string `json:"fields,omitempty"` + // Details: Required. Details wraps map that represents collected data + // names and values. + Details []*SqlserverValidationDetails `json:"details,omitempty"` // Type: The Sqlserver system that the validation data is from. // @@ -1480,7 +1510,7 @@ type SqlserverValidationValidationDetail struct { // "DB_MAX_SERVER_MEMORY" - The MAX_SERVER_MEMORY table Type string `json:"type,omitempty"` - // ForceSendFields is a list of field names (e.g. "Fields") to + // ForceSendFields is a list of field names (e.g. "Details") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be @@ -1488,8 +1518,8 @@ type SqlserverValidationValidationDetail struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Fields") to include in API - // requests with the JSON null value. By default, fields with empty + // NullFields is a list of field names (e.g. "Details") to include in + // API requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value.