diff --git a/alertcenter/v1beta1/alertcenter-api.json b/alertcenter/v1beta1/alertcenter-api.json index 92a3be1bcc2..227bc9db25a 100644 --- a/alertcenter/v1beta1/alertcenter-api.json +++ b/alertcenter/v1beta1/alertcenter-api.json @@ -423,7 +423,7 @@ } } }, - "revision": "20220307", + "revision": "20220321", "rootUrl": "https://alertcenter.googleapis.com/", "schemas": { "AccountSuspensionDetails": { @@ -1086,7 +1086,7 @@ "type": "object" }, "Empty": { - "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } The JSON representation for `Empty` is empty JSON object `{}`.", + "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }", "id": "Empty", "properties": {}, "type": "object" diff --git a/alertcenter/v1beta1/alertcenter-gen.go b/alertcenter/v1beta1/alertcenter-gen.go index 55096c7b740..1414c39444f 100644 --- a/alertcenter/v1beta1/alertcenter-gen.go +++ b/alertcenter/v1beta1/alertcenter-gen.go @@ -1208,8 +1208,7 @@ func (s *DomainWideTakeoutInitiated) MarshalJSON() ([]byte, error) { // duplicated empty messages in your APIs. A typical example is to use // it as the request or the response type of an API method. For // instance: service Foo { rpc Bar(google.protobuf.Empty) returns -// (google.protobuf.Empty); } The JSON representation for `Empty` is -// empty JSON object `{}`. +// (google.protobuf.Empty); } type Empty struct { // ServerResponse contains the HTTP response code and headers from the // server. diff --git a/androidpublisher/v3/androidpublisher-api.json b/androidpublisher/v3/androidpublisher-api.json index 7e649f95fbf..78fcdeb325e 100644 --- a/androidpublisher/v3/androidpublisher-api.json +++ b/androidpublisher/v3/androidpublisher-api.json @@ -117,6 +117,11 @@ "packageName" ], "parameters": { + "allowUnknownDevices": { + "description": "Whether the service should accept device IDs that are unknown to Play's device catalog.", + "location": "query", + "type": "boolean" + }, "packageName": { "description": "Package name of the app.", "location": "path", @@ -3142,7 +3147,7 @@ } } }, - "revision": "20220327", + "revision": "20220329", "rootUrl": "https://androidpublisher.googleapis.com/", "schemas": { "Apk": { diff --git a/androidpublisher/v3/androidpublisher-gen.go b/androidpublisher/v3/androidpublisher-gen.go index 2d14bfd320a..7eb67986518 100644 --- a/androidpublisher/v3/androidpublisher-gen.go +++ b/androidpublisher/v3/androidpublisher-gen.go @@ -4177,6 +4177,14 @@ func (r *ApplicationsDeviceTierConfigsService) Create(packageName string, device return c } +// AllowUnknownDevices sets the optional parameter +// "allowUnknownDevices": Whether the service should accept device IDs +// that are unknown to Play's device catalog. +func (c *ApplicationsDeviceTierConfigsCreateCall) AllowUnknownDevices(allowUnknownDevices bool) *ApplicationsDeviceTierConfigsCreateCall { + c.urlParams_.Set("allowUnknownDevices", fmt.Sprint(allowUnknownDevices)) + return c +} + // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse // for more information. @@ -4276,6 +4284,11 @@ func (c *ApplicationsDeviceTierConfigsCreateCall) Do(opts ...googleapi.CallOptio // "packageName" // ], // "parameters": { + // "allowUnknownDevices": { + // "description": "Whether the service should accept device IDs that are unknown to Play's device catalog.", + // "location": "query", + // "type": "boolean" + // }, // "packageName": { // "description": "Package name of the app.", // "location": "path", diff --git a/apigateway/v1/apigateway-api.json b/apigateway/v1/apigateway-api.json index 4a100753e04..6beccd6708e 100644 --- a/apigateway/v1/apigateway-api.json +++ b/apigateway/v1/apigateway-api.json @@ -1083,7 +1083,7 @@ } } }, - "revision": "20211110", + "revision": "20220323", "rootUrl": "https://apigateway.googleapis.com/", "schemas": { "ApigatewayApi": { @@ -1793,7 +1793,7 @@ "type": "object" }, "Empty": { - "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } The JSON representation for `Empty` is empty JSON object `{}`.", + "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }", "id": "Empty", "properties": {}, "type": "object" diff --git a/apigateway/v1/apigateway-gen.go b/apigateway/v1/apigateway-gen.go index 1d535099d50..258ad611ac9 100644 --- a/apigateway/v1/apigateway-gen.go +++ b/apigateway/v1/apigateway-gen.go @@ -1428,8 +1428,7 @@ func (s *ApigatewayTestIamPermissionsResponse) MarshalJSON() ([]byte, error) { // duplicated empty messages in your APIs. A typical example is to use // it as the request or the response type of an API method. For // instance: service Foo { rpc Bar(google.protobuf.Empty) returns -// (google.protobuf.Empty); } The JSON representation for `Empty` is -// empty JSON object `{}`. +// (google.protobuf.Empty); } type Empty struct { // ServerResponse contains the HTTP response code and headers from the // server. diff --git a/composer/v1/composer-api.json b/composer/v1/composer-api.json index 505ac4270ce..37927b6bf33 100644 --- a/composer/v1/composer-api.json +++ b/composer/v1/composer-api.json @@ -406,7 +406,7 @@ } } }, - "revision": "20220307", + "revision": "20220326", "rootUrl": "https://composer.googleapis.com/", "schemas": { "AllowedIpRange": { @@ -501,7 +501,7 @@ "type": "object" }, "Empty": { - "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } The JSON representation for `Empty` is empty JSON object `{}`.", + "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }", "id": "Empty", "properties": {}, "type": "object" @@ -790,7 +790,7 @@ "id": "NodeConfig", "properties": { "diskSizeGb": { - "description": "Optional. The disk size in GB used for node VMs. Minimum size is 20GB. If unspecified, defaults to 100GB. Cannot be updated. This field is supported for Cloud Composer environments in versions composer-1.*.*-airflow-*.*.*.", + "description": "Optional. The disk size in GB used for node VMs. Minimum size is 30GB. If unspecified, defaults to 100GB. Cannot be updated. This field is supported for Cloud Composer environments in versions composer-1.*.*-airflow-*.*.*.", "format": "int32", "type": "integer" }, @@ -1044,7 +1044,7 @@ "type": "object" }, "imageVersion": { - "description": "The version of the software running in the environment. This encapsulates both the version of Cloud Composer functionality and the version of Apache Airflow. It must match the regular expression `composer-([0-9]+(\\.[0-9]+\\.[0-9]+(-preview\\.[0-9]+)?)?|latest)-airflow-([0-9]+\\.[0-9]+(\\.[0-9]+)?)`. When used as input, the server also checks if the provided version is supported and denies the request for an unsupported version. The Cloud Composer portion of the image version is a full [semantic version](https://semver.org), or an alias in the form of major version number or `latest`. When an alias is provided, the server replaces it with the current Cloud Composer version that satisfies the alias. The Apache Airflow portion of the image version is a full semantic version that points to one of the supported Apache Airflow versions, or an alias in the form of only major and minor versions specified. When an alias is provided, the server replaces it with the latest Apache Airflow version that satisfies the alias and is supported in the given Cloud Composer version. In all cases, the resolved image version is stored in the same field. See also [version list](/composer/docs/concepts/versioning/composer-versions) and [versioning overview](/composer/docs/concepts/versioning/composer-versioning-overview).", + "description": "The version of the software running in the environment. This encapsulates both the version of Cloud Composer functionality and the version of Apache Airflow. It must match the regular expression `composer-([0-9]+(\\.[0-9]+\\.[0-9]+(-preview\\.[0-9]+)?)?|latest)-airflow-([0-9]+(\\.[0-9]+(\\.[0-9]+)?)?)`. When used as input, the server also checks if the provided version is supported and denies the request for an unsupported version. The Cloud Composer portion of the image version is a full [semantic version](https://semver.org), or an alias in the form of major version number or `latest`. When an alias is provided, the server replaces it with the current Cloud Composer version that satisfies the alias. The Apache Airflow portion of the image version is a full semantic version that points to one of the supported Apache Airflow versions, or an alias in the form of only major or major.minor versions specified. When an alias is provided, the server replaces it with the latest Apache Airflow version that satisfies the alias and is supported in the given Cloud Composer version. In all cases, the resolved image version is stored in the same field. See also [version list](/composer/docs/concepts/versioning/composer-versions) and [versioning overview](/composer/docs/concepts/versioning/composer-versioning-overview).", "type": "string" }, "pypiPackages": { diff --git a/composer/v1/composer-gen.go b/composer/v1/composer-gen.go index e39b24a6745..a9d715649d9 100644 --- a/composer/v1/composer-gen.go +++ b/composer/v1/composer-gen.go @@ -367,8 +367,7 @@ func (s *Date) MarshalJSON() ([]byte, error) { // duplicated empty messages in your APIs. A typical example is to use // it as the request or the response type of an API method. For // instance: service Foo { rpc Bar(google.protobuf.Empty) returns -// (google.protobuf.Empty); } The JSON representation for `Empty` is -// empty JSON object `{}`. +// (google.protobuf.Empty); } type Empty struct { // ServerResponse contains the HTTP response code and headers from the // server. @@ -868,7 +867,7 @@ func (s *MaintenanceWindow) MarshalJSON() ([]byte, error) { // nodes running the Apache Airflow software. type NodeConfig struct { // DiskSizeGb: Optional. The disk size in GB used for node VMs. Minimum - // size is 20GB. If unspecified, defaults to 100GB. Cannot be updated. + // size is 30GB. If unspecified, defaults to 100GB. Cannot be updated. // This field is supported for Cloud Composer environments in versions // composer-1.*.*-airflow-*.*.*. DiskSizeGb int64 `json:"diskSizeGb,omitempty"` @@ -1319,17 +1318,17 @@ type SoftwareConfig struct { // and the version of Apache Airflow. It must match the regular // expression // `composer-([0-9]+(\.[0-9]+\.[0-9]+(-preview\.[0-9]+)?)?|latest)-airflo - // w-([0-9]+\.[0-9]+(\.[0-9]+)?)`. When used as input, the server also - // checks if the provided version is supported and denies the request - // for an unsupported version. The Cloud Composer portion of the image - // version is a full semantic version (https://semver.org), or an alias - // in the form of major version number or `latest`. When an alias is - // provided, the server replaces it with the current Cloud Composer + // w-([0-9]+(\.[0-9]+(\.[0-9]+)?)?)`. When used as input, the server + // also checks if the provided version is supported and denies the + // request for an unsupported version. The Cloud Composer portion of the + // image version is a full semantic version (https://semver.org), or an + // alias in the form of major version number or `latest`. When an alias + // is provided, the server replaces it with the current Cloud Composer // version that satisfies the alias. The Apache Airflow portion of the // image version is a full semantic version that points to one of the // supported Apache Airflow versions, or an alias in the form of only - // major and minor versions specified. When an alias is provided, the - // server replaces it with the latest Apache Airflow version that + // major or major.minor versions specified. When an alias is provided, + // the server replaces it with the latest Apache Airflow version that // satisfies the alias and is supported in the given Cloud Composer // version. In all cases, the resolved image version is stored in the // same field. See also version list diff --git a/composer/v1beta1/composer-api.json b/composer/v1beta1/composer-api.json index a34fa0ddd17..08c3a5c4005 100644 --- a/composer/v1beta1/composer-api.json +++ b/composer/v1beta1/composer-api.json @@ -253,6 +253,34 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, + "loadSnapshot": { + "description": "Loads a snapshot of a Cloud Composer environment. As a result of this operation, a snapshot of environment's specified in LoadSnapshotRequest is loaded into the environment.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/environments/{environmentsId}:loadSnapshot", + "httpMethod": "POST", + "id": "composer.projects.locations.environments.loadSnapshot", + "parameterOrder": [ + "environment" + ], + "parameters": { + "environment": { + "description": "The resource name of the target environment in the form: \"projects/{projectId}/locations/{locationId}/environments/{environmentId}\"", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/environments/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+environment}:loadSnapshot", + "request": { + "$ref": "LoadSnapshotRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "patch": { "description": "Update an environment.", "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/environments/{environmentsId}", @@ -314,6 +342,34 @@ "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] + }, + "saveSnapshot": { + "description": "Creates a snapshots of a Cloud Composer environment. As a result of this operation, snapshot of environment's state is stored in a location specified in the SaveSnapshotRequest.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/environments/{environmentsId}:saveSnapshot", + "httpMethod": "POST", + "id": "composer.projects.locations.environments.saveSnapshot", + "parameterOrder": [ + "environment" + ], + "parameters": { + "environment": { + "description": "The resource name of the source environment in the form: \"projects/{projectId}/locations/{locationId}/environments/{environmentId}\"", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/environments/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+environment}:saveSnapshot", + "request": { + "$ref": "SaveSnapshotRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] } } }, @@ -462,7 +518,7 @@ } } }, - "revision": "20220307", + "revision": "20220326", "rootUrl": "https://composer.googleapis.com/", "schemas": { "AllowedIpRange": { @@ -485,7 +541,7 @@ "id": "CheckUpgradeRequest", "properties": { "imageVersion": { - "description": "The version of the software running in the environment. This encapsulates both the version of Cloud Composer functionality and the version of Apache Airflow. It must match the regular expression `composer-([0-9]+(\\.[0-9]+\\.[0-9]+(-preview\\.[0-9]+)?)?|latest)-airflow-([0-9]+\\.[0-9]+(\\.[0-9]+)?)`. When used as input, the server also checks if the provided version is supported and denies the request for an unsupported version. The Cloud Composer portion of the image version is a full [semantic version](https://semver.org), or an alias in the form of major version number or `latest`. When an alias is provided, the server replaces it with the current Cloud Composer version that satisfies the alias. The Apache Airflow portion of the image version is a full semantic version that points to one of the supported Apache Airflow versions, or an alias in the form of only major and minor versions specified. When an alias is provided, the server replaces it with the latest Apache Airflow version that satisfies the alias and is supported in the given Cloud Composer version. In all cases, the resolved image version is stored in the same field. See also [version list](/composer/docs/concepts/versioning/composer-versions) and [versioning overview](/composer/docs/concepts/versioning/composer-versioning-overview).", + "description": "The version of the software running in the environment. This encapsulates both the version of Cloud Composer functionality and the version of Apache Airflow. It must match the regular expression `composer-([0-9]+(\\.[0-9]+\\.[0-9]+(-preview\\.[0-9]+)?)?|latest)-airflow-([0-9]+(\\.[0-9]+(\\.[0-9]+)?)?)`. When used as input, the server also checks if the provided version is supported and denies the request for an unsupported version. The Cloud Composer portion of the image version is a full [semantic version](https://semver.org), or an alias in the form of major version number or `latest`. When an alias is provided, the server replaces it with the current Cloud Composer version that satisfies the alias. The Apache Airflow portion of the image version is a full semantic version that points to one of the supported Apache Airflow versions, or an alias in the form of only major or major.minor versions specified. When an alias is provided, the server replaces it with the latest Apache Airflow version that satisfies the alias and is supported in the given Cloud Composer version. In all cases, the resolved image version is stored in the same field. See also [version list](/composer/docs/concepts/versioning/composer-versions) and [versioning overview](/composer/docs/concepts/versioning/composer-versioning-overview).", "type": "string" } }, @@ -583,7 +639,7 @@ "type": "object" }, "Empty": { - "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } The JSON representation for `Empty` is empty JSON object `{}`.", + "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }", "id": "Empty", "properties": {}, "type": "object" @@ -856,6 +912,21 @@ }, "type": "object" }, + "LoadSnapshotRequest": { + "description": "Request to load a snapshot into a Cloud Composer environment.", + "id": "LoadSnapshotRequest", + "properties": { + "skipPypiPackagesInstallation": { + "description": "Whether or not to skip installing Pypi packages when loading the environment's state.", + "type": "boolean" + }, + "snapshotPath": { + "description": "A Cloud Storage path to a snapshot to load, e.g.: \"gs://my-bucket/snapshots/project_location_environment_timestamp\".", + "type": "string" + } + }, + "type": "object" + }, "LoadSnapshotResponse": { "description": "Response to LoadSnapshotRequest.", "id": "LoadSnapshotResponse", @@ -906,7 +977,7 @@ "id": "NodeConfig", "properties": { "diskSizeGb": { - "description": "Optional. The disk size in GB used for node VMs. Minimum size is 20GB. If unspecified, defaults to 100GB. Cannot be updated. This field is supported for Cloud Composer environments in versions composer-1.*.*-airflow-*.*.*.", + "description": "Optional. The disk size in GB used for node VMs. Minimum size is 30GB. If unspecified, defaults to 100GB. Cannot be updated. This field is supported for Cloud Composer environments in versions composer-1.*.*-airflow-*.*.*.", "format": "int32", "type": "integer" }, @@ -1131,6 +1202,17 @@ "properties": {}, "type": "object" }, + "SaveSnapshotRequest": { + "description": "Request to create a snapshot of a Cloud Composer environment.", + "id": "SaveSnapshotRequest", + "properties": { + "snapshotLocation": { + "description": "Location in a Cloud Storage where the snapshot is going to be stored, e.g.: \"gs://my-bucket/snapshots\".", + "type": "string" + } + }, + "type": "object" + }, "SaveSnapshotResponse": { "description": "Response to SaveSnapshotRequest.", "id": "SaveSnapshotResponse", @@ -1188,7 +1270,7 @@ "type": "object" }, "imageVersion": { - "description": "The version of the software running in the environment. This encapsulates both the version of Cloud Composer functionality and the version of Apache Airflow. It must match the regular expression `composer-([0-9]+(\\.[0-9]+\\.[0-9]+(-preview\\.[0-9]+)?)?|latest)-airflow-([0-9]+\\.[0-9]+(\\.[0-9]+)?)`. When used as input, the server also checks if the provided version is supported and denies the request for an unsupported version. The Cloud Composer portion of the image version is a full [semantic version](https://semver.org), or an alias in the form of major version number or `latest`. When an alias is provided, the server replaces it with the current Cloud Composer version that satisfies the alias. The Apache Airflow portion of the image version is a full semantic version that points to one of the supported Apache Airflow versions, or an alias in the form of only major and minor versions specified. When an alias is provided, the server replaces it with the latest Apache Airflow version that satisfies the alias and is supported in the given Cloud Composer version. In all cases, the resolved image version is stored in the same field. See also [version list](/composer/docs/concepts/versioning/composer-versions) and [versioning overview](/composer/docs/concepts/versioning/composer-versioning-overview).", + "description": "The version of the software running in the environment. This encapsulates both the version of Cloud Composer functionality and the version of Apache Airflow. It must match the regular expression `composer-([0-9]+(\\.[0-9]+\\.[0-9]+(-preview\\.[0-9]+)?)?|latest)-airflow-([0-9]+(\\.[0-9]+(\\.[0-9]+)?)?)`. When used as input, the server also checks if the provided version is supported and denies the request for an unsupported version. The Cloud Composer portion of the image version is a full [semantic version](https://semver.org), or an alias in the form of major version number or `latest`. When an alias is provided, the server replaces it with the current Cloud Composer version that satisfies the alias. The Apache Airflow portion of the image version is a full semantic version that points to one of the supported Apache Airflow versions, or an alias in the form of only major or major.minor versions specified. When an alias is provided, the server replaces it with the latest Apache Airflow version that satisfies the alias and is supported in the given Cloud Composer version. In all cases, the resolved image version is stored in the same field. See also [version list](/composer/docs/concepts/versioning/composer-versions) and [versioning overview](/composer/docs/concepts/versioning/composer-versioning-overview).", "type": "string" }, "pypiPackages": { diff --git a/composer/v1beta1/composer-gen.go b/composer/v1beta1/composer-gen.go index a29e86f5466..63cb55c2402 100644 --- a/composer/v1beta1/composer-gen.go +++ b/composer/v1beta1/composer-gen.go @@ -240,17 +240,17 @@ type CheckUpgradeRequest struct { // and the version of Apache Airflow. It must match the regular // expression // `composer-([0-9]+(\.[0-9]+\.[0-9]+(-preview\.[0-9]+)?)?|latest)-airflo - // w-([0-9]+\.[0-9]+(\.[0-9]+)?)`. When used as input, the server also - // checks if the provided version is supported and denies the request - // for an unsupported version. The Cloud Composer portion of the image - // version is a full semantic version (https://semver.org), or an alias - // in the form of major version number or `latest`. When an alias is - // provided, the server replaces it with the current Cloud Composer + // w-([0-9]+(\.[0-9]+(\.[0-9]+)?)?)`. When used as input, the server + // also checks if the provided version is supported and denies the + // request for an unsupported version. The Cloud Composer portion of the + // image version is a full semantic version (https://semver.org), or an + // alias in the form of major version number or `latest`. When an alias + // is provided, the server replaces it with the current Cloud Composer // version that satisfies the alias. The Apache Airflow portion of the // image version is a full semantic version that points to one of the // supported Apache Airflow versions, or an alias in the form of only - // major and minor versions specified. When an alias is provided, the - // server replaces it with the latest Apache Airflow version that + // major or major.minor versions specified. When an alias is provided, + // the server replaces it with the latest Apache Airflow version that // satisfies the alias and is supported in the given Cloud Composer // version. In all cases, the resolved image version is stored in the // same field. See also version list @@ -449,8 +449,7 @@ func (s *Date) MarshalJSON() ([]byte, error) { // duplicated empty messages in your APIs. A typical example is to use // it as the request or the response type of an API method. For // instance: service Foo { rpc Bar(google.protobuf.Empty) returns -// (google.protobuf.Empty); } The JSON representation for `Empty` is -// empty JSON object `{}`. +// (google.protobuf.Empty); } type Empty struct { // ServerResponse contains the HTTP response code and headers from the // server. @@ -914,6 +913,42 @@ func (s *ListOperationsResponse) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// LoadSnapshotRequest: Request to load a snapshot into a Cloud Composer +// environment. +type LoadSnapshotRequest struct { + // SkipPypiPackagesInstallation: Whether or not to skip installing Pypi + // packages when loading the environment's state. + SkipPypiPackagesInstallation bool `json:"skipPypiPackagesInstallation,omitempty"` + + // SnapshotPath: A Cloud Storage path to a snapshot to load, e.g.: + // "gs://my-bucket/snapshots/project_location_environment_timestamp". + SnapshotPath string `json:"snapshotPath,omitempty"` + + // ForceSendFields is a list of field names (e.g. + // "SkipPypiPackagesInstallation") 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. + // "SkipPypiPackagesInstallation") 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 *LoadSnapshotRequest) MarshalJSON() ([]byte, error) { + type NoMethod LoadSnapshotRequest + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // LoadSnapshotResponse: Response to LoadSnapshotRequest. type LoadSnapshotResponse struct { } @@ -1004,7 +1039,7 @@ func (s *MasterAuthorizedNetworksConfig) MarshalJSON() ([]byte, error) { // nodes running the Apache Airflow software. type NodeConfig struct { // DiskSizeGb: Optional. The disk size in GB used for node VMs. Minimum - // size is 20GB. If unspecified, defaults to 100GB. Cannot be updated. + // size is 30GB. If unspecified, defaults to 100GB. Cannot be updated. // This field is supported for Cloud Composer environments in versions // composer-1.*.*-airflow-*.*.*. DiskSizeGb int64 `json:"diskSizeGb,omitempty"` @@ -1390,6 +1425,37 @@ func (s *PrivateEnvironmentConfig) MarshalJSON() ([]byte, error) { type RestartWebServerRequest struct { } +// SaveSnapshotRequest: Request to create a snapshot of a Cloud Composer +// environment. +type SaveSnapshotRequest struct { + // SnapshotLocation: Location in a Cloud Storage where the snapshot is + // going to be stored, e.g.: "gs://my-bucket/snapshots". + SnapshotLocation string `json:"snapshotLocation,omitempty"` + + // ForceSendFields is a list of field names (e.g. "SnapshotLocation") 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. "SnapshotLocation") 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 *SaveSnapshotRequest) MarshalJSON() ([]byte, error) { + type NoMethod SaveSnapshotRequest + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // SaveSnapshotResponse: Response to SaveSnapshotRequest. type SaveSnapshotResponse struct { // SnapshotPath: The fully-resolved Cloud Storage path of the created @@ -1516,17 +1582,17 @@ type SoftwareConfig struct { // and the version of Apache Airflow. It must match the regular // expression // `composer-([0-9]+(\.[0-9]+\.[0-9]+(-preview\.[0-9]+)?)?|latest)-airflo - // w-([0-9]+\.[0-9]+(\.[0-9]+)?)`. When used as input, the server also - // checks if the provided version is supported and denies the request - // for an unsupported version. The Cloud Composer portion of the image - // version is a full semantic version (https://semver.org), or an alias - // in the form of major version number or `latest`. When an alias is - // provided, the server replaces it with the current Cloud Composer + // w-([0-9]+(\.[0-9]+(\.[0-9]+)?)?)`. When used as input, the server + // also checks if the provided version is supported and denies the + // request for an unsupported version. The Cloud Composer portion of the + // image version is a full semantic version (https://semver.org), or an + // alias in the form of major version number or `latest`. When an alias + // is provided, the server replaces it with the current Cloud Composer // version that satisfies the alias. The Apache Airflow portion of the // image version is a full semantic version that points to one of the // supported Apache Airflow versions, or an alias in the form of only - // major and minor versions specified. When an alias is provided, the - // server replaces it with the latest Apache Airflow version that + // major or major.minor versions specified. When an alias is provided, + // the server replaces it with the latest Apache Airflow version that // satisfies the alias and is supported in the given Cloud Composer // version. In all cases, the resolved image version is stored in the // same field. See also version list @@ -2608,6 +2674,153 @@ func (c *ProjectsLocationsEnvironmentsListCall) Pages(ctx context.Context, f fun } } +// method id "composer.projects.locations.environments.loadSnapshot": + +type ProjectsLocationsEnvironmentsLoadSnapshotCall struct { + s *Service + environment string + loadsnapshotrequest *LoadSnapshotRequest + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// LoadSnapshot: Loads a snapshot of a Cloud Composer environment. As a +// result of this operation, a snapshot of environment's specified in +// LoadSnapshotRequest is loaded into the environment. +// +// - environment: The resource name of the target environment in the +// form: +// "projects/{projectId}/locations/{locationId}/environments/{environme +// ntId}". +func (r *ProjectsLocationsEnvironmentsService) LoadSnapshot(environment string, loadsnapshotrequest *LoadSnapshotRequest) *ProjectsLocationsEnvironmentsLoadSnapshotCall { + c := &ProjectsLocationsEnvironmentsLoadSnapshotCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.environment = environment + c.loadsnapshotrequest = loadsnapshotrequest + 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 *ProjectsLocationsEnvironmentsLoadSnapshotCall) Fields(s ...googleapi.Field) *ProjectsLocationsEnvironmentsLoadSnapshotCall { + 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 *ProjectsLocationsEnvironmentsLoadSnapshotCall) Context(ctx context.Context) *ProjectsLocationsEnvironmentsLoadSnapshotCall { + 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 *ProjectsLocationsEnvironmentsLoadSnapshotCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsEnvironmentsLoadSnapshotCall) 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.loadsnapshotrequest) + 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, "v1beta1/{+environment}:loadSnapshot") + 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{ + "environment": c.environment, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "composer.projects.locations.environments.loadSnapshot" call. +// Exactly one of *Operation or error will be non-nil. Any non-2xx +// status code is an error. Response headers are in either +// *Operation.ServerResponse.Header or (if a response was returned at +// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified +// to check whether the returned error was because +// http.StatusNotModified was returned. +func (c *ProjectsLocationsEnvironmentsLoadSnapshotCall) Do(opts ...googleapi.CallOption) (*Operation, error) { + gensupport.SetOptions(c.urlParams_, opts...) + res, err := c.doRequest("json") + if res != nil && res.StatusCode == http.StatusNotModified { + if res.Body != nil { + res.Body.Close() + } + return nil, &googleapi.Error{ + Code: res.StatusCode, + Header: res.Header, + } + } + if err != nil { + return nil, err + } + defer googleapi.CloseBody(res) + if err := googleapi.CheckResponse(res); err != nil { + return nil, err + } + ret := &Operation{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := gensupport.DecodeResponse(target, res); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Loads a snapshot of a Cloud Composer environment. As a result of this operation, a snapshot of environment's specified in LoadSnapshotRequest is loaded into the environment.", + // "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/environments/{environmentsId}:loadSnapshot", + // "httpMethod": "POST", + // "id": "composer.projects.locations.environments.loadSnapshot", + // "parameterOrder": [ + // "environment" + // ], + // "parameters": { + // "environment": { + // "description": "The resource name of the target environment in the form: \"projects/{projectId}/locations/{locationId}/environments/{environmentId}\"", + // "location": "path", + // "pattern": "^projects/[^/]+/locations/[^/]+/environments/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1beta1/{+environment}:loadSnapshot", + // "request": { + // "$ref": "LoadSnapshotRequest" + // }, + // "response": { + // "$ref": "Operation" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + // method id "composer.projects.locations.environments.patch": type ProjectsLocationsEnvironmentsPatchCall struct { @@ -3009,6 +3222,153 @@ func (c *ProjectsLocationsEnvironmentsRestartWebServerCall) Do(opts ...googleapi } +// method id "composer.projects.locations.environments.saveSnapshot": + +type ProjectsLocationsEnvironmentsSaveSnapshotCall struct { + s *Service + environment string + savesnapshotrequest *SaveSnapshotRequest + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// SaveSnapshot: Creates a snapshots of a Cloud Composer environment. As +// a result of this operation, snapshot of environment's state is stored +// in a location specified in the SaveSnapshotRequest. +// +// - environment: The resource name of the source environment in the +// form: +// "projects/{projectId}/locations/{locationId}/environments/{environme +// ntId}". +func (r *ProjectsLocationsEnvironmentsService) SaveSnapshot(environment string, savesnapshotrequest *SaveSnapshotRequest) *ProjectsLocationsEnvironmentsSaveSnapshotCall { + c := &ProjectsLocationsEnvironmentsSaveSnapshotCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.environment = environment + c.savesnapshotrequest = savesnapshotrequest + 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 *ProjectsLocationsEnvironmentsSaveSnapshotCall) Fields(s ...googleapi.Field) *ProjectsLocationsEnvironmentsSaveSnapshotCall { + 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 *ProjectsLocationsEnvironmentsSaveSnapshotCall) Context(ctx context.Context) *ProjectsLocationsEnvironmentsSaveSnapshotCall { + 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 *ProjectsLocationsEnvironmentsSaveSnapshotCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsEnvironmentsSaveSnapshotCall) 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.savesnapshotrequest) + 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, "v1beta1/{+environment}:saveSnapshot") + 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{ + "environment": c.environment, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "composer.projects.locations.environments.saveSnapshot" call. +// Exactly one of *Operation or error will be non-nil. Any non-2xx +// status code is an error. Response headers are in either +// *Operation.ServerResponse.Header or (if a response was returned at +// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified +// to check whether the returned error was because +// http.StatusNotModified was returned. +func (c *ProjectsLocationsEnvironmentsSaveSnapshotCall) Do(opts ...googleapi.CallOption) (*Operation, error) { + gensupport.SetOptions(c.urlParams_, opts...) + res, err := c.doRequest("json") + if res != nil && res.StatusCode == http.StatusNotModified { + if res.Body != nil { + res.Body.Close() + } + return nil, &googleapi.Error{ + Code: res.StatusCode, + Header: res.Header, + } + } + if err != nil { + return nil, err + } + defer googleapi.CloseBody(res) + if err := googleapi.CheckResponse(res); err != nil { + return nil, err + } + ret := &Operation{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := gensupport.DecodeResponse(target, res); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Creates a snapshots of a Cloud Composer environment. As a result of this operation, snapshot of environment's state is stored in a location specified in the SaveSnapshotRequest.", + // "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/environments/{environmentsId}:saveSnapshot", + // "httpMethod": "POST", + // "id": "composer.projects.locations.environments.saveSnapshot", + // "parameterOrder": [ + // "environment" + // ], + // "parameters": { + // "environment": { + // "description": "The resource name of the source environment in the form: \"projects/{projectId}/locations/{locationId}/environments/{environmentId}\"", + // "location": "path", + // "pattern": "^projects/[^/]+/locations/[^/]+/environments/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1beta1/{+environment}:saveSnapshot", + // "request": { + // "$ref": "SaveSnapshotRequest" + // }, + // "response": { + // "$ref": "Operation" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + // method id "composer.projects.locations.imageVersions.list": type ProjectsLocationsImageVersionsListCall struct { diff --git a/datapipelines/v1/datapipelines-api.json b/datapipelines/v1/datapipelines-api.json index 5745b997f73..ed9f082f334 100644 --- a/datapipelines/v1/datapipelines-api.json +++ b/datapipelines/v1/datapipelines-api.json @@ -371,7 +371,7 @@ } } }, - "revision": "20220103", + "revision": "20220319", "rootUrl": "https://datapipelines.googleapis.com/", "schemas": { "GoogleCloudDatapipelinesV1DataflowJobDetails": { @@ -986,7 +986,7 @@ "type": "object" }, "GoogleProtobufEmpty": { - "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } The JSON representation for `Empty` is empty JSON object `{}`.", + "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }", "id": "GoogleProtobufEmpty", "properties": {}, "type": "object" diff --git a/datapipelines/v1/datapipelines-gen.go b/datapipelines/v1/datapipelines-gen.go index 43c67318de5..45789422e6d 100644 --- a/datapipelines/v1/datapipelines-gen.go +++ b/datapipelines/v1/datapipelines-gen.go @@ -1076,8 +1076,7 @@ func (s *GoogleCloudDatapipelinesV1Workload) MarshalJSON() ([]byte, error) { // avoid defining duplicated empty messages in your APIs. A typical // example is to use it as the request or the response type of an API // method. For instance: service Foo { rpc Bar(google.protobuf.Empty) -// returns (google.protobuf.Empty); } The JSON representation for -// `Empty` is empty JSON object `{}`. +// returns (google.protobuf.Empty); } type GoogleProtobufEmpty struct { // ServerResponse contains the HTTP response code and headers from the // server. diff --git a/documentai/v1/documentai-api.json b/documentai/v1/documentai-api.json index 8940aea0b7d..1d1734adfad 100644 --- a/documentai/v1/documentai-api.json +++ b/documentai/v1/documentai-api.json @@ -1947,7 +1947,7 @@ "description": "Optional. Provenance of the entity. Text anchor indexing into the Document.text." }, "type": { - "description": "Required. Entity type from a schema e.g. `Address`.", + "description": "Entity type from a schema e.g. `Address`.", "type": "string" } }, @@ -3192,10 +3192,6 @@ "description": "The display name of the processor version.", "type": "string" }, - "googleManaged": { - "description": "Denotes that this ProcessorVersion is managed by google.", - "type": "boolean" - }, "kmsKeyName": { "description": "The KMS key name used for encryption.", "type": "string" @@ -3590,7 +3586,7 @@ "description": "Optional. Provenance of the entity. Text anchor indexing into the Document.text." }, "type": { - "description": "Required. Entity type from a schema e.g. `Address`.", + "description": "Entity type from a schema e.g. `Address`.", "type": "string" } }, @@ -4787,7 +4783,7 @@ "description": "Optional. Provenance of the entity. Text anchor indexing into the Document.text." }, "type": { - "description": "Required. Entity type from a schema e.g. `Address`.", + "description": "Entity type from a schema e.g. `Address`.", "type": "string" } }, diff --git a/documentai/v1/documentai-gen.go b/documentai/v1/documentai-gen.go index b113955d6ef..e4f67edafc8 100644 --- a/documentai/v1/documentai-gen.go +++ b/documentai/v1/documentai-gen.go @@ -1869,7 +1869,7 @@ type GoogleCloudDocumentaiV1DocumentEntity struct { // into the Document.text. TextAnchor *GoogleCloudDocumentaiV1DocumentTextAnchor `json:"textAnchor,omitempty"` - // Type: Required. Entity type from a schema e.g. `Address`. + // Type: Entity type from a schema e.g. `Address`. Type string `json:"type,omitempty"` // ForceSendFields is a list of field names (e.g. "Confidence") to @@ -3975,10 +3975,6 @@ type GoogleCloudDocumentaiV1ProcessorVersion struct { // DisplayName: The display name of the processor version. DisplayName string `json:"displayName,omitempty"` - // GoogleManaged: Denotes that this ProcessorVersion is managed by - // google. - GoogleManaged bool `json:"googleManaged,omitempty"` - // KmsKeyName: The KMS key name used for encryption. KmsKeyName string `json:"kmsKeyName,omitempty"` @@ -4589,7 +4585,7 @@ type GoogleCloudDocumentaiV1beta1DocumentEntity struct { // into the Document.text. TextAnchor *GoogleCloudDocumentaiV1beta1DocumentTextAnchor `json:"textAnchor,omitempty"` - // Type: Required. Entity type from a schema e.g. `Address`. + // Type: Entity type from a schema e.g. `Address`. Type string `json:"type,omitempty"` // ForceSendFields is a list of field names (e.g. "Confidence") to @@ -6513,7 +6509,7 @@ type GoogleCloudDocumentaiV1beta2DocumentEntity struct { // into the Document.text. TextAnchor *GoogleCloudDocumentaiV1beta2DocumentTextAnchor `json:"textAnchor,omitempty"` - // Type: Required. Entity type from a schema e.g. `Address`. + // Type: Entity type from a schema e.g. `Address`. Type string `json:"type,omitempty"` // ForceSendFields is a list of field names (e.g. "Confidence") to diff --git a/documentai/v1beta2/documentai-api.json b/documentai/v1beta2/documentai-api.json index 026f76c6471..02e97f8e377 100644 --- a/documentai/v1beta2/documentai-api.json +++ b/documentai/v1beta2/documentai-api.json @@ -1344,7 +1344,7 @@ "description": "Optional. Provenance of the entity. Text anchor indexing into the Document.text." }, "type": { - "description": "Required. Entity type from a schema e.g. `Address`.", + "description": "Entity type from a schema e.g. `Address`.", "type": "string" } }, @@ -2566,7 +2566,7 @@ "description": "Optional. Provenance of the entity. Text anchor indexing into the Document.text." }, "type": { - "description": "Required. Entity type from a schema e.g. `Address`.", + "description": "Entity type from a schema e.g. `Address`.", "type": "string" } }, diff --git a/documentai/v1beta2/documentai-gen.go b/documentai/v1beta2/documentai-gen.go index 997cbc575d5..eb45e361b2c 100644 --- a/documentai/v1beta2/documentai-gen.go +++ b/documentai/v1beta2/documentai-gen.go @@ -2051,7 +2051,7 @@ type GoogleCloudDocumentaiV1beta1DocumentEntity struct { // into the Document.text. TextAnchor *GoogleCloudDocumentaiV1beta1DocumentTextAnchor `json:"textAnchor,omitempty"` - // Type: Required. Entity type from a schema e.g. `Address`. + // Type: Entity type from a schema e.g. `Address`. Type string `json:"type,omitempty"` // ForceSendFields is a list of field names (e.g. "Confidence") to @@ -4039,7 +4039,7 @@ type GoogleCloudDocumentaiV1beta2DocumentEntity struct { // into the Document.text. TextAnchor *GoogleCloudDocumentaiV1beta2DocumentTextAnchor `json:"textAnchor,omitempty"` - // Type: Required. Entity type from a schema e.g. `Address`. + // Type: Entity type from a schema e.g. `Address`. Type string `json:"type,omitempty"` // ForceSendFields is a list of field names (e.g. "Confidence") to diff --git a/documentai/v1beta3/documentai-api.json b/documentai/v1beta3/documentai-api.json index 6a9ce968727..655e0de542d 100644 --- a/documentai/v1beta3/documentai-api.json +++ b/documentai/v1beta3/documentai-api.json @@ -1848,7 +1848,7 @@ "description": "Optional. Provenance of the entity. Text anchor indexing into the Document.text." }, "type": { - "description": "Required. Entity type from a schema e.g. `Address`.", + "description": "Entity type from a schema e.g. `Address`.", "type": "string" } }, @@ -3045,7 +3045,7 @@ "description": "Optional. Provenance of the entity. Text anchor indexing into the Document.text." }, "type": { - "description": "Required. Entity type from a schema e.g. `Address`.", + "description": "Entity type from a schema e.g. `Address`.", "type": "string" } }, @@ -4513,7 +4513,7 @@ "description": "Optional. Provenance of the entity. Text anchor indexing into the Document.text." }, "type": { - "description": "Required. Entity type from a schema e.g. `Address`.", + "description": "Entity type from a schema e.g. `Address`.", "type": "string" } }, @@ -5766,10 +5766,6 @@ "description": "The display name of the processor version.", "type": "string" }, - "googleManaged": { - "description": "Denotes that this ProcessorVersion is managed by google.", - "type": "boolean" - }, "kmsKeyName": { "description": "The KMS key name used for encryption.", "type": "string" diff --git a/documentai/v1beta3/documentai-gen.go b/documentai/v1beta3/documentai-gen.go index 0f201f6ccd5..56e6445d7e6 100644 --- a/documentai/v1beta3/documentai-gen.go +++ b/documentai/v1beta3/documentai-gen.go @@ -2051,7 +2051,7 @@ type GoogleCloudDocumentaiV1beta1DocumentEntity struct { // into the Document.text. TextAnchor *GoogleCloudDocumentaiV1beta1DocumentTextAnchor `json:"textAnchor,omitempty"` - // Type: Required. Entity type from a schema e.g. `Address`. + // Type: Entity type from a schema e.g. `Address`. Type string `json:"type,omitempty"` // ForceSendFields is a list of field names (e.g. "Confidence") to @@ -3975,7 +3975,7 @@ type GoogleCloudDocumentaiV1beta2DocumentEntity struct { // into the Document.text. TextAnchor *GoogleCloudDocumentaiV1beta2DocumentTextAnchor `json:"textAnchor,omitempty"` - // Type: Required. Entity type from a schema e.g. `Address`. + // Type: Entity type from a schema e.g. `Address`. Type string `json:"type,omitempty"` // ForceSendFields is a list of field names (e.g. "Confidence") to @@ -6375,7 +6375,7 @@ type GoogleCloudDocumentaiV1beta3DocumentEntity struct { // into the Document.text. TextAnchor *GoogleCloudDocumentaiV1beta3DocumentTextAnchor `json:"textAnchor,omitempty"` - // Type: Required. Entity type from a schema e.g. `Address`. + // Type: Entity type from a schema e.g. `Address`. Type string `json:"type,omitempty"` // ForceSendFields is a list of field names (e.g. "Confidence") to @@ -8493,10 +8493,6 @@ type GoogleCloudDocumentaiV1beta3ProcessorVersion struct { // DisplayName: The display name of the processor version. DisplayName string `json:"displayName,omitempty"` - // GoogleManaged: Denotes that this ProcessorVersion is managed by - // google. - GoogleManaged bool `json:"googleManaged,omitempty"` - // KmsKeyName: The KMS key name used for encryption. KmsKeyName string `json:"kmsKeyName,omitempty"` diff --git a/gameservices/v1/gameservices-api.json b/gameservices/v1/gameservices-api.json index 628768ce31a..e4ce357d2c1 100644 --- a/gameservices/v1/gameservices-api.json +++ b/gameservices/v1/gameservices-api.json @@ -1357,7 +1357,7 @@ } } }, - "revision": "20220216", + "revision": "20220323", "rootUrl": "https://gameservices.googleapis.com/", "schemas": { "AuditConfig": { @@ -1730,7 +1730,7 @@ "type": "object" }, "Empty": { - "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } The JSON representation for `Empty` is empty JSON object `{}`.", + "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }", "id": "Empty", "properties": {}, "type": "object" diff --git a/gameservices/v1/gameservices-gen.go b/gameservices/v1/gameservices-gen.go index 709de8607a6..022440e443d 100644 --- a/gameservices/v1/gameservices-gen.go +++ b/gameservices/v1/gameservices-gen.go @@ -892,8 +892,7 @@ func (s *DeployedFleetStatus) MarshalJSON() ([]byte, error) { // duplicated empty messages in your APIs. A typical example is to use // it as the request or the response type of an API method. For // instance: service Foo { rpc Bar(google.protobuf.Empty) returns -// (google.protobuf.Empty); } The JSON representation for `Empty` is -// empty JSON object `{}`. +// (google.protobuf.Empty); } type Empty struct { // ServerResponse contains the HTTP response code and headers from the // server. diff --git a/gameservices/v1beta/gameservices-api.json b/gameservices/v1beta/gameservices-api.json index 14ed6da2d84..bc0ce7887f5 100644 --- a/gameservices/v1beta/gameservices-api.json +++ b/gameservices/v1beta/gameservices-api.json @@ -1357,7 +1357,7 @@ } } }, - "revision": "20220216", + "revision": "20220323", "rootUrl": "https://gameservices.googleapis.com/", "schemas": { "AuditConfig": { @@ -1730,7 +1730,7 @@ "type": "object" }, "Empty": { - "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } The JSON representation for `Empty` is empty JSON object `{}`.", + "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }", "id": "Empty", "properties": {}, "type": "object" diff --git a/gameservices/v1beta/gameservices-gen.go b/gameservices/v1beta/gameservices-gen.go index d7355560bd9..6cd5a2bce53 100644 --- a/gameservices/v1beta/gameservices-gen.go +++ b/gameservices/v1beta/gameservices-gen.go @@ -892,8 +892,7 @@ func (s *DeployedFleetStatus) MarshalJSON() ([]byte, error) { // duplicated empty messages in your APIs. A typical example is to use // it as the request or the response type of an API method. For // instance: service Foo { rpc Bar(google.protobuf.Empty) returns -// (google.protobuf.Empty); } The JSON representation for `Empty` is -// empty JSON object `{}`. +// (google.protobuf.Empty); } type Empty struct { // ServerResponse contains the HTTP response code and headers from the // server. diff --git a/genomics/v2alpha1/genomics-api.json b/genomics/v2alpha1/genomics-api.json index 1cb4335267f..d9171060821 100644 --- a/genomics/v2alpha1/genomics-api.json +++ b/genomics/v2alpha1/genomics-api.json @@ -301,7 +301,7 @@ } } }, - "revision": "20210811", + "revision": "20220328", "rootUrl": "https://genomics.googleapis.com/", "schemas": { "Accelerator": { @@ -611,7 +611,7 @@ "type": "object" }, "Empty": { - "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } The JSON representation for `Empty` is empty JSON object `{}`.", + "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }", "id": "Empty", "properties": {}, "type": "object" diff --git a/genomics/v2alpha1/genomics-gen.go b/genomics/v2alpha1/genomics-gen.go index f462174fb50..c8835888c65 100644 --- a/genomics/v2alpha1/genomics-gen.go +++ b/genomics/v2alpha1/genomics-gen.go @@ -730,8 +730,7 @@ func (s *DiskStatus) MarshalJSON() ([]byte, error) { // duplicated empty messages in your APIs. A typical example is to use // it as the request or the response type of an API method. For // instance: service Foo { rpc Bar(google.protobuf.Empty) returns -// (google.protobuf.Empty); } The JSON representation for `Empty` is -// empty JSON object `{}`. +// (google.protobuf.Empty); } type Empty struct { // ServerResponse contains the HTTP response code and headers from the // server. diff --git a/jobs/v3/jobs-api.json b/jobs/v3/jobs-api.json index ca2317eb669..a0c5883dbce 100644 --- a/jobs/v3/jobs-api.json +++ b/jobs/v3/jobs-api.json @@ -651,7 +651,7 @@ } } }, - "revision": "20220303", + "revision": "20220325", "rootUrl": "https://jobs.googleapis.com/", "schemas": { "ApplicationInfo": { @@ -1328,7 +1328,7 @@ "type": "object" }, "Empty": { - "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } The JSON representation for `Empty` is empty JSON object `{}`.", + "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }", "id": "Empty", "properties": {}, "type": "object" @@ -1901,7 +1901,7 @@ "description": "Optional. Allows filtering jobs by commute time with different travel methods (for example, driving or public transit). Note: This only works with COMMUTE MODE. When specified, [JobQuery.location_filters] is ignored. Currently we don't support sorting by commute time." }, "companyDisplayNames": { - "description": "Optional. This filter specifies the company Company.display_name of the jobs to search against. The company name must match the value exactly. Alternatively, if the value being searched for is wrapped in SUBSTRING_MATCH([value]), the company name must contain a case insensitive substring match of the value. Using this function may increase latency. Sample Value: SUBSTRING_MATCH(google) If a value isn't specified, jobs within the search results are associated with any company. If multiple values are specified, jobs within the search results may be associated with any of the specified companies. At most 20 company display name filters are allowed.", + "description": "Optional. This filter specifies the company Company.display_name of the jobs to search against. The company name must match the value exactly. Alternatively, if the value being searched for is wrapped in `SUBSTRING_MATCH([value])`, the company name must contain a case insensitive substring match of the value. Using this function may increase latency. Sample Value: `SUBSTRING_MATCH(google)` If a value isn't specified, jobs within the search results are associated with any company. If multiple values are specified, jobs within the search results may be associated with any of the specified companies. At most 20 company display name filters are allowed.", "items": { "type": "string" }, @@ -2194,7 +2194,7 @@ "type": "string" }, "telecommutePreference": { - "description": "Optional. Allows the client to return jobs without a set location, specifically, telecommuting jobs (telecommuting is considered by the service as a special location. Job.posting_region indicates if a job permits telecommuting. If this field is set to TelecommutePreference.TELECOMMUTE_ALLOWED, telecommuting jobs are searched, and address and lat_lng are ignored. If not set or set to TelecommutePreference.TELECOMMUTE_EXCLUDED, telecommute job are not searched. This filter can be used by itself to search exclusively for telecommuting jobs, or it can be combined with another location filter to search for a combination of job locations, such as \"Mountain View\" or \"telecommuting\" jobs. However, when used in combination with other location filters, telecommuting jobs can be treated as less relevant than other jobs in the search response.", + "description": "Optional. Allows the client to return jobs without a set location, specifically, telecommuting jobs (telecommuting is considered by the service as a special location). Job.posting_region indicates if a job permits telecommuting. If this field is set to TelecommutePreference.TELECOMMUTE_ALLOWED, telecommuting jobs are searched, and address and lat_lng are ignored. If not set or set to TelecommutePreference.TELECOMMUTE_EXCLUDED, the telecommute status of the jobs is ignored. Jobs that have PostingRegion.TELECOMMUTE and have additional Job.addresses may still be matched based on other location filters using address or latlng. This filter can be used by itself to search exclusively for telecommuting jobs, or it can be combined with another location filter to search for a combination of job locations, such as \"Mountain View\" or \"telecommuting\" jobs. However, when used in combination with other location filters, telecommuting jobs can be treated as less relevant than other jobs in the search response.", "enum": [ "TELECOMMUTE_PREFERENCE_UNSPECIFIED", "TELECOMMUTE_EXCLUDED", @@ -2202,7 +2202,7 @@ ], "enumDescriptions": [ "Default value if the telecommute preference is not specified.", - "Exclude telecommute jobs.", + "Ignore telecommute status of jobs.", "Allow telecommute jobs." ], "type": "string" diff --git a/jobs/v3/jobs-gen.go b/jobs/v3/jobs-gen.go index 8d8661c1990..ed7958a947a 100644 --- a/jobs/v3/jobs-gen.go +++ b/jobs/v3/jobs-gen.go @@ -1344,8 +1344,7 @@ func (s *DeviceInfo) MarshalJSON() ([]byte, error) { // duplicated empty messages in your APIs. A typical example is to use // it as the request or the response type of an API method. For // instance: service Foo { rpc Bar(google.protobuf.Empty) returns -// (google.protobuf.Empty); } The JSON representation for `Empty` is -// empty JSON object `{}`. +// (google.protobuf.Empty); } type Empty struct { // ServerResponse contains the HTTP response code and headers from the // server. @@ -2135,10 +2134,10 @@ type JobQuery struct { // CompanyDisplayNames: Optional. This filter specifies the company // Company.display_name of the jobs to search against. The company name // must match the value exactly. Alternatively, if the value being - // searched for is wrapped in SUBSTRING_MATCH([value]), the company name - // must contain a case insensitive substring match of the value. Using - // this function may increase latency. Sample Value: - // SUBSTRING_MATCH(google) If a value isn't specified, jobs within the + // searched for is wrapped in `SUBSTRING_MATCH([value])`, the company + // name must contain a case insensitive substring match of the value. + // Using this function may increase latency. Sample Value: + // `SUBSTRING_MATCH(google)` If a value isn't specified, jobs within the // search results are associated with any company. If multiple values // are specified, jobs within the search results may be associated with // any of the specified companies. At most 20 company display name @@ -2591,23 +2590,25 @@ type LocationFilter struct { // TelecommutePreference: Optional. Allows the client to return jobs // without a set location, specifically, telecommuting jobs - // (telecommuting is considered by the service as a special location. + // (telecommuting is considered by the service as a special location). // Job.posting_region indicates if a job permits telecommuting. If this // field is set to TelecommutePreference.TELECOMMUTE_ALLOWED, // telecommuting jobs are searched, and address and lat_lng are ignored. - // If not set or set to TelecommutePreference.TELECOMMUTE_EXCLUDED, - // telecommute job are not searched. This filter can be used by itself - // to search exclusively for telecommuting jobs, or it can be combined - // with another location filter to search for a combination of job - // locations, such as "Mountain View" or "telecommuting" jobs. However, - // when used in combination with other location filters, telecommuting - // jobs can be treated as less relevant than other jobs in the search - // response. + // If not set or set to TelecommutePreference.TELECOMMUTE_EXCLUDED, the + // telecommute status of the jobs is ignored. Jobs that have + // PostingRegion.TELECOMMUTE and have additional Job.addresses may still + // be matched based on other location filters using address or latlng. + // This filter can be used by itself to search exclusively for + // telecommuting jobs, or it can be combined with another location + // filter to search for a combination of job locations, such as + // "Mountain View" or "telecommuting" jobs. However, when used in + // combination with other location filters, telecommuting jobs can be + // treated as less relevant than other jobs in the search response. // // Possible values: // "TELECOMMUTE_PREFERENCE_UNSPECIFIED" - Default value if the // telecommute preference is not specified. - // "TELECOMMUTE_EXCLUDED" - Exclude telecommute jobs. + // "TELECOMMUTE_EXCLUDED" - Ignore telecommute status of jobs. // "TELECOMMUTE_ALLOWED" - Allow telecommute jobs. TelecommutePreference string `json:"telecommutePreference,omitempty"` diff --git a/jobs/v4/jobs-api.json b/jobs/v4/jobs-api.json index b1062dfa8be..aab7c3aba21 100644 --- a/jobs/v4/jobs-api.json +++ b/jobs/v4/jobs-api.json @@ -903,7 +903,7 @@ } } }, - "revision": "20220303", + "revision": "20220325", "rootUrl": "https://jobs.googleapis.com/", "schemas": { "ApplicationInfo": { @@ -1599,7 +1599,7 @@ "type": "object" }, "Empty": { - "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } The JSON representation for `Empty` is empty JSON object `{}`.", + "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }", "id": "Empty", "properties": {}, "type": "object" @@ -2060,7 +2060,7 @@ "type": "array" }, "companyDisplayNames": { - "description": "This filter specifies the company Company.display_name of the jobs to search against. The company name must match the value exactly. Alternatively, if the value being searched for is wrapped in SUBSTRING_MATCH([value]), the company name must contain a case insensitive substring match of the value. Using this function may increase latency. Sample Value: SUBSTRING_MATCH(google) If a value isn't specified, jobs within the search results are associated with any company. If multiple values are specified, jobs within the search results may be associated with any of the specified companies. At most 20 company display name filters are allowed.", + "description": "This filter specifies the company Company.display_name of the jobs to search against. The company name must match the value exactly. Alternatively, if the value being searched for is wrapped in `SUBSTRING_MATCH([value])`, the company name must contain a case insensitive substring match of the value. Using this function may increase latency. Sample Value: `SUBSTRING_MATCH(google)` If a value isn't specified, jobs within the search results are associated with any company. If multiple values are specified, jobs within the search results may be associated with any of the specified companies. At most 20 company display name filters are allowed.", "items": { "type": "string" }, @@ -2390,7 +2390,7 @@ "type": "string" }, "telecommutePreference": { - "description": "Allows the client to return jobs without a set location, specifically, telecommuting jobs (telecommuting is considered by the service as a special location. Job.posting_region indicates if a job permits telecommuting. If this field is set to TelecommutePreference.TELECOMMUTE_ALLOWED, telecommuting jobs are searched, and address and lat_lng are ignored. If not set or set to TelecommutePreference.TELECOMMUTE_EXCLUDED, telecommute job are not searched. This filter can be used by itself to search exclusively for telecommuting jobs, or it can be combined with another location filter to search for a combination of job locations, such as \"Mountain View\" or \"telecommuting\" jobs. However, when used in combination with other location filters, telecommuting jobs can be treated as less relevant than other jobs in the search response. This field is only used for job search requests.", + "description": "Allows the client to return jobs without a set location, specifically, telecommuting jobs (telecommuting is considered by the service as a special location). Job.posting_region indicates if a job permits telecommuting. If this field is set to TelecommutePreference.TELECOMMUTE_ALLOWED, telecommuting jobs are searched, and address and lat_lng are ignored. If not set or set to TelecommutePreference.TELECOMMUTE_EXCLUDED, the telecommute status of the jobs is ignored. Jobs that have PostingRegion.TELECOMMUTE and have additional Job.addresses may still be matched based on other location filters using address or latlng. This filter can be used by itself to search exclusively for telecommuting jobs, or it can be combined with another location filter to search for a combination of job locations, such as \"Mountain View\" or \"telecommuting\" jobs. However, when used in combination with other location filters, telecommuting jobs can be treated as less relevant than other jobs in the search response. This field is only used for job search requests.", "enum": [ "TELECOMMUTE_PREFERENCE_UNSPECIFIED", "TELECOMMUTE_EXCLUDED", @@ -2398,7 +2398,7 @@ ], "enumDescriptions": [ "Default value if the telecommute preference isn't specified.", - "Exclude telecommute jobs.", + "Ignore telecommute status of jobs.", "Allow telecommute jobs." ], "type": "string" diff --git a/jobs/v4/jobs-gen.go b/jobs/v4/jobs-gen.go index dd9aade2997..24081cdeb3d 100644 --- a/jobs/v4/jobs-gen.go +++ b/jobs/v4/jobs-gen.go @@ -1325,8 +1325,7 @@ func (s *DeviceInfo) MarshalJSON() ([]byte, error) { // duplicated empty messages in your APIs. A typical example is to use // it as the request or the response type of an API method. For // instance: service Foo { rpc Bar(google.protobuf.Empty) returns -// (google.protobuf.Empty); } The JSON representation for `Empty` is -// empty JSON object `{}`. +// (google.protobuf.Empty); } type Empty struct { // ServerResponse contains the HTTP response code and headers from the // server. @@ -1998,10 +1997,10 @@ type JobQuery struct { // CompanyDisplayNames: This filter specifies the company // Company.display_name of the jobs to search against. The company name // must match the value exactly. Alternatively, if the value being - // searched for is wrapped in SUBSTRING_MATCH([value]), the company name - // must contain a case insensitive substring match of the value. Using - // this function may increase latency. Sample Value: - // SUBSTRING_MATCH(google) If a value isn't specified, jobs within the + // searched for is wrapped in `SUBSTRING_MATCH([value])`, the company + // name must contain a case insensitive substring match of the value. + // Using this function may increase latency. Sample Value: + // `SUBSTRING_MATCH(google)` If a value isn't specified, jobs within the // search results are associated with any company. If multiple values // are specified, jobs within the search results may be associated with // any of the specified companies. At most 20 company display name @@ -2516,23 +2515,25 @@ type LocationFilter struct { // TelecommutePreference: Allows the client to return jobs without a set // location, specifically, telecommuting jobs (telecommuting is - // considered by the service as a special location. Job.posting_region + // considered by the service as a special location). Job.posting_region // indicates if a job permits telecommuting. If this field is set to // TelecommutePreference.TELECOMMUTE_ALLOWED, telecommuting jobs are // searched, and address and lat_lng are ignored. If not set or set to - // TelecommutePreference.TELECOMMUTE_EXCLUDED, telecommute job are not - // searched. This filter can be used by itself to search exclusively for - // telecommuting jobs, or it can be combined with another location - // filter to search for a combination of job locations, such as - // "Mountain View" or "telecommuting" jobs. However, when used in - // combination with other location filters, telecommuting jobs can be - // treated as less relevant than other jobs in the search response. This - // field is only used for job search requests. + // TelecommutePreference.TELECOMMUTE_EXCLUDED, the telecommute status of + // the jobs is ignored. Jobs that have PostingRegion.TELECOMMUTE and + // have additional Job.addresses may still be matched based on other + // location filters using address or latlng. This filter can be used by + // itself to search exclusively for telecommuting jobs, or it can be + // combined with another location filter to search for a combination of + // job locations, such as "Mountain View" or "telecommuting" jobs. + // However, when used in combination with other location filters, + // telecommuting jobs can be treated as less relevant than other jobs in + // the search response. This field is only used for job search requests. // // Possible values: // "TELECOMMUTE_PREFERENCE_UNSPECIFIED" - Default value if the // telecommute preference isn't specified. - // "TELECOMMUTE_EXCLUDED" - Exclude telecommute jobs. + // "TELECOMMUTE_EXCLUDED" - Ignore telecommute status of jobs. // "TELECOMMUTE_ALLOWED" - Allow telecommute jobs. TelecommutePreference string `json:"telecommutePreference,omitempty"` diff --git a/networkmanagement/v1beta1/networkmanagement-api.json b/networkmanagement/v1beta1/networkmanagement-api.json index 26f2c5c3117..73b2d062ed9 100644 --- a/networkmanagement/v1beta1/networkmanagement-api.json +++ b/networkmanagement/v1beta1/networkmanagement-api.json @@ -591,7 +591,7 @@ } } }, - "revision": "20220228", + "revision": "20220323", "rootUrl": "https://networkmanagement.googleapis.com/", "schemas": { "AbortInfo": { @@ -1000,7 +1000,7 @@ "type": "object" }, "Empty": { - "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } The JSON representation for `Empty` is empty JSON object `{}`.", + "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }", "id": "Empty", "properties": {}, "type": "object" diff --git a/networkmanagement/v1beta1/networkmanagement-gen.go b/networkmanagement/v1beta1/networkmanagement-gen.go index e474a210b11..fbd77071c0b 100644 --- a/networkmanagement/v1beta1/networkmanagement-gen.go +++ b/networkmanagement/v1beta1/networkmanagement-gen.go @@ -884,8 +884,7 @@ func (s *EdgeLocation) MarshalJSON() ([]byte, error) { // duplicated empty messages in your APIs. A typical example is to use // it as the request or the response type of an API method. For // instance: service Foo { rpc Bar(google.protobuf.Empty) returns -// (google.protobuf.Empty); } The JSON representation for `Empty` is -// empty JSON object `{}`. +// (google.protobuf.Empty); } type Empty struct { // ServerResponse contains the HTTP response code and headers from the // server. diff --git a/pubsub/v1/pubsub-api.json b/pubsub/v1/pubsub-api.json index 42a54317c99..309e6b3ba18 100644 --- a/pubsub/v1/pubsub-api.json +++ b/pubsub/v1/pubsub-api.json @@ -1424,7 +1424,7 @@ } } }, - "revision": "20220301", + "revision": "20220322", "rootUrl": "https://pubsub.googleapis.com/", "schemas": { "AcknowledgeRequest": { @@ -1504,7 +1504,7 @@ "type": "object" }, "Empty": { - "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } The JSON representation for `Empty` is empty JSON object `{}`.", + "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }", "id": "Empty", "properties": {}, "type": "object" diff --git a/pubsub/v1/pubsub-gen.go b/pubsub/v1/pubsub-gen.go index 950df4d0b61..e4b56536d8d 100644 --- a/pubsub/v1/pubsub-gen.go +++ b/pubsub/v1/pubsub-gen.go @@ -431,8 +431,7 @@ type DetachSubscriptionResponse struct { // duplicated empty messages in your APIs. A typical example is to use // it as the request or the response type of an API method. For // instance: service Foo { rpc Bar(google.protobuf.Empty) returns -// (google.protobuf.Empty); } The JSON representation for `Empty` is -// empty JSON object `{}`. +// (google.protobuf.Empty); } type Empty struct { // ServerResponse contains the HTTP response code and headers from the // server. diff --git a/pubsub/v1beta2/pubsub-api.json b/pubsub/v1beta2/pubsub-api.json index 36166361e71..f54201c6f02 100644 --- a/pubsub/v1beta2/pubsub-api.json +++ b/pubsub/v1beta2/pubsub-api.json @@ -724,7 +724,7 @@ } } }, - "revision": "20211108", + "revision": "20220322", "rootUrl": "https://pubsub.googleapis.com/", "schemas": { "AcknowledgeRequest": { @@ -764,7 +764,7 @@ "type": "object" }, "Empty": { - "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } The JSON representation for `Empty` is empty JSON object `{}`.", + "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }", "id": "Empty", "properties": {}, "type": "object" diff --git a/pubsub/v1beta2/pubsub-gen.go b/pubsub/v1beta2/pubsub-gen.go index 6f18fa5d0b1..7083ae366ba 100644 --- a/pubsub/v1beta2/pubsub-gen.go +++ b/pubsub/v1beta2/pubsub-gen.go @@ -299,8 +299,7 @@ func (s *Binding) MarshalJSON() ([]byte, error) { // duplicated empty messages in your APIs. A typical example is to use // it as the request or the response type of an API method. For // instance: service Foo { rpc Bar(google.protobuf.Empty) returns -// (google.protobuf.Empty); } The JSON representation for `Empty` is -// empty JSON object `{}`. +// (google.protobuf.Empty); } type Empty struct { // ServerResponse contains the HTTP response code and headers from the // server. diff --git a/servicedirectory/v1/servicedirectory-api.json b/servicedirectory/v1/servicedirectory-api.json index e00cf2ccaea..e056c77f559 100644 --- a/servicedirectory/v1/servicedirectory-api.json +++ b/servicedirectory/v1/servicedirectory-api.json @@ -883,7 +883,7 @@ } } }, - "revision": "20220111", + "revision": "20220325", "rootUrl": "https://servicedirectory.googleapis.com/", "schemas": { "Binding": { @@ -909,7 +909,7 @@ "type": "object" }, "Empty": { - "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } The JSON representation for `Empty` is empty JSON object `{}`.", + "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }", "id": "Empty", "properties": {}, "type": "object" diff --git a/servicedirectory/v1/servicedirectory-gen.go b/servicedirectory/v1/servicedirectory-gen.go index a5a059fff58..d2432c02b5d 100644 --- a/servicedirectory/v1/servicedirectory-gen.go +++ b/servicedirectory/v1/servicedirectory-gen.go @@ -271,8 +271,7 @@ func (s *Binding) MarshalJSON() ([]byte, error) { // duplicated empty messages in your APIs. A typical example is to use // it as the request or the response type of an API method. For // instance: service Foo { rpc Bar(google.protobuf.Empty) returns -// (google.protobuf.Empty); } The JSON representation for `Empty` is -// empty JSON object `{}`. +// (google.protobuf.Empty); } type Empty struct { // ServerResponse contains the HTTP response code and headers from the // server. diff --git a/servicedirectory/v1beta1/servicedirectory-api.json b/servicedirectory/v1beta1/servicedirectory-api.json index d9381a8b009..14a086c3f48 100644 --- a/servicedirectory/v1beta1/servicedirectory-api.json +++ b/servicedirectory/v1beta1/servicedirectory-api.json @@ -883,7 +883,7 @@ } } }, - "revision": "20211103", + "revision": "20220325", "rootUrl": "https://servicedirectory.googleapis.com/", "schemas": { "Binding": { @@ -909,7 +909,7 @@ "type": "object" }, "Empty": { - "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } The JSON representation for `Empty` is empty JSON object `{}`.", + "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }", "id": "Empty", "properties": {}, "type": "object" diff --git a/servicedirectory/v1beta1/servicedirectory-gen.go b/servicedirectory/v1beta1/servicedirectory-gen.go index 5eddd1abdfc..c7c86bddfb9 100644 --- a/servicedirectory/v1beta1/servicedirectory-gen.go +++ b/servicedirectory/v1beta1/servicedirectory-gen.go @@ -271,8 +271,7 @@ func (s *Binding) MarshalJSON() ([]byte, error) { // duplicated empty messages in your APIs. A typical example is to use // it as the request or the response type of an API method. For // instance: service Foo { rpc Bar(google.protobuf.Empty) returns -// (google.protobuf.Empty); } The JSON representation for `Empty` is -// empty JSON object `{}`. +// (google.protobuf.Empty); } type Empty struct { // ServerResponse contains the HTTP response code and headers from the // server. diff --git a/spanner/v1/spanner-api.json b/spanner/v1/spanner-api.json index 2fedec9ed3e..ea9c5257b03 100644 --- a/spanner/v1/spanner-api.json +++ b/spanner/v1/spanner-api.json @@ -2066,7 +2066,7 @@ } } }, - "revision": "20220310", + "revision": "20220326", "rootUrl": "https://spanner.googleapis.com/", "schemas": { "Backup": { @@ -2725,7 +2725,7 @@ "type": "object" }, "Empty": { - "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } The JSON representation for `Empty` is empty JSON object `{}`.", + "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }", "id": "Empty", "properties": {}, "type": "object" @@ -4474,7 +4474,7 @@ "type": "object" }, "TransactionOptions": { - "description": "Transactions: Each session can have at most one active transaction at a time (note that standalone reads and queries use a transaction internally and do count towards the one transaction limit). After the active transaction is completed, the session can immediately be re-used for the next transaction. It is not necessary to create a new session for each transaction. Transaction Modes: Cloud Spanner supports three transaction modes: 1. Locking read-write. This type of transaction is the only way to write data into Cloud Spanner. These transactions rely on pessimistic locking and, if necessary, two-phase commit. Locking read-write transactions may abort, requiring the application to retry. 2. Snapshot read-only. This transaction type provides guaranteed consistency across several reads, but does not allow writes. Snapshot read-only transactions can be configured to read at timestamps in the past. Snapshot read-only transactions do not need to be committed. 3. Partitioned DML. This type of transaction is used to execute a single Partitioned DML statement. Partitioned DML partitions the key space and runs the DML statement over each partition in parallel using separate, internal transactions that commit independently. Partitioned DML transactions do not need to be committed. For transactions that only read, snapshot read-only transactions provide simpler semantics and are almost always faster. In particular, read-only transactions do not take locks, so they do not conflict with read-write transactions. As a consequence of not taking locks, they also do not abort, so retry loops are not needed. Transactions may only read/write data in a single database. They may, however, read/write data in different tables within that database. Locking Read-Write Transactions: Locking transactions may be used to atomically read-modify-write data anywhere in a database. This type of transaction is externally consistent. Clients should attempt to minimize the amount of time a transaction is active. Faster transactions commit with higher probability and cause less contention. Cloud Spanner attempts to keep read locks active as long as the transaction continues to do reads, and the transaction has not been terminated by Commit or Rollback. Long periods of inactivity at the client may cause Cloud Spanner to release a transaction's locks and abort it. Conceptually, a read-write transaction consists of zero or more reads or SQL statements followed by Commit. At any time before Commit, the client can send a Rollback request to abort the transaction. Semantics: Cloud Spanner can commit the transaction if all read locks it acquired are still valid at commit time, and it is able to acquire write locks for all writes. Cloud Spanner can abort the transaction for any reason. If a commit attempt returns `ABORTED`, Cloud Spanner guarantees that the transaction has not modified any user data in Cloud Spanner. Unless the transaction commits, Cloud Spanner makes no guarantees about how long the transaction's locks were held for. It is an error to use Cloud Spanner locks for any sort of mutual exclusion other than between Cloud Spanner transactions themselves. Retrying Aborted Transactions: When a transaction aborts, the application can choose to retry the whole transaction again. To maximize the chances of successfully committing the retry, the client should execute the retry in the same session as the original attempt. The original session's lock priority increases with each consecutive abort, meaning that each attempt has a slightly better chance of success than the previous. Under some circumstances (for example, many transactions attempting to modify the same row(s)), a transaction can abort many times in a short period before successfully committing. Thus, it is not a good idea to cap the number of retries a transaction can attempt; instead, it is better to limit the total amount of time spent retrying. Idle Transactions: A transaction is considered idle if it has no outstanding reads or SQL queries and has not started a read or SQL query within the last 10 seconds. Idle transactions can be aborted by Cloud Spanner so that they don't hold on to locks indefinitely. If an idle transaction is aborted, the commit will fail with error `ABORTED`. If this behavior is undesirable, periodically executing a simple SQL query in the transaction (for example, `SELECT 1`) prevents the transaction from becoming idle. Snapshot Read-Only Transactions: Snapshot read-only transactions provides a simpler method than locking read-write transactions for doing several consistent reads. However, this type of transaction does not support writes. Snapshot transactions do not take locks. Instead, they work by choosing a Cloud Spanner timestamp, then executing all reads at that timestamp. Since they do not acquire locks, they do not block concurrent read-write transactions. Unlike locking read-write transactions, snapshot read-only transactions never abort. They can fail if the chosen read timestamp is garbage collected; however, the default garbage collection policy is generous enough that most applications do not need to worry about this in practice. Snapshot read-only transactions do not need to call Commit or Rollback (and in fact are not permitted to do so). To execute a snapshot transaction, the client specifies a timestamp bound, which tells Cloud Spanner how to choose a read timestamp. The types of timestamp bound are: - Strong (the default). - Bounded staleness. - Exact staleness. If the Cloud Spanner database to be read is geographically distributed, stale read-only transactions can execute more quickly than strong or read-write transaction, because they are able to execute far from the leader replica. Each type of timestamp bound is discussed in detail below. Strong: Strong reads are guaranteed to see the effects of all transactions that have committed before the start of the read. Furthermore, all rows yielded by a single read are consistent with each other -- if any part of the read observes a transaction, all parts of the read see the transaction. Strong reads are not repeatable: two consecutive strong read-only transactions might return inconsistent results if there are concurrent writes. If consistency across reads is required, the reads should be executed within a transaction or at an exact read timestamp. See TransactionOptions.ReadOnly.strong. Exact Staleness: These timestamp bounds execute reads at a user-specified timestamp. Reads at a timestamp are guaranteed to see a consistent prefix of the global transaction history: they observe modifications done by all transactions with a commit timestamp less than or equal to the read timestamp, and observe none of the modifications done by transactions with a larger commit timestamp. They will block until all conflicting transactions that may be assigned commit timestamps \u003c= the read timestamp have finished. The timestamp can either be expressed as an absolute Cloud Spanner commit timestamp or a staleness relative to the current time. These modes do not require a \"negotiation phase\" to pick a timestamp. As a result, they execute slightly faster than the equivalent boundedly stale concurrency modes. On the other hand, boundedly stale reads usually return fresher results. See TransactionOptions.ReadOnly.read_timestamp and TransactionOptions.ReadOnly.exact_staleness. Bounded Staleness: Bounded staleness modes allow Cloud Spanner to pick the read timestamp, subject to a user-provided staleness bound. Cloud Spanner chooses the newest timestamp within the staleness bound that allows execution of the reads at the closest available replica without blocking. All rows yielded are consistent with each other -- if any part of the read observes a transaction, all parts of the read see the transaction. Boundedly stale reads are not repeatable: two stale reads, even if they use the same staleness bound, can execute at different timestamps and thus return inconsistent results. Boundedly stale reads execute in two phases: the first phase negotiates a timestamp among all replicas needed to serve the read. In the second phase, reads are executed at the negotiated timestamp. As a result of the two phase execution, bounded staleness reads are usually a little slower than comparable exact staleness reads. However, they are typically able to return fresher results, and are more likely to execute at the closest replica. Because the timestamp negotiation requires up-front knowledge of which rows will be read, it can only be used with single-use read-only transactions. See TransactionOptions.ReadOnly.max_staleness and TransactionOptions.ReadOnly.min_read_timestamp. Old Read Timestamps and Garbage Collection: Cloud Spanner continuously garbage collects deleted and overwritten data in the background to reclaim storage space. This process is known as \"version GC\". By default, version GC reclaims versions after they are one hour old. Because of this, Cloud Spanner cannot perform reads at read timestamps more than one hour in the past. This restriction also applies to in-progress reads and/or SQL queries whose timestamp become too old while executing. Reads and SQL queries with too-old read timestamps fail with the error `FAILED_PRECONDITION`. Partitioned DML Transactions: Partitioned DML transactions are used to execute DML statements with a different execution strategy that provides different, and often better, scalability properties for large, table-wide operations than DML in a ReadWrite transaction. Smaller scoped statements, such as an OLTP workload, should prefer using ReadWrite transactions. Partitioned DML partitions the keyspace and runs the DML statement on each partition in separate, internal transactions. These transactions commit automatically when complete, and run independently from one another. To reduce lock contention, this execution strategy only acquires read locks on rows that match the WHERE clause of the statement. Additionally, the smaller per-partition transactions hold locks for less time. That said, Partitioned DML is not a drop-in replacement for standard DML used in ReadWrite transactions. - The DML statement must be fully-partitionable. Specifically, the statement must be expressible as the union of many statements which each access only a single row of the table. - The statement is not applied atomically to all rows of the table. Rather, the statement is applied atomically to partitions of the table, in independent transactions. Secondary index rows are updated atomically with the base table rows. - Partitioned DML does not guarantee exactly-once execution semantics against a partition. The statement will be applied at least once to each partition. It is strongly recommended that the DML statement should be idempotent to avoid unexpected results. For instance, it is potentially dangerous to run a statement such as `UPDATE table SET column = column + 1` as it could be run multiple times against some rows. - The partitions are committed automatically - there is no support for Commit or Rollback. If the call returns an error, or if the client issuing the ExecuteSql call dies, it is possible that some rows had the statement executed on them successfully. It is also possible that statement was never executed against other rows. - Partitioned DML transactions may only contain the execution of a single DML statement via ExecuteSql or ExecuteStreamingSql. - If any error is encountered during the execution of the partitioned DML operation (for instance, a UNIQUE INDEX violation, division by zero, or a value that cannot be stored due to schema constraints), then the operation is stopped at that point and an error is returned. It is possible that at this point, some partitions have been committed (or even committed multiple times), and other partitions have not been run at all. Given the above, Partitioned DML is good fit for large, database-wide, operations that are idempotent, such as deleting old rows from a very large table.", + "description": "Transactions: Each session can have at most one active transaction at a time (note that standalone reads and queries use a transaction internally and do count towards the one transaction limit). After the active transaction is completed, the session can immediately be re-used for the next transaction. It is not necessary to create a new session for each transaction. Transaction modes: Cloud Spanner supports three transaction modes: 1. Locking read-write. This type of transaction is the only way to write data into Cloud Spanner. These transactions rely on pessimistic locking and, if necessary, two-phase commit. Locking read-write transactions may abort, requiring the application to retry. 2. Snapshot read-only. This transaction type provides guaranteed consistency across several reads, but does not allow writes. Snapshot read-only transactions can be configured to read at timestamps in the past. Snapshot read-only transactions do not need to be committed. 3. Partitioned DML. This type of transaction is used to execute a single Partitioned DML statement. Partitioned DML partitions the key space and runs the DML statement over each partition in parallel using separate, internal transactions that commit independently. Partitioned DML transactions do not need to be committed. For transactions that only read, snapshot read-only transactions provide simpler semantics and are almost always faster. In particular, read-only transactions do not take locks, so they do not conflict with read-write transactions. As a consequence of not taking locks, they also do not abort, so retry loops are not needed. Transactions may only read-write data in a single database. They may, however, read-write data in different tables within that database. Locking read-write transactions: Locking transactions may be used to atomically read-modify-write data anywhere in a database. This type of transaction is externally consistent. Clients should attempt to minimize the amount of time a transaction is active. Faster transactions commit with higher probability and cause less contention. Cloud Spanner attempts to keep read locks active as long as the transaction continues to do reads, and the transaction has not been terminated by Commit or Rollback. Long periods of inactivity at the client may cause Cloud Spanner to release a transaction's locks and abort it. Conceptually, a read-write transaction consists of zero or more reads or SQL statements followed by Commit. At any time before Commit, the client can send a Rollback request to abort the transaction. Semantics: Cloud Spanner can commit the transaction if all read locks it acquired are still valid at commit time, and it is able to acquire write locks for all writes. Cloud Spanner can abort the transaction for any reason. If a commit attempt returns `ABORTED`, Cloud Spanner guarantees that the transaction has not modified any user data in Cloud Spanner. Unless the transaction commits, Cloud Spanner makes no guarantees about how long the transaction's locks were held for. It is an error to use Cloud Spanner locks for any sort of mutual exclusion other than between Cloud Spanner transactions themselves. Retrying aborted transactions: When a transaction aborts, the application can choose to retry the whole transaction again. To maximize the chances of successfully committing the retry, the client should execute the retry in the same session as the original attempt. The original session's lock priority increases with each consecutive abort, meaning that each attempt has a slightly better chance of success than the previous. Under some circumstances (for example, many transactions attempting to modify the same row(s)), a transaction can abort many times in a short period before successfully committing. Thus, it is not a good idea to cap the number of retries a transaction can attempt; instead, it is better to limit the total amount of time spent retrying. Idle transactions: A transaction is considered idle if it has no outstanding reads or SQL queries and has not started a read or SQL query within the last 10 seconds. Idle transactions can be aborted by Cloud Spanner so that they don't hold on to locks indefinitely. If an idle transaction is aborted, the commit will fail with error `ABORTED`. If this behavior is undesirable, periodically executing a simple SQL query in the transaction (for example, `SELECT 1`) prevents the transaction from becoming idle. Snapshot read-only transactions: Snapshot read-only transactions provides a simpler method than locking read-write transactions for doing several consistent reads. However, this type of transaction does not support writes. Snapshot transactions do not take locks. Instead, they work by choosing a Cloud Spanner timestamp, then executing all reads at that timestamp. Since they do not acquire locks, they do not block concurrent read-write transactions. Unlike locking read-write transactions, snapshot read-only transactions never abort. They can fail if the chosen read timestamp is garbage collected; however, the default garbage collection policy is generous enough that most applications do not need to worry about this in practice. Snapshot read-only transactions do not need to call Commit or Rollback (and in fact are not permitted to do so). To execute a snapshot transaction, the client specifies a timestamp bound, which tells Cloud Spanner how to choose a read timestamp. The types of timestamp bound are: - Strong (the default). - Bounded staleness. - Exact staleness. If the Cloud Spanner database to be read is geographically distributed, stale read-only transactions can execute more quickly than strong or read-write transactions, because they are able to execute far from the leader replica. Each type of timestamp bound is discussed in detail below. Strong: Strong reads are guaranteed to see the effects of all transactions that have committed before the start of the read. Furthermore, all rows yielded by a single read are consistent with each other -- if any part of the read observes a transaction, all parts of the read see the transaction. Strong reads are not repeatable: two consecutive strong read-only transactions might return inconsistent results if there are concurrent writes. If consistency across reads is required, the reads should be executed within a transaction or at an exact read timestamp. See TransactionOptions.ReadOnly.strong. Exact staleness: These timestamp bounds execute reads at a user-specified timestamp. Reads at a timestamp are guaranteed to see a consistent prefix of the global transaction history: they observe modifications done by all transactions with a commit timestamp less than or equal to the read timestamp, and observe none of the modifications done by transactions with a larger commit timestamp. They will block until all conflicting transactions that may be assigned commit timestamps \u003c= the read timestamp have finished. The timestamp can either be expressed as an absolute Cloud Spanner commit timestamp or a staleness relative to the current time. These modes do not require a \"negotiation phase\" to pick a timestamp. As a result, they execute slightly faster than the equivalent boundedly stale concurrency modes. On the other hand, boundedly stale reads usually return fresher results. See TransactionOptions.ReadOnly.read_timestamp and TransactionOptions.ReadOnly.exact_staleness. Bounded staleness: Bounded staleness modes allow Cloud Spanner to pick the read timestamp, subject to a user-provided staleness bound. Cloud Spanner chooses the newest timestamp within the staleness bound that allows execution of the reads at the closest available replica without blocking. All rows yielded are consistent with each other -- if any part of the read observes a transaction, all parts of the read see the transaction. Boundedly stale reads are not repeatable: two stale reads, even if they use the same staleness bound, can execute at different timestamps and thus return inconsistent results. Boundedly stale reads execute in two phases: the first phase negotiates a timestamp among all replicas needed to serve the read. In the second phase, reads are executed at the negotiated timestamp. As a result of the two phase execution, bounded staleness reads are usually a little slower than comparable exact staleness reads. However, they are typically able to return fresher results, and are more likely to execute at the closest replica. Because the timestamp negotiation requires up-front knowledge of which rows will be read, it can only be used with single-use read-only transactions. See TransactionOptions.ReadOnly.max_staleness and TransactionOptions.ReadOnly.min_read_timestamp. Old read timestamps and garbage collection: Cloud Spanner continuously garbage collects deleted and overwritten data in the background to reclaim storage space. This process is known as \"version GC\". By default, version GC reclaims versions after they are one hour old. Because of this, Cloud Spanner cannot perform reads at read timestamps more than one hour in the past. This restriction also applies to in-progress reads and/or SQL queries whose timestamp become too old while executing. Reads and SQL queries with too-old read timestamps fail with the error `FAILED_PRECONDITION`. You can configure and extend the `VERSION_RETENTION_PERIOD` of a database up to a period as long as one week, which allows Cloud Spanner to perform reads up to one week in the past. Partitioned DML transactions: Partitioned DML transactions are used to execute DML statements with a different execution strategy that provides different, and often better, scalability properties for large, table-wide operations than DML in a ReadWrite transaction. Smaller scoped statements, such as an OLTP workload, should prefer using ReadWrite transactions. Partitioned DML partitions the keyspace and runs the DML statement on each partition in separate, internal transactions. These transactions commit automatically when complete, and run independently from one another. To reduce lock contention, this execution strategy only acquires read locks on rows that match the WHERE clause of the statement. Additionally, the smaller per-partition transactions hold locks for less time. That said, Partitioned DML is not a drop-in replacement for standard DML used in ReadWrite transactions. - The DML statement must be fully-partitionable. Specifically, the statement must be expressible as the union of many statements which each access only a single row of the table. - The statement is not applied atomically to all rows of the table. Rather, the statement is applied atomically to partitions of the table, in independent transactions. Secondary index rows are updated atomically with the base table rows. - Partitioned DML does not guarantee exactly-once execution semantics against a partition. The statement will be applied at least once to each partition. It is strongly recommended that the DML statement should be idempotent to avoid unexpected results. For instance, it is potentially dangerous to run a statement such as `UPDATE table SET column = column + 1` as it could be run multiple times against some rows. - The partitions are committed automatically - there is no support for Commit or Rollback. If the call returns an error, or if the client issuing the ExecuteSql call dies, it is possible that some rows had the statement executed on them successfully. It is also possible that statement was never executed against other rows. - Partitioned DML transactions may only contain the execution of a single DML statement via ExecuteSql or ExecuteStreamingSql. - If any error is encountered during the execution of the partitioned DML operation (for instance, a UNIQUE INDEX violation, division by zero, or a value that cannot be stored due to schema constraints), then the operation is stopped at that point and an error is returned. It is possible that at this point, some partitions have been committed (or even committed multiple times), and other partitions have not been run at all. Given the above, Partitioned DML is good fit for large, database-wide, operations that are idempotent, such as deleting old rows from a very large table.", "id": "TransactionOptions", "properties": { "partitionedDml": { diff --git a/spanner/v1/spanner-gen.go b/spanner/v1/spanner-gen.go index bf28ad9f134..855ac4b2d7b 100644 --- a/spanner/v1/spanner-gen.go +++ b/spanner/v1/spanner-gen.go @@ -1458,8 +1458,7 @@ func (s *DiagnosticMessage) MarshalJSON() ([]byte, error) { // duplicated empty messages in your APIs. A typical example is to use // it as the request or the response type of an API method. For // instance: service Foo { rpc Bar(google.protobuf.Empty) returns -// (google.protobuf.Empty); } The JSON representation for `Empty` is -// empty JSON object `{}`. +// (google.protobuf.Empty); } type Empty struct { // ServerResponse contains the HTTP response code and headers from the // server. @@ -4817,7 +4816,7 @@ func (s *Transaction) MarshalJSON() ([]byte, error) { // use a transaction internally and do count towards the one transaction // limit). After the active transaction is completed, the session can // immediately be re-used for the next transaction. It is not necessary -// to create a new session for each transaction. Transaction Modes: +// to create a new session for each transaction. Transaction modes: // Cloud Spanner supports three transaction modes: 1. Locking // read-write. This type of transaction is the only way to write data // into Cloud Spanner. These transactions rely on pessimistic locking @@ -4836,9 +4835,9 @@ func (s *Transaction) MarshalJSON() ([]byte, error) { // almost always faster. In particular, read-only transactions do not // take locks, so they do not conflict with read-write transactions. As // a consequence of not taking locks, they also do not abort, so retry -// loops are not needed. Transactions may only read/write data in a -// single database. They may, however, read/write data in different -// tables within that database. Locking Read-Write Transactions: Locking +// loops are not needed. Transactions may only read-write data in a +// single database. They may, however, read-write data in different +// tables within that database. Locking read-write transactions: Locking // transactions may be used to atomically read-modify-write data // anywhere in a database. This type of transaction is externally // consistent. Clients should attempt to minimize the amount of time a @@ -4860,7 +4859,7 @@ func (s *Transaction) MarshalJSON() ([]byte, error) { // guarantees about how long the transaction's locks were held for. It // is an error to use Cloud Spanner locks for any sort of mutual // exclusion other than between Cloud Spanner transactions themselves. -// Retrying Aborted Transactions: When a transaction aborts, the +// Retrying aborted transactions: When a transaction aborts, the // application can choose to retry the whole transaction again. To // maximize the chances of successfully committing the retry, the client // should execute the retry in the same session as the original attempt. @@ -4871,7 +4870,7 @@ func (s *Transaction) MarshalJSON() ([]byte, error) { // transaction can abort many times in a short period before // successfully committing. Thus, it is not a good idea to cap the // number of retries a transaction can attempt; instead, it is better to -// limit the total amount of time spent retrying. Idle Transactions: A +// limit the total amount of time spent retrying. Idle transactions: A // transaction is considered idle if it has no outstanding reads or SQL // queries and has not started a read or SQL query within the last 10 // seconds. Idle transactions can be aborted by Cloud Spanner so that @@ -4879,7 +4878,7 @@ func (s *Transaction) MarshalJSON() ([]byte, error) { // aborted, the commit will fail with error `ABORTED`. If this behavior // is undesirable, periodically executing a simple SQL query in the // transaction (for example, `SELECT 1`) prevents the transaction from -// becoming idle. Snapshot Read-Only Transactions: Snapshot read-only +// becoming idle. Snapshot read-only transactions: Snapshot read-only // transactions provides a simpler method than locking read-write // transactions for doing several consistent reads. However, this type // of transaction does not support writes. Snapshot transactions do not @@ -4897,7 +4896,7 @@ func (s *Transaction) MarshalJSON() ([]byte, error) { // timestamp bound are: - Strong (the default). - Bounded staleness. - // Exact staleness. If the Cloud Spanner database to be read is // geographically distributed, stale read-only transactions can execute -// more quickly than strong or read-write transaction, because they are +// more quickly than strong or read-write transactions, because they are // able to execute far from the leader replica. Each type of timestamp // bound is discussed in detail below. Strong: Strong reads are // guaranteed to see the effects of all transactions that have committed @@ -4908,7 +4907,7 @@ func (s *Transaction) MarshalJSON() ([]byte, error) { // transactions might return inconsistent results if there are // concurrent writes. If consistency across reads is required, the reads // should be executed within a transaction or at an exact read -// timestamp. See TransactionOptions.ReadOnly.strong. Exact Staleness: +// timestamp. See TransactionOptions.ReadOnly.strong. Exact staleness: // These timestamp bounds execute reads at a user-specified timestamp. // Reads at a timestamp are guaranteed to see a consistent prefix of the // global transaction history: they observe modifications done by all @@ -4923,7 +4922,7 @@ func (s *Transaction) MarshalJSON() ([]byte, error) { // equivalent boundedly stale concurrency modes. On the other hand, // boundedly stale reads usually return fresher results. See // TransactionOptions.ReadOnly.read_timestamp and -// TransactionOptions.ReadOnly.exact_staleness. Bounded Staleness: +// TransactionOptions.ReadOnly.exact_staleness. Bounded staleness: // Bounded staleness modes allow Cloud Spanner to pick the read // timestamp, subject to a user-provided staleness bound. Cloud Spanner // chooses the newest timestamp within the staleness bound that allows @@ -4943,8 +4942,8 @@ func (s *Transaction) MarshalJSON() ([]byte, error) { // requires up-front knowledge of which rows will be read, it can only // be used with single-use read-only transactions. See // TransactionOptions.ReadOnly.max_staleness and -// TransactionOptions.ReadOnly.min_read_timestamp. Old Read Timestamps -// and Garbage Collection: Cloud Spanner continuously garbage collects +// TransactionOptions.ReadOnly.min_read_timestamp. Old read timestamps +// and garbage collection: Cloud Spanner continuously garbage collects // deleted and overwritten data in the background to reclaim storage // space. This process is known as "version GC". By default, version GC // reclaims versions after they are one hour old. Because of this, Cloud @@ -4952,7 +4951,10 @@ func (s *Transaction) MarshalJSON() ([]byte, error) { // the past. This restriction also applies to in-progress reads and/or // SQL queries whose timestamp become too old while executing. Reads and // SQL queries with too-old read timestamps fail with the error -// `FAILED_PRECONDITION`. Partitioned DML Transactions: Partitioned DML +// `FAILED_PRECONDITION`. You can configure and extend the +// `VERSION_RETENTION_PERIOD` of a database up to a period as long as +// one week, which allows Cloud Spanner to perform reads up to one week +// in the past. Partitioned DML transactions: Partitioned DML // transactions are used to execute DML statements with a different // execution strategy that provides different, and often better, // scalability properties for large, table-wide operations than DML in a diff --git a/sqladmin/v1/sqladmin-api.json b/sqladmin/v1/sqladmin-api.json index 7272075f778..f03e1029126 100644 --- a/sqladmin/v1/sqladmin-api.json +++ b/sqladmin/v1/sqladmin-api.json @@ -1877,7 +1877,7 @@ } } }, - "revision": "20220310", + "revision": "20220323", "rootUrl": "https://sqladmin.googleapis.com/", "schemas": { "AclEntry": { @@ -2249,6 +2249,8 @@ "MYSQL_8_0", "MYSQL_8_0_18", "MYSQL_8_0_26", + "MYSQL_8_0_27", + "MYSQL_8_0_28", "POSTGRES_13", "POSTGRES_14", "SQLSERVER_2019_STANDARD", @@ -2273,6 +2275,8 @@ "The database version is MySQL 8.", "The database major version is MySQL 8.0 and the minor version is 18.", "The database major version is MySQL 8.0 and the minor version is 26.", + "The database major version is MySQL 8.0 and the minor version is 27.", + "The database major version is MySQL 8.0 and the minor version is 28.", "The database version is PostgreSQL 13.", "The database version is PostgreSQL 14.", "The database version is SQL Server 2019 Standard.", @@ -2427,6 +2431,8 @@ "MYSQL_8_0", "MYSQL_8_0_18", "MYSQL_8_0_26", + "MYSQL_8_0_27", + "MYSQL_8_0_28", "POSTGRES_13", "POSTGRES_14", "SQLSERVER_2019_STANDARD", @@ -2451,6 +2457,8 @@ "The database version is MySQL 8.", "The database major version is MySQL 8.0 and the minor version is 18.", "The database major version is MySQL 8.0 and the minor version is 26.", + "The database major version is MySQL 8.0 and the minor version is 27.", + "The database major version is MySQL 8.0 and the minor version is 28.", "The database version is PostgreSQL 13.", "The database version is PostgreSQL 14.", "The database version is SQL Server 2019 Standard.", @@ -2936,6 +2944,8 @@ "MYSQL_8_0", "MYSQL_8_0_18", "MYSQL_8_0_26", + "MYSQL_8_0_27", + "MYSQL_8_0_28", "POSTGRES_13", "POSTGRES_14", "SQLSERVER_2019_STANDARD", @@ -2960,6 +2970,8 @@ "The database version is MySQL 8.", "The database major version is MySQL 8.0 and the minor version is 18.", "The database major version is MySQL 8.0 and the minor version is 26.", + "The database major version is MySQL 8.0 and the minor version is 27.", + "The database major version is MySQL 8.0 and the minor version is 28.", "The database version is PostgreSQL 13.", "The database version is PostgreSQL 14.", "The database version is SQL Server 2019 Standard.", @@ -3845,6 +3857,10 @@ "description": "Disallow username as a part of the password.", "type": "boolean" }, + "enablePasswordPolicy": { + "description": "Whether the password policy is enabled or not.", + "type": "boolean" + }, "minLength": { "description": "Minimum number of characters allowed.", "format": "int32", diff --git a/sqladmin/v1/sqladmin-gen.go b/sqladmin/v1/sqladmin-gen.go index 9b7ad48fd32..ac0e4e54ec8 100644 --- a/sqladmin/v1/sqladmin-gen.go +++ b/sqladmin/v1/sqladmin-gen.go @@ -784,6 +784,10 @@ type ConnectSettings struct { // minor version is 18. // "MYSQL_8_0_26" - The database major version is MySQL 8.0 and the // minor version is 26. + // "MYSQL_8_0_27" - The database major version is MySQL 8.0 and the + // minor version is 27. + // "MYSQL_8_0_28" - The database major version is MySQL 8.0 and the + // minor version is 28. // "POSTGRES_13" - The database version is PostgreSQL 13. // "POSTGRES_14" - The database version is PostgreSQL 14. // "SQLSERVER_2019_STANDARD" - The database version is SQL Server 2019 @@ -1000,6 +1004,10 @@ type DatabaseInstance struct { // minor version is 18. // "MYSQL_8_0_26" - The database major version is MySQL 8.0 and the // minor version is 26. + // "MYSQL_8_0_27" - The database major version is MySQL 8.0 and the + // minor version is 27. + // "MYSQL_8_0_28" - The database major version is MySQL 8.0 and the + // minor version is 28. // "POSTGRES_13" - The database version is PostgreSQL 13. // "POSTGRES_14" - The database version is PostgreSQL 14. // "SQLSERVER_2019_STANDARD" - The database version is SQL Server 2019 @@ -1768,6 +1776,10 @@ type Flag struct { // minor version is 18. // "MYSQL_8_0_26" - The database major version is MySQL 8.0 and the // minor version is 26. + // "MYSQL_8_0_27" - The database major version is MySQL 8.0 and the + // minor version is 27. + // "MYSQL_8_0_28" - The database major version is MySQL 8.0 and the + // minor version is 28. // "POSTGRES_13" - The database version is PostgreSQL 13. // "POSTGRES_14" - The database version is PostgreSQL 14. // "SQLSERVER_2019_STANDARD" - The database version is SQL Server 2019 @@ -3189,6 +3201,9 @@ type PasswordValidationPolicy struct { // password. DisallowUsernameSubstring bool `json:"disallowUsernameSubstring,omitempty"` + // EnablePasswordPolicy: Whether the password policy is enabled or not. + EnablePasswordPolicy bool `json:"enablePasswordPolicy,omitempty"` + // MinLength: Minimum number of characters allowed. MinLength int64 `json:"minLength,omitempty"` diff --git a/sqladmin/v1beta4/sqladmin-api.json b/sqladmin/v1beta4/sqladmin-api.json index b3d9b021354..53b6c8781d9 100644 --- a/sqladmin/v1beta4/sqladmin-api.json +++ b/sqladmin/v1beta4/sqladmin-api.json @@ -1877,7 +1877,7 @@ } } }, - "revision": "20220310", + "revision": "20220323", "rootUrl": "https://sqladmin.googleapis.com/", "schemas": { "AclEntry": { @@ -2249,6 +2249,8 @@ "MYSQL_8_0", "MYSQL_8_0_18", "MYSQL_8_0_26", + "MYSQL_8_0_27", + "MYSQL_8_0_28", "POSTGRES_13", "POSTGRES_14", "SQLSERVER_2019_STANDARD", @@ -2273,6 +2275,8 @@ "The database version is MySQL 8.", "The database major version is MySQL 8.0 and the minor version is 18.", "The database major version is MySQL 8.0 and the minor version is 26.", + "The database major version is MySQL 8.0 and the minor version is 27.", + "The database major version is MySQL 8.0 and the minor version is 28.", "The database version is PostgreSQL 13.", "The database version is PostgreSQL 14.", "The database version is SQL Server 2019 Standard.", @@ -2427,6 +2431,8 @@ "MYSQL_8_0", "MYSQL_8_0_18", "MYSQL_8_0_26", + "MYSQL_8_0_27", + "MYSQL_8_0_28", "POSTGRES_13", "POSTGRES_14", "SQLSERVER_2019_STANDARD", @@ -2451,6 +2457,8 @@ "The database version is MySQL 8.", "The database major version is MySQL 8.0 and the minor version is 18.", "The database major version is MySQL 8.0 and the minor version is 26.", + "The database major version is MySQL 8.0 and the minor version is 27.", + "The database major version is MySQL 8.0 and the minor version is 28.", "The database version is PostgreSQL 13.", "The database version is PostgreSQL 14.", "The database version is SQL Server 2019 Standard.", @@ -2936,6 +2944,8 @@ "MYSQL_8_0", "MYSQL_8_0_18", "MYSQL_8_0_26", + "MYSQL_8_0_27", + "MYSQL_8_0_28", "POSTGRES_13", "POSTGRES_14", "SQLSERVER_2019_STANDARD", @@ -2960,6 +2970,8 @@ "The database version is MySQL 8.", "The database major version is MySQL 8.0 and the minor version is 18.", "The database major version is MySQL 8.0 and the minor version is 26.", + "The database major version is MySQL 8.0 and the minor version is 27.", + "The database major version is MySQL 8.0 and the minor version is 28.", "The database version is PostgreSQL 13.", "The database version is PostgreSQL 14.", "The database version is SQL Server 2019 Standard.", @@ -3845,6 +3857,10 @@ "description": "Disallow username as a part of the password.", "type": "boolean" }, + "enablePasswordPolicy": { + "description": "Whether the password policy is enabled or not.", + "type": "boolean" + }, "minLength": { "description": "Minimum number of characters allowed.", "format": "int32", diff --git a/sqladmin/v1beta4/sqladmin-gen.go b/sqladmin/v1beta4/sqladmin-gen.go index 8473ba97c93..d10684298c2 100644 --- a/sqladmin/v1beta4/sqladmin-gen.go +++ b/sqladmin/v1beta4/sqladmin-gen.go @@ -784,6 +784,10 @@ type ConnectSettings struct { // minor version is 18. // "MYSQL_8_0_26" - The database major version is MySQL 8.0 and the // minor version is 26. + // "MYSQL_8_0_27" - The database major version is MySQL 8.0 and the + // minor version is 27. + // "MYSQL_8_0_28" - The database major version is MySQL 8.0 and the + // minor version is 28. // "POSTGRES_13" - The database version is PostgreSQL 13. // "POSTGRES_14" - The database version is PostgreSQL 14. // "SQLSERVER_2019_STANDARD" - The database version is SQL Server 2019 @@ -999,6 +1003,10 @@ type DatabaseInstance struct { // minor version is 18. // "MYSQL_8_0_26" - The database major version is MySQL 8.0 and the // minor version is 26. + // "MYSQL_8_0_27" - The database major version is MySQL 8.0 and the + // minor version is 27. + // "MYSQL_8_0_28" - The database major version is MySQL 8.0 and the + // minor version is 28. // "POSTGRES_13" - The database version is PostgreSQL 13. // "POSTGRES_14" - The database version is PostgreSQL 14. // "SQLSERVER_2019_STANDARD" - The database version is SQL Server 2019 @@ -1767,6 +1775,10 @@ type Flag struct { // minor version is 18. // "MYSQL_8_0_26" - The database major version is MySQL 8.0 and the // minor version is 26. + // "MYSQL_8_0_27" - The database major version is MySQL 8.0 and the + // minor version is 27. + // "MYSQL_8_0_28" - The database major version is MySQL 8.0 and the + // minor version is 28. // "POSTGRES_13" - The database version is PostgreSQL 13. // "POSTGRES_14" - The database version is PostgreSQL 14. // "SQLSERVER_2019_STANDARD" - The database version is SQL Server 2019 @@ -3189,6 +3201,9 @@ type PasswordValidationPolicy struct { // password. DisallowUsernameSubstring bool `json:"disallowUsernameSubstring,omitempty"` + // EnablePasswordPolicy: Whether the password policy is enabled or not. + EnablePasswordPolicy bool `json:"enablePasswordPolicy,omitempty"` + // MinLength: Minimum number of characters allowed. MinLength int64 `json:"minLength,omitempty"` diff --git a/workflows/v1/workflows-api.json b/workflows/v1/workflows-api.json index b1770cac689..c6ae34a3ed9 100644 --- a/workflows/v1/workflows-api.json +++ b/workflows/v1/workflows-api.json @@ -444,11 +444,11 @@ } } }, - "revision": "20210728", + "revision": "20220323", "rootUrl": "https://workflows.googleapis.com/", "schemas": { "Empty": { - "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } The JSON representation for `Empty` is empty JSON object `{}`.", + "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }", "id": "Empty", "properties": {}, "type": "object" diff --git a/workflows/v1/workflows-gen.go b/workflows/v1/workflows-gen.go index 48afa21ab34..60a20d30b80 100644 --- a/workflows/v1/workflows-gen.go +++ b/workflows/v1/workflows-gen.go @@ -186,8 +186,7 @@ type ProjectsLocationsWorkflowsService struct { // duplicated empty messages in your APIs. A typical example is to use // it as the request or the response type of an API method. For // instance: service Foo { rpc Bar(google.protobuf.Empty) returns -// (google.protobuf.Empty); } The JSON representation for `Empty` is -// empty JSON object `{}`. +// (google.protobuf.Empty); } type Empty struct { // ServerResponse contains the HTTP response code and headers from the // server.