class_docstr: Update the parameters of a single service.
  
  :param project_id: Required. The ID of the Google Cloud project that the service belongs to.
  :param region: Required. The ID of the Google Cloud region that the service belongs to.
  :param service_id:  Required. The ID of the metastore service, which is used as the final component of
      the metastore service's name. This value must be between 2 and 63 characters long inclusive, begin
      with a letter, end with a letter or number, and consist of alphanumeric ASCII characters or
      hyphens.
  
      This corresponds to the ``service_id`` field on the ``request`` instance; if ``request`` is
      provided, this should not be set.
  :param service:  Required. The metastore service to update. The server only merges fields in the service
      if they are specified in ``update_mask``.
  
      The metastore service's ``name`` field is used to identify the metastore service to be updated.
  
      This corresponds to the ``service`` field on the ``request`` instance; if ``request`` is provided,
      this should not be set.
  :param update_mask:  Required. A field mask used to specify the fields to be overwritten in the metastore
      service resource by the update. Fields specified in the ``update_mask`` are relative to the resource
      (not to the full request). A field is overwritten if it is in the mask.
  
      This corresponds to the ``update_mask`` field on the ``request`` instance; if ``request`` is provided,
      this should not be set.
  :param request_id: Optional. A unique id used to identify the request.
  :param retry: Optional. Designation of what errors, if any, should be retried.
  :param timeout: Optional. The timeout for this request.
  :param metadata: Optional. Strings which should be sent along with the request as metadata.
  :param gcp_conn_id: The connection ID to use connecting to Google Cloud.
  :param impersonation_chain: Optional service account to impersonate using short-term
      credentials, or chained list of accounts required to get the access_token
      of the last account in the list, which will be impersonated in the request.
      If set as a string, the account must grant the originating account
      the Service Account Token Creator IAM role.
      If set as a sequence, the identities from the list must grant
      Service Account Token Creator IAM role to the directly preceding identity, with first
      account from the list granting this role to the originating account (templated).
class_docstr_tok: ["Update","the","parameters","of","a","single","service",".",":","param","project_id",":","Required",".","The","ID","of","the","Google","Cloud","project","that","the","service","belongs","to",".",":","param","region",":","Required",".","The","ID","of","the","Google","Cloud","region","that","the","service","belongs","to",".",":","param","service_id",":","Required",".","The","ID","of","the","metastore","service",",","which","is","used","as","the","final","component","of","the","metastore","service","'s","name",".","This","value","must","be","between","2","and","63","characters","long","inclusive",",","begin","with","a","letter",",","end","with","a","letter","or","number",",","and","consist","of","alphanumeric","ASCII","characters","or","hyphens",".","This","corresponds","to","the","``","service_id","``","field","on","the","``","request","``","instance",";","if","``","request","``","is","provided",",","this","should","not","be","set",".",":","param","service",":","Required",".","The","metastore","service","to","update",".","The","server","only","merges","fields","in","the","service","if","they","are","specified","in","``","update_mask","``",".","The","metastore","service","'s","``","name","``","field","is","used","to","identify","the","metastore","service","to","be","updated",".","This","corresponds","to","the","``","service","``","field","on","the","``","request","``","instance",";","if","``","request","``","is","provided",",","this","should","not","be","set",".",":","param","update_mask",":","Required",".","A","field","mask","used","to","specify","the","fields","to","be","overwritten","in","the","metastore","service","resource","by","the","update",".","Fields","specified","in","the","``","update_mask","``","are","relative","to","the","resource","(","not","to","the","full","request",")",".","A","field","is","overwritten","if","it","is","in","the","mask",".","This","corresponds","to","the","``","update_mask","``","field","on","the","``","request","``","instance",";","if","``","request","``","is","provided",",","this","should","not","be","set",".",":","param","request_id",":","Optional",".","A","unique","id","used","to","identify","the","request",".",":","param","retry",":","Optional",".","Designation","of","what","errors",",","if","any",",","should","be","retried",".",":","param","timeout",":","Optional",".","The","timeout","for","this","request",".",":","param","metadata",":","Optional",".","Strings","which","should","be","sent","along","with","the","request","as","metadata",".",":","param","gcp_conn_id",":","The","connection","ID","to","use","connecting","to","Google","Cloud",".",":","param","impersonation_chain",":","Optional","service","account","to","impersonate","using","short-term","credentials",",","or","chained","list","of","accounts","required","to","get","the","access_token","of","the","last","account","in","the","list",",","which","will","be","impersonated","in","the","request",".","If","set","as","a","string",",","the","account","must","grant","the","originating","account","the","Service","Account","Token","Creator","IAM","role",".","If","set","as","a","sequence",",","the","identities","from","the","list","must","grant","Service","Account","Token","Creator","IAM","role","to","the","directly","preceding","identity",",","with","first","account","from","the","list","granting","this","role","to","the","originating","account","(","templated",")","."]
code: def __init__(
      self,
      *,
      project_id: str,
      region: str,
      service_id: str,
      service: dict | Service,
      update_mask: FieldMask,
      request_id: str | None = None,
      retry: Retry | _MethodDefault = DEFAULT,
      timeout: float | None = None,
      metadata: Sequence[tuple[str, str]] = (),
      gcp_conn_id: str = "google_cloud_default",
      impersonation_chain: str | Sequence[str] | None = None,
      **kwargs,
  ) -> None:
      super().__init__(**kwargs)
      self.project_id = project_id
      self.region = region
      self.service_id = service_id
      self.service = service
      self.update_mask = update_mask
      self.request_id = request_id
      self.retry = retry
      self.timeout = timeout
      self.metadata = metadata
      self.gcp_conn_id = gcp_conn_id
      self.impersonation_chain = impersonation_chain
  
imports: from __future__ import annotations
  import time
  from typing import TYPE_CHECKING, Sequence
  from google.api_core.gapic_v1.method import DEFAULT, _MethodDefault
  from google.api_core.retry import Retry, exponential_sleep_generator
  from google.cloud.metastore_v1 import MetadataExport, MetadataManagementActivity
  from google.cloud.metastore_v1.types import Backup, MetadataImport, Service
  from google.cloud.metastore_v1.types.metastore import DatabaseDumpSpec, Restore
  from googleapiclient.errors import HttpError
  from airflow.exceptions import AirflowException
  from airflow.models import BaseOperator, BaseOperatorLink
  from airflow.models.xcom import XCom
  from airflow.providers.google.cloud.hooks.dataproc_metastore import DataprocMetastoreHook
  from airflow.providers.google.cloud.operators.cloud_base import GoogleCloudBaseOperator
  from airflow.providers.google.common.links.storage import StorageLink
label_desc: Use image node_id 1 to create a new DataprocMetastoreUpdateServiceOperator object from inherited base classes: GoogleCloudBaseOperator with example: obj = DataprocMetastoreUpdateServiceOperator()