
                            S r SSKJr  SSKJr  SSKJr  SSKJr  Sr	 " S S\R                  5      r " S	 S
\R                  5      r " S S\R                  5      r " S S\R                  5      r " S S\R                  5      r " S S\R                  5      r " S S\R                  5      r " S S\R                  5      r " S S\R                  5      r " S S\R                  5      r " S S\R                  5      r " S S\R                  5      r " S S \R                  5      r " S! S"\R                  5      r " S# S$\R                  5      r " S% S&\R                  5      r " S' S(\R                  5      r " S) S*\R                  5      r " S+ S,\R                  5      r " S- S.\R                  5      r " S/ S0\R                  5      r " S1 S2\R                  5      r  " S3 S4\R                  5      r! " S5 S6\R                  5      r" " S7 S8\R                  5      r# " S9 S:\R                  5      r$ " S; S<\R                  5      r% " S= S>\R                  5      r& " S? S@\R                  5      r' " SA SB\R                  5      r( " SC SD\R                  5      r) " SE SF\R                  5      r* " SG SH\R                  5      r+ " SI SJ\R                  5      r, " SK SL\R                  5      r- " SM SN\R                  5      r. " SO SP\R                  5      r/ " SQ SR\R                  5      r0 " SS ST\R                  5      r1 " SU SV\R                  5      r2 " SW SX\R                  5      r3 " SY SZ\R                  5      r4 " S[ S\\R                  5      r5 " S] S^\R                  5      r6 " S_ S`\R                  5      r7 " Sa Sb\R                  5      r8 " Sc Sd\R                  5      r9 " Se Sf\R                  5      r: " Sg Sh\R                  5      r; " Si Sj\R                  5      r<\Rz                  " \,SkSl5        \Rz                  " \,SmSn5        \Rz                  " \,SoSp5        \Rz                  " \,SqSr5        \Rz                  " \,SsSt5        \Rz                  " \,SuSv5        \Rz                  " \,SwSx5        \Rz                  " \0SySz5        \Rz                  " \0S{S|5        \Rz                  " \1S{S|5        \Rz                  " \2S{S|5        \Rz                  " \3S}S~5        \Rz                  " \5SS5        \Rz                  " \8SS5        \R|                  " \8R~                  SS5        \R|                  " \8R~                  SS5        \Rz                  " \SS5        \Rz                  " \SS5        \Rz                  " \SS5        \Rz                  " \!SS5        \Rz                  " \"SS5        g)zGenerated message classes for biglake version v1.

The BigLake API provides access to BigLake Metastore, a serverless, fully
managed, and highly available metastore for open-source data that can be used
for querying Apache Iceberg tables in BigQuery.
    )absolute_import)messages)encoding)extra_typesbiglakec                   `    \ rS rSrSr\R                  " SSSS9r\R                  " S5      r	Sr
g	)
AuditConfig   aw  Specifies the audit configuration for a service. The configuration
determines which permission types are logged, and what identities, if any,
are exempted from logging. An AuditConfig must have one or more
AuditLogConfigs. If there are AuditConfigs for both `allServices` and a
specific service, the union of the two AuditConfigs is used for that
service: the log_types specified in each AuditConfig are enabled, and the
exempted_members in each AuditLogConfig are exempted. Example Policy with
multiple AuditConfigs: { "audit_configs": [ { "service": "allServices",
"audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [
"user:jose@example.com" ] }, { "log_type": "DATA_WRITE" }, { "log_type":
"ADMIN_READ" } ] }, { "service": "sampleservice.googleapis.com",
"audit_log_configs": [ { "log_type": "DATA_READ" }, { "log_type":
"DATA_WRITE", "exempted_members": [ "user:aliya@example.com" ] } ] } ] } For
sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ
logging. It also exempts `jose@example.com` from DATA_READ logging, and
`aliya@example.com` from DATA_WRITE logging.

Fields:
  auditLogConfigs: The configuration for logging of each type of permission.
  service: Specifies a service that will be enabled for audit logging. For
    example, `storage.googleapis.com`, `cloudsql.googleapis.com`.
    `allServices` is a special value that covers all services.
AuditLogConfig   Trepeated    N)__name__
__module____qualname____firstlineno____doc__	_messagesMessageFieldauditLogConfigsStringFieldservice__static_attributes__r       Klib/googlecloudsdk/generated_clients/apis/biglake/v1/biglake_v1_messages.pyr	   r	      s.    0 **+;QN/!!!$'r   r	   c                       \ rS rSrSr " S S\R                  5      r\R                  " SSS9r	\R                  " SS5      rS	rg
)r   0   aR  Provides the configuration for logging a type of permissions. Example: {
"audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [
"user:jose@example.com" ] }, { "log_type": "DATA_WRITE" } ] } This enables
'DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from
DATA_READ logging.

Enums:
  LogTypeValueValuesEnum: The log type that this config enables.

Fields:
  exemptedMembers: Specifies the identities that do not cause logging for
    this type of permission. Follows the same format of Binding.members.
  logType: The log type that this config enables.
c                   (    \ rS rSrSrSrSrSrSrSr	g)	%AuditLogConfig.LogTypeValueValuesEnum@   a  The log type that this config enables.

Values:
  LOG_TYPE_UNSPECIFIED: Default case. Should never be this.
  ADMIN_READ: Admin reads. Example: CloudIAM getIamPolicy
  DATA_WRITE: Data writes. Example: CloudSQL Users create
  DATA_READ: Data reads. Example: CloudSQL Users list
r   r   r      r   N)
r   r   r   r   r   LOG_TYPE_UNSPECIFIED
ADMIN_READ
DATA_WRITE	DATA_READr   r   r   r   LogTypeValueValuesEnumr!   @   s     JJIr   r(   r   Tr   r   r   N)r   r   r   r   r   r   Enumr(   r   exemptedMembers	EnumFieldlogTyper   r   r   r   r   r   0   s>    y~~  ))!d;/ 8!<'r   r   c                       \ rS rSrSr\R                  " S5      r\R                  " SS5      r	\R                  " SSS9r
S	rg
)BBiglakeIcebergV1RestcatalogExtensionsProjectsCatalogsCreateRequestR   aO  A BiglakeIcebergV1RestcatalogExtensionsProjectsCatalogsCreateRequest
object.

Fields:
  iceberg_catalog_id: Required. The name of the catalog.
  icebergCatalog: A IcebergCatalog resource to be passed as the request
    body.
  parent: Required. The parent resource where this catalog will be created.
    Format: projects/{project_id}
r   IcebergCatalogr   r#   Trequiredr   N)r   r   r   r   r   r   r   iceberg_catalog_idr   icebergCatalogparentr   r   r   r   r.   r.   R   s?    	 !,,Q/))*:A>.  T2&r   r.   c                   :    \ rS rSrSr\R                  " SSS9rSrg)BBiglakeIcebergV1RestcatalogExtensionsProjectsCatalogsDeleteRequestc   zA BiglakeIcebergV1RestcatalogExtensionsProjectsCatalogsDeleteRequest
object.

Fields:
  name: Required. The catalog to delete.
r   Tr1   r   N	r   r   r   r   r   r   r   namer   r   r   r   r7   r7   c        
		q4	0$r   r7   c                   `    \ rS rSrSr\R                  " SS5      r\R                  " SSS9r	Sr
g	)
DBiglakeIcebergV1RestcatalogExtensionsProjectsCatalogsFailoverRequestn   a0  A BiglakeIcebergV1RestcatalogExtensionsProjectsCatalogsFailoverRequest
object.

Fields:
  failoverIcebergCatalogRequest: A FailoverIcebergCatalogRequest resource to
    be passed as the request body.
  name: Required. The name of the catalog in the form
    "projects/{project_id}/catalogs/{catalog_id}"
FailoverIcebergCatalogRequestr   r   Tr1   r   N)r   r   r   r   r   r   r   failoverIcebergCatalogRequestr   r:   r   r   r   r   r=   r=   n   s0     #,"8"89XZ["\			q4	0$r   r=   c                   :    \ rS rSrSr\R                  " SSS9rSrg)?BiglakeIcebergV1RestcatalogExtensionsProjectsCatalogsGetRequest}   zyA BiglakeIcebergV1RestcatalogExtensionsProjectsCatalogsGetRequest
object.

Fields:
  name: Required. The catalog to get.
r   Tr1   r   Nr9   r   r   r   rB   rB   }   r;   r   rB   c                       \ rS rSrSr " S S\R                  5      r\R                  " S\R                  R                  S9r\R                  " S5      r\R                  " SS	S
9r\R                  " SS5      rSrg)@BiglakeIcebergV1RestcatalogExtensionsProjectsCatalogsListRequest   aI  A BiglakeIcebergV1RestcatalogExtensionsProjectsCatalogsListRequest
object.

Enums:
  ViewValueValuesEnum: Optional. The view of the catalog to return.

Fields:
  page_size: Optional. The maximum number of catalogs to return. The service
    may return fewer than this value.
  page_token: Optional. The page token, received from a previous
    `ListIcebergCatalogs` call. Provide this to retrieve the subsequent
    page.
  parent: Required. The parent resource where this catalog will be created.
    Format: projects/{project_id}
  view: Optional. The view of the catalog to return.
c                   $    \ rS rSrSrSrSrSrSrg)TBiglakeIcebergV1RestcatalogExtensionsProjectsCatalogsListRequest.ViewValueValuesEnum   zOptional. The view of the catalog to return.

Values:
  CATALOG_VIEW_UNSPECIFIED: Default/unset value. Same as BASIC.
  CATALOG_VIEW_BASIC: Include only the name and catalog type.
  CATALOG_VIEW_FULL: Include all fields of the catalog.
r   r   r   r   N)	r   r   r   r   r   CATALOG_VIEW_UNSPECIFIEDCATALOG_VIEW_BASICCATALOG_VIEW_FULLr   r   r   r   ViewValueValuesEnumrH      s      !r   rM   r   variantr   r#   Tr1      r   N)r   r   r   r   r   r   r)   rM   IntegerFieldVariantINT32	page_sizer   
page_tokenr5   r+   viewr   r   r   r   rE   rE      sl    "
INN 
 $$Q	0A0A0G0GH)$$Q'*  T2&			2A	6$r   rE   c                       \ rS rSrSr\R                  " SS5      r\R                  " SSS9r	\R                  " S5      r
S	rg
)ABiglakeIcebergV1RestcatalogExtensionsProjectsCatalogsPatchRequest   a  A BiglakeIcebergV1RestcatalogExtensionsProjectsCatalogsPatchRequest
object.

Fields:
  icebergCatalog: A IcebergCatalog resource to be passed as the request
    body.
  name: Identifier. The catalog name, `projects/my-project/catalogs/my-
    catalog`. This field is immutable. This field is ignored for
    CreateIcebergCatalog.
  updateMask: Optional. The list of fields to update.
r0   r   r   Tr1   r#   r   N)r   r   r   r   r   r   r   r4   r   r:   
updateMaskr   r   r   r   rX   rX      s>    
 ))*:A>.			q4	0$$$Q'*r   rX   c                   <    \ rS rSrSr\R                  " S5      rSrg)-BiglakeIcebergV1RestcatalogV1GetConfigRequest   zA BiglakeIcebergV1RestcatalogV1GetConfigRequest object.

Fields:
  warehouse: Required. Warehouse location or identifier to request from the
    service.
r   r   N)	r   r   r   r   r   r   r   	warehouser   r   r   r   r\   r\      s     ##A&)r   r\   c                   `    \ rS rSrSr\R                  " SS5      r\R                  " SSS9r	Sr
g	)
DBiglakeIcebergV1RestcatalogV1ProjectsCatalogsNamespacesCreateRequest   a4  A BiglakeIcebergV1RestcatalogV1ProjectsCatalogsNamespacesCreateRequest
object.

Fields:
  icebergNamespace: A IcebergNamespace resource to be passed as the request
    body.
  parent: Required. The parent resource where this namespace will be
    created. Format: projects/{project_id}/catalogs/{catalog_id}
IcebergNamespacer   r   Tr1   r   N)r   r   r   r   r   r   r   icebergNamespacer   r5   r   r   r   r   r`   r`      s/     ++,>B  T2&r   r`   c                   :    \ rS rSrSr\R                  " SSS9rSrg)DBiglakeIcebergV1RestcatalogV1ProjectsCatalogsNamespacesDeleteRequest   zA BiglakeIcebergV1RestcatalogV1ProjectsCatalogsNamespacesDeleteRequest
object.

Fields:
  name: Required. Iceberg namespace to delete in the format:
    `projects/{project_id}/catalogs/{catalog_id}/namespaces/{namespace}`.
r   Tr1   r   Nr9   r   r   r   re   re           
		q4	0$r   re   c                   :    \ rS rSrSr\R                  " SSS9rSrg)ABiglakeIcebergV1RestcatalogV1ProjectsCatalogsNamespacesGetRequest   zA BiglakeIcebergV1RestcatalogV1ProjectsCatalogsNamespacesGetRequest
object.

Fields:
  name: Required. Iceberg namespace to fetch in the format:
    `projects/{project_id}/catalogs/{catalog_id}/namespaces/{namespace}`.
r   Tr1   r   Nr9   r   r   r   ri   ri      rg   r   ri   c                       \ rS rSrSr\R                  " SSS9r\R                  " S\R                  R                  S9r\R                  " S5      r\R                  " S	5      rS
rg)BBiglakeIcebergV1RestcatalogV1ProjectsCatalogsNamespacesListRequest   a]  A BiglakeIcebergV1RestcatalogV1ProjectsCatalogsNamespacesListRequest
object.

Fields:
  apiParent: Required. The parent from the resource path.
  pageSize: Optional. For servers that support pagination, this signals an
    upper bound of the number of results that a client will receive. For
    servers that do not support pagination, clients may receive results
    larger than the indicated `pageSize`. Defaults to 100 if not set.
  pageToken: Optional. Specify the page_token returned in the previous
    response to retrieve the next page of results.
  parent: Optional. An optional namespace, underneath which to list
    namespaces. If not provided or empty, all top-level namespaces should be
    listed. If parent is a multipart namespace, the parts must be separated
    by the unit separator (`0x1F`) byte. Not a real parent, so
    ST_NOT_REQUIRED.
r   Tr1   r   rN   r#   rP   r   N)r   r   r   r   r   r   r   	apiParentrQ   rR   rS   pageSize	pageTokenr5   r   r   r   r   rl   rl      sY    $ ##A5)##Ay/@/@/F/FG(##A&)  #&r   rl   c                   `    \ rS rSrSr\R                  " SS5      r\R                  " SSS9r	Sr
g	)
HBiglakeIcebergV1RestcatalogV1ProjectsCatalogsNamespacesPropertiesRequesti	  a  A
BiglakeIcebergV1RestcatalogV1ProjectsCatalogsNamespacesPropertiesRequest
object.

Fields:
  icebergNamespaceUpdate: A IcebergNamespaceUpdate resource to be passed as
    the request body.
  name: Required. The namespace to update. The namespace's `name` field is
    used to identify the namespace to update. Format:
    projects/{project_id}/catalogs/{catalog_id}/namespaces/{namespace}
IcebergNamespaceUpdater   r   Tr1   r   Nr   r   r   r   r   r   r   icebergNamespaceUpdater   r:   r   r   r   r   rr   rr   	  s/    
 %112JAN			q4	0$r   rr   c                   `    \ rS rSrSr\R                  " SSS9r\R                  " SS5      r	Sr
g	)
FBiglakeIcebergV1RestcatalogV1ProjectsCatalogsNamespacesRegisterRequesti  aE  A BiglakeIcebergV1RestcatalogV1ProjectsCatalogsNamespacesRegisterRequest
object.

Fields:
  parent: Required. Table to register in the format:
    `projects/{project_id}/catalogs/{catalog_id}/namespaces/{namespace}`.
  registerIcebergTableRequest: A RegisterIcebergTableRequest resource to be
    passed as the request body.
r   Tr1   RegisterIcebergTableRequestr   r   N)r   r   r   r   r   r   r   r5   r   registerIcebergTableRequestr   r   r   r   rw   rw     s0       T2& ) 6 67TVW Xr   rw   c                   `    \ rS rSrSr\R                  " SS5      r\R                  " SSS9r	Sr
g	)
JBiglakeIcebergV1RestcatalogV1ProjectsCatalogsNamespacesTablesCreateRequesti)  ac  A
BiglakeIcebergV1RestcatalogV1ProjectsCatalogsNamespacesTablesCreateRequest
object.

Fields:
  createIcebergTableRequest: A CreateIcebergTableRequest resource to be
    passed as the request body.
  parent: Required. The parent resource where this table will be created.
    Format:
    projects/{project_id}/catalogs/{catalog_id}/namespaces/{namespace}
CreateIcebergTableRequestr   r   Tr1   r   N)r   r   r   r   r   r   r   createIcebergTableRequestr   r5   r   r   r   r   r{   r{   )  s0    
 (445PRST  T2&r   r{   c                   ^    \ rS rSrSr\R                  " SSS9r\R                  " S5      rSr	g)	OBiglakeIcebergV1RestcatalogV1ProjectsCatalogsNamespacesTablesCredentialsRequesti:  zA BiglakeIcebergV1RestcatalogV1ProjectsCatalogsNamespacesTablesCredentia
lsRequest object.

Fields:
  name: Required. Table to get in the format:
  snapshots: Optional. What snapshot to get. Valid only for GetIcebergTable.
r   Tr1   r   r   N
r   r   r   r   r   r   r   r:   	snapshotsr   r   r   r   r   r   :  s+     
		q4	0$##A&)r   r   c                   ^    \ rS rSrSr\R                  " SSS9r\R                  " S5      r	Sr
g)	JBiglakeIcebergV1RestcatalogV1ProjectsCatalogsNamespacesTablesDeleteRequestiG  aL  A
BiglakeIcebergV1RestcatalogV1ProjectsCatalogsNamespacesTablesDeleteRequest
object.

Fields:
  name: Required. Table to delete in the format:
    `projects/{project_id}/namespaces/{namespace}/tables/{table}`.
  purgeRequested: Optional. If true we'll delete both the table and the
    data. Currently purgin data is not supported.
r   Tr1   r   r   N)r   r   r   r   r   r   r   r:   BooleanFieldpurgeRequestedr   r   r   r   r   r   G  s+    	 
		q4	0$))!,.r   r   c                   ^    \ rS rSrSr\R                  " SSS9r\R                  " S5      rSr	g)	GBiglakeIcebergV1RestcatalogV1ProjectsCatalogsNamespacesTablesGetRequestiW  zA
BiglakeIcebergV1RestcatalogV1ProjectsCatalogsNamespacesTablesGetRequest
object.

Fields:
  name: Required. Table to get in the format:
  snapshots: Optional. What snapshot to get. Valid only for GetIcebergTable.
r   Tr1   r   r   Nr   r   r   r   r   r   W  s+     
		q4	0$##A&)r   r   c                       \ rS rSrSr\R                  " S\R                  R                  S9r	\R                  " S5      r\R                  " SSS9rS	rg
)HBiglakeIcebergV1RestcatalogV1ProjectsCatalogsNamespacesTablesListRequestie  zA
BiglakeIcebergV1RestcatalogV1ProjectsCatalogsNamespacesTablesListRequest
object.

Fields:
  pageSize: Optional. Page size for pagination.
  pageToken: Optional. PageToken for pagination.
  parent: Required. The namespace to list tables from.
r   rN   r   r#   Tr1   r   N)r   r   r   r   r   r   rQ   rR   rS   ro   r   rp   r5   r   r   r   r   r   r   e  sI     ##Ay/@/@/F/FG(##A&)  T2&r   r   c                   `    \ rS rSrSr\R                  " SSS9r\R                  " SS5      r	Sr
g	)
VBiglakeIcebergV1RestcatalogV1ProjectsCatalogsNamespacesTablesUpdateIcebergTableRequestiu  aG  A BiglakeIcebergV1RestcatalogV1ProjectsCatalogsNamespacesTablesUpdateIce
bergTableRequest object.

Fields:
  name: Required. Table to commit in the format:
    `projects/{project_id}/namespaces/{namespace}/tables/{table}`.
  updateIcebergTableRequest: A UpdateIcebergTableRequest resource to be
    passed as the request body.
r   Tr1   UpdateIcebergTableRequestr   r   N)r   r   r   r   r   r   r   r:   r   updateIcebergTableRequestr   r   r   r   r   r   u  s0     
		q4	0$'445PRSTr   r   c                   `    \ rS rSrSr\R                  " SS5      r\R                  " SSS9r	Sr
g	)
NBiglakeIcebergV1RestcatalogV1ProjectsCatalogsNamespacesUpdatePropertiesRequesti  a  A BiglakeIcebergV1RestcatalogV1ProjectsCatalogsNamespacesUpdatePropertie
sRequest object.

Fields:
  icebergNamespaceUpdate: A IcebergNamespaceUpdate resource to be passed as
    the request body.
  name: Required. The namespace to update. The namespace's `name` field is
    used to identify the namespace to update. Format:
    projects/{project_id}/catalogs/{catalog_id}/namespaces/{namespace}
rs   r   r   Tr1   r   Nrt   r   r   r   r   r     s/    	 %112JAN			q4	0$r   r   c                       \ rS rSrSr\R                  " S\R                  R                  S9r	\R                  " SSS9rSrg	)
*BiglakeProjectsCatalogsGetIamPolicyRequesti  a6  A BiglakeProjectsCatalogsGetIamPolicyRequest object.

Fields:
  options_requestedPolicyVersion: Optional. The maximum policy version that
    will be used to format the policy. Valid values are 0, 1, and 3.
    Requests specifying an invalid value will be rejected. Requests for
    policies with any conditional role bindings must specify version 3.
    Policies with no conditional role bindings may specify any valid value
    or leave the field unset. The policy in the response might use the
    policy version that you specified, or it might use a lower policy
    version. For example, if you specify version 3, but the policy has no
    conditional role bindings, the response uses version 1. To learn which
    resources support conditions in their IAM policies, see the [IAM
    documentation](https://cloud.google.com/iam/help/conditions/resource-
    policies).
  resource: REQUIRED: The resource for which the policy is being requested.
    See [Resource
    names](https://cloud.google.com/apis/design/resource_names) for the
    appropriate value for this field.
r   rN   r   Tr1   r   Nr   r   r   r   r   r   rQ   rR   rS   options_requestedPolicyVersionr   resourcer   r   r   r   r   r     :    * $-#9#9!YEVEVE\E\#] ""1t4(r   r   c                       \ rS rSrSr\R                  " S\R                  R                  S9r	\R                  " SSS9rSrg	)
4BiglakeProjectsCatalogsNamespacesGetIamPolicyRequesti  a@  A BiglakeProjectsCatalogsNamespacesGetIamPolicyRequest object.

Fields:
  options_requestedPolicyVersion: Optional. The maximum policy version that
    will be used to format the policy. Valid values are 0, 1, and 3.
    Requests specifying an invalid value will be rejected. Requests for
    policies with any conditional role bindings must specify version 3.
    Policies with no conditional role bindings may specify any valid value
    or leave the field unset. The policy in the response might use the
    policy version that you specified, or it might use a lower policy
    version. For example, if you specify version 3, but the policy has no
    conditional role bindings, the response uses version 1. To learn which
    resources support conditions in their IAM policies, see the [IAM
    documentation](https://cloud.google.com/iam/help/conditions/resource-
    policies).
  resource: REQUIRED: The resource for which the policy is being requested.
    See [Resource
    names](https://cloud.google.com/apis/design/resource_names) for the
    appropriate value for this field.
r   rN   r   Tr1   r   Nr   r   r   r   r   r     r   r   r   c                   `    \ rS rSrSr\R                  " SSS9r\R                  " SS5      r	Sr
g	)
4BiglakeProjectsCatalogsNamespacesSetIamPolicyRequesti  ap  A BiglakeProjectsCatalogsNamespacesSetIamPolicyRequest object.

Fields:
  resource: REQUIRED: The resource for which the policy is being specified.
    See [Resource
    names](https://cloud.google.com/apis/design/resource_names) for the
    appropriate value for this field.
  setIamPolicyRequest: A SetIamPolicyRequest resource to be passed as the
    request body.
r   Tr1   SetIamPolicyRequestr   r   Nr   r   r   r   r   r   r   r   r   setIamPolicyRequestr   r   r   r   r   r     /    	 ""1t4(!../DaHr   r   c                   `    \ rS rSrSr\R                  " SSS9r\R                  " SS5      r	Sr
g	)
*BiglakeProjectsCatalogsSetIamPolicyRequesti  af  A BiglakeProjectsCatalogsSetIamPolicyRequest object.

Fields:
  resource: REQUIRED: The resource for which the policy is being specified.
    See [Resource
    names](https://cloud.google.com/apis/design/resource_names) for the
    appropriate value for this field.
  setIamPolicyRequest: A SetIamPolicyRequest resource to be passed as the
    request body.
r   Tr1   r   r   r   Nr   r   r   r   r   r     r   r   r   c                       \ rS rSrSr\R                  " SS5      r\R                  " SSS9r	\R                  " S5      r
S	rg
)Bindingi  at  Associates `members`, or principals, with a `role`.

Fields:
  condition: The condition that is associated with this binding. If the
    condition evaluates to `true`, then this binding applies to the current
    request. If the condition evaluates to `false`, then this binding does
    not apply to the current request. However, a different role binding
    might grant the same role to one or more of the principals in this
    binding. To learn which resources support conditions in their IAM
    policies, see the [IAM
    documentation](https://cloud.google.com/iam/help/conditions/resource-
    policies).
  members: Specifies the principals requesting access for a Google Cloud
    resource. `members` can have the following values: * `allUsers`: A
    special identifier that represents anyone who is on the internet; with
    or without a Google account. * `allAuthenticatedUsers`: A special
    identifier that represents anyone who is authenticated with a Google
    account or a service account. Does not include identities that come from
    external identity providers (IdPs) through identity federation. *
    `user:{emailid}`: An email address that represents a specific Google
    account. For example, `alice@example.com` . *
    `serviceAccount:{emailid}`: An email address that represents a Google
    service account. For example, `my-other-
    app@appspot.gserviceaccount.com`. *
    `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`:
    An identifier for a [Kubernetes service
    account](https://cloud.google.com/kubernetes-engine/docs/how-
    to/kubernetes-service-accounts). For example, `my-
    project.svc.id.goog[my-namespace/my-kubernetes-sa]`. *
    `group:{emailid}`: An email address that represents a Google group. For
    example, `admins@example.com`. * `domain:{domain}`: The G Suite domain
    (primary) that represents all the users of that domain. For example,
    `google.com` or `example.com`. * `principal://iam.googleapis.com/locatio
    ns/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A
    single identity in a workforce identity pool. * `principalSet://iam.goog
    leapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`:
    All workforce identities in a group. * `principalSet://iam.googleapis.co
    m/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{
    attribute_value}`: All workforce identities with a specific attribute
    value. * `principalSet://iam.googleapis.com/locations/global/workforcePo
    ols/{pool_id}/*`: All identities in a workforce identity pool. * `princi
    pal://iam.googleapis.com/projects/{project_number}/locations/global/work
    loadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single
    identity in a workload identity pool. * `principalSet://iam.googleapis.c
    om/projects/{project_number}/locations/global/workloadIdentityPools/{poo
    l_id}/group/{group_id}`: A workload identity pool group. * `principalSet
    ://iam.googleapis.com/projects/{project_number}/locations/global/workloa
    dIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`:
    All identities in a workload identity pool with a certain attribute. * `
    principalSet://iam.googleapis.com/projects/{project_number}/locations/gl
    obal/workloadIdentityPools/{pool_id}/*`: All identities in a workload
    identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email
    address (plus unique identifier) representing a user that has been
    recently deleted. For example,
    `alice@example.com?uid=123456789012345678901`. If the user is recovered,
    this value reverts to `user:{emailid}` and the recovered user retains
    the role in the binding. *
    `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address
    (plus unique identifier) representing a service account that has been
    recently deleted. For example, `my-other-
    app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the
    service account is undeleted, this value reverts to
    `serviceAccount:{emailid}` and the undeleted service account retains the
    role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An
    email address (plus unique identifier) representing a Google group that
    has been recently deleted. For example,
    `admins@example.com?uid=123456789012345678901`. If the group is
    recovered, this value reverts to `group:{emailid}` and the recovered
    group retains the role in the binding. * `deleted:principal://iam.google
    apis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attr
    ibute_value}`: Deleted single identity in a workforce identity pool. For
    example, `deleted:principal://iam.googleapis.com/locations/global/workfo
    rcePools/my-pool-id/subject/my-subject-attribute-value`.
  role: Role that is assigned to the list of `members`, or principals. For
    example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an
    overview of the IAM roles and permissions, see the [IAM
    documentation](https://cloud.google.com/iam/docs/roles-overview). For a
    list of the available pre-defined roles, see
    [here](https://cloud.google.com/iam/docs/understanding-roles).
Exprr   r   Tr   r#   r   N)r   r   r   r   r   r   r   	conditionr   membersroler   r   r   r   r   r     s?    Ob $$VQ/)!!!d3'			q	!$r   r   c                   >    \ rS rSrSr\R                  " SS5      rSrg)r|   i?  zThe request message for the `CreateIcebergTable` API.

Fields:
  httpBody: Required. The request body that should be in the format of
    Apache Iceberg's `#/components/schemas/CreateTableRequest`. Content type
    is expected to be `application/json`.
HttpBodyr   r   N)	r   r   r   r   r   r   r   httpBodyr   r   r   r   r|   r|   ?  s     ##J2(r   r|   c                       \ rS rSrSrSrg)EmptyiK  a  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); }
r   N)r   r   r   r   r   r   r   r   r   r   r   K  s    r   r   c                       \ rS rSrSr\R                  " S5      r\R                  " S5      r\R                  " S5      r	\R                  " S5      r
Srg)	r   iT  aq  Represents a textual expression in the Common Expression Language (CEL)
syntax. CEL is a C-like expression language. The syntax and semantics of CEL
are documented at https://github.com/google/cel-spec. Example (Comparison):
title: "Summary size limit" description: "Determines if a summary is less
than 100 chars" expression: "document.summary.size() < 100" Example
(Equality): title: "Requestor is owner" description: "Determines if
requestor is the document owner" expression: "document.owner ==
request.auth.claims.email" Example (Logic): title: "Public documents"
description: "Determine whether the document should be publicly visible"
expression: "document.type != 'private' && document.type != 'internal'"
Example (Data Manipulation): title: "Notification string" description:
"Create a notification string with a timestamp." expression: "'New message
received at ' + string(document.create_time)" The exact variables and
functions that may be referenced within an expression are determined by the
service that evaluates it. See the service documentation for additional
information.

Fields:
  description: Optional. Description of the expression. This is a longer
    text which describes the expression, e.g. when hovered over it in a UI.
  expression: Textual representation of an expression in Common Expression
    Language syntax.
  location: Optional. String indicating the location of the expression for
    error reporting, e.g. a file name and a position in the file.
  title: Optional. Title for the expression, i.e. a short string describing
    its purpose. This can be used e.g. in UIs which allow to enter the
    expression.
r   r   r#   rP   r   N)r   r   r   r   r   r   r   description
expressionlocationtitler   r   r   r   r   r   T  sI    : %%a(+$$Q'*""1%(



"%r   r   c                       \ rS rSrSr\R                  " S5      r\R                  " S5      r\R                  " S5      r
Srg)r?   ix  a  Request message for FailoverIcebergCatalog.

Fields:
  conditionalFailoverReplicationTime: Optional. If unset, wait for all data
    from the source region to replicate to the new primary region before
    completing the failover, with no data loss (also called "soft
    failover"). If set, failover immediately, accepting the loss of any data
    committed in the source region after this timestamp, that has not yet
    replicated. If any data committed before this time has not replicated,
    the failover will not be performed and an error will be returned (also
    called "hard failover").
  primaryReplica: Required. The region being assigned as the new primary
    replica region. For example "us-east1". This must be one of the replica
    regions in the catalog's list of replicas marked as a "secondary".
  validateOnly: Optional. If set, only validate the request, but do not
    perform the update. This can be used to inspect the replication_time at
    any time, including before performing a fail-over.
r   r   r#   r   N)r   r   r   r   r   r   r   "conditionalFailoverReplicationTimeprimaryReplicar   validateOnlyr   r   r   r   r?   r?   x  s:    & (1'<'<Q'?$((+.''*,r   r?   c                   <    \ rS rSrSr\R                  " S5      rSrg)FailoverIcebergCatalogResponsei  a  Response message for FailoverIcebergCatalog.

Fields:
  replicationTime: Output only. The min timestamp for which all namespaces
    and table metadata have been replicated in the region specified as the
    new primary_replica. Some resources may have been replicated more
    recently than this timestamp. If empty, the replica has just been
    created and has not yet been fully initialized. NOTE: When the Cloud
    Storage replication watermark is available, this will represent both
    catalog metadata and Cloud Storage data.
r   r   N)	r   r   r   r   r   r   r   replicationTimer   r   r   r   r   r     s    
 ))!,/r   r   c                       \ rS rSrSr\R                  " S5       " S S\R                  5      5       r	\R                  " S5      r\R                  " S5      r\R                  " SSS	S
9rSrg)r   i  a  Message that represents an arbitrary HTTP body. It should only be used
for payload formats that can't be represented as JSON, such as raw binary or
an HTML page. This message can be used both in streaming and non-streaming
API methods in the request as well as the response. It can be used as a top-
level request field, which is convenient if one wants to extract parameters
from either the URL or HTTP template into the request fields and also want
access to the raw HTTP body. Example: message GetResourceRequest { // A
unique request id. string request_id = 1; // The raw HTTP body is bound to
this field. google.api.HttpBody http_body = 2; } service ResourceService {
rpc GetResource(GetResourceRequest) returns (google.api.HttpBody); rpc
UpdateResource(google.api.HttpBody) returns (google.protobuf.Empty); }
Example with streaming methods: service CaldavService { rpc
GetCalendar(stream google.api.HttpBody) returns (stream
google.api.HttpBody); rpc UpdateCalendar(stream google.api.HttpBody) returns
(stream google.api.HttpBody); } Use of this type only changes how the
request and response bodies are handled, all other features will continue to
work unchanged.

Messages:
  ExtensionsValueListEntry: A ExtensionsValueListEntry object.

Fields:
  contentType: The HTTP Content-Type header value specifying the content
    type of the body.
  data: The HTTP request/response body as raw binary.
  extensions: Application specific response metadata. Must be set in the
    first response for streaming APIs.
additionalPropertiesc                   f    \ rS rSrSr " S S\R                  5      r\R                  " SSSS9r	Sr
g	)
!HttpBody.ExtensionsValueListEntryi  zA ExtensionsValueListEntry object.

Messages:
  AdditionalProperty: An additional property for a
    ExtensionsValueListEntry object.

Fields:
  additionalProperties: Properties of the object. Contains field @type
    with type URL.
c                   b    \ rS rSrSr\R                  " S5      r\R                  " SS5      r	Sr
g)4HttpBody.ExtensionsValueListEntry.AdditionalPropertyi  zAn additional property for a ExtensionsValueListEntry object.

Fields:
  key: Name of the additional property.
  value: A extra_types.JsonValue attribute.
r   extra_types.JsonValuer   r   N)r   r   r   r   r   r   r   keyr   valuer   r   r   r   AdditionalPropertyr     s,    
 !!!$c$$%<a@er   r   r   Tr   r   Nr   r   r   r   r   r   Messager   r   r   r   r   r   r   ExtensionsValueListEntryr     s4    		AY.. 	A %112FTXYr   r   r   r   r#   Tr   r   N)r   r   r   r   r   r   MapUnrecognizedFieldsr   r   r   r   contentType
BytesFielddatar   
extensionsr   r   r   r   r   r     sn    : !!"89Z!2!2 Z :Z2 %%a(+			a	 $%%&@!dS*r   r   c                      \ rS rSrSr " S S\R                  5      r " S S\R                  5      r\R                  " S5      r
\R                  " SS5      r\R                  " S	5      r\R                  " SS
5      r\R                  " S5      r\R                  " S5      r\R"                  " SSSS9r\R                  " SSS9r\R                  " S5      rSrg)r0   i  aV  The Iceberg REST Catalog information.

Enums:
  CatalogTypeValueValuesEnum: Required. The catalog type. Required for
    CreateIcebergCatalog.
  CredentialModeValueValuesEnum: Optional. The credential mode for the
    catalog.

Fields:
  biglake_service_account: Output only. The service account used for
    credential vending, output only. Might be empty if Credential vending
    was never enabled for the catalog.
  catalog_type: Required. The catalog type. Required for
    CreateIcebergCatalog.
  create_time: Output only. When the catalog was created.
  credential_mode: Optional. The credential mode for the catalog.
  default_location: Optional. The default storage location for the catalog,
    e.g., `gs://my-bucket`. For the Google Cloud Storage Bucket catalog this
    is output only.
  name: Identifier. The catalog name, `projects/my-project/catalogs/my-
    catalog`. This field is immutable. This field is ignored for
    CreateIcebergCatalog.
  replicas: Output only. The replicas for the catalog metadata.
  storage_regions: Output only. The GCP region(s) where the physical
    metadata for the tables is stored, e.g. `us-central1`, `nam4` or `us`.
    This will contain one value for all locations, except for the catalogs
    that are configured to use custom dual region buckets.
  update_time: Output only. When the catalog was last updated.
c                        \ rS rSrSrSrSrSrg))IcebergCatalog.CatalogTypeValueValuesEnumi  zRequired. The catalog type. Required for CreateIcebergCatalog.

Values:
  CATALOG_TYPE_UNSPECIFIED: Default value. This value is unused.
  CATALOG_TYPE_GCS_BUCKET: Catalog type for Google Cloud Storage Buckets.
r   r   r   N)r   r   r   r   r   CATALOG_TYPE_UNSPECIFIEDCATALOG_TYPE_GCS_BUCKETr   r   r   r   CatalogTypeValueValuesEnumr     s      !r   r   c                   $    \ rS rSrSrSrSrSrSrg),IcebergCatalog.CredentialModeValueValuesEnumi  a  Optional. The credential mode for the catalog.

Values:
  CREDENTIAL_MODE_UNSPECIFIED: Default value. This value is unused.
  CREDENTIAL_MODE_END_USER: End user credentials, default. The
    authenticating user must have access to the catalog resources and the
    corresponding Google Cloud Storage files.
  CREDENTIAL_MODE_VENDED_CREDENTIALS: Use credential vending. The
    authenticating user must have access to the catalog resources and the
    system will provide the caller with downscoped credentials to access
    the Google Cloud Storage files. All table operations in this mode
    would require `X-Iceberg-Access-Delegation` header with `vended-
    credentials` value included. System will generate a service account
    and the catalog administrator must grant the service account
    appropriate permissions. See: https://github.com/apache/iceberg/blob/9
    31865ecaf40a827f9081dddb675bf1c95c05461/open-api/rest-catalog-open-
    api.yaml#L1854 for more details.
r   r   r   r   N)	r   r   r   r   r   CREDENTIAL_MODE_UNSPECIFIEDCREDENTIAL_MODE_END_USER"CREDENTIAL_MODE_VENDED_CREDENTIALSr   r   r   r   CredentialModeValueValuesEnumr     s    $ #$ )*&r   r   r   r   r#   rP         Replica   Tr      	   r   N)r   r   r   r   r   r   r)   r   r   r   biglake_service_accountr+   catalog_typecreate_timecredential_modedefault_locationr:   r   replicasstorage_regionsupdate_timer   r   r   r   r0   r0     s    < 9>>  +inn +. &11!4$$%A1E,%%a(+''(GK/**1-			q	!$##Iq4@())!d;/%%a(+r   r0   c                   .   \ rS rSrSr\R                  " S5       " S S\R                  5      5       r	\R                  " S5       " S S\R                  5      5       r
\R                  " SS5      r\R                  " S	S
S9r\R                  " SS5      rSrg)IcebergCatalogConfigi)  a  The iceberg catalog configuration.

Messages:
  DefaultsValue: Output only. Properties that should be used as default
    configuration; applied before client configuration. Required, even if
    empty.
  OverridesValue: Output only. Properties that should be used to override
    client configuration; applied after defaults and client configuration.
    Required, even if empty.

Fields:
  defaults: Output only. Properties that should be used as default
    configuration; applied before client configuration. Required, even if
    empty.
  endpoints: Output only. Endpoints, required, must not be empty.
  overrides: Output only. Properties that should be used to override client
    configuration; applied after defaults and client configuration.
    Required, even if empty.
r   c                   f    \ rS rSrSr " S S\R                  5      r\R                  " SSSS9r	Sr
g	)
"IcebergCatalogConfig.DefaultsValuei>  a%  Output only. Properties that should be used as default configuration;
applied before client configuration. Required, even if empty.

Messages:
  AdditionalProperty: An additional property for a DefaultsValue object.

Fields:
  additionalProperties: Additional properties of type DefaultsValue
c                   `    \ rS rSrSr\R                  " S5      r\R                  " S5      rSr	g)5IcebergCatalogConfig.DefaultsValue.AdditionalPropertyiJ  zAn additional property for a DefaultsValue object.

Fields:
  key: Name of the additional property.
  value: A string attribute.
r   r   r   N
r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   J  )    
 !!!$c##A&er   r   r   Tr   r   Nr   r   r   r   DefaultsValuer   >  s2    	'Y.. 	' %112FTXYr   r   c                   f    \ rS rSrSr " S S\R                  5      r\R                  " SSSS9r	Sr
g	)
#IcebergCatalogConfig.OverridesValueiW  a;  Output only. Properties that should be used to override client
configuration; applied after defaults and client configuration. Required,
even if empty.

Messages:
  AdditionalProperty: An additional property for a OverridesValue object.

Fields:
  additionalProperties: Additional properties of type OverridesValue
c                   `    \ rS rSrSr\R                  " S5      r\R                  " S5      rSr	g)6IcebergCatalogConfig.OverridesValue.AdditionalPropertyid  zAn additional property for a OverridesValue object.

Fields:
  key: Name of the additional property.
  value: A string attribute.
r   r   r   Nr   r   r   r   r   r   d  r   r   r   r   Tr   r   Nr   r   r   r   OverridesValuer   W  2    		'Y.. 	' %112FTXYr   r   r   r   Tr   r#   r   N)r   r   r   r   r   r   r   r   r   r   r   r   defaultsr   	endpoints	overridesr   r   r   r   r   r   )  s    ( !!"89Zi'' Z :Z0 !!"89Zy(( Z :Z2 ##OQ7(##A5)$$%5q9)r   r   c                       \ rS rSrSr\R                  " S5       " S S\R                  5      5       r	\R                  " SSS9r\R                  " SS	5      rS
rg)rb   iv  zThe namespace object to create.

Messages:
  PropertiesValue: Optional. The optional properties of the namespace.

Fields:
  namespace: Required. The name of the namespace.
  properties: Optional. The optional properties of the namespace.
r   c                   f    \ rS rSrSr " S S\R                  5      r\R                  " SSSS9r	Sr
g	)
 IcebergNamespace.PropertiesValuei  zOptional. The optional properties of the namespace.

Messages:
  AdditionalProperty: An additional property for a PropertiesValue object.

Fields:
  additionalProperties: Additional properties of type PropertiesValue
c                   `    \ rS rSrSr\R                  " S5      r\R                  " S5      rSr	g)3IcebergNamespace.PropertiesValue.AdditionalPropertyi  zAn additional property for a PropertiesValue object.

Fields:
  key: Name of the additional property.
  value: A string attribute.
r   r   r   Nr   r   r   r   r   r     r   r   r   r   Tr   r   Nr   r   r   r   PropertiesValuer     2    	'Y.. 	' %112FTXYr   r   r   Tr   r   r   N)r   r   r   r   r   r   r   r   r   r   r   	namespacer   
propertiesr   r   r   r   rb   rb   v  s^     !!"89Z	)) Z :Z. ##A5)%%&7;*r   rb   c                       \ rS rSrSr\R                  " S5       " S S\R                  5      5       r	\R                  " SSS9r\R                  " SS	5      rS
rg)rs   i  zThe request message for the `UpdateIcebergNamespace` API.

Messages:
  UpdatesValue: Optional. List of properties to update or add.

Fields:
  removals: Optional. Keys of the properties to remove.
  updates: Optional. List of properties to update or add.
r   c                   f    \ rS rSrSr " S S\R                  5      r\R                  " SSSS9r	Sr
g	)
#IcebergNamespaceUpdate.UpdatesValuei  zOptional. List of properties to update or add.

Messages:
  AdditionalProperty: An additional property for a UpdatesValue object.

Fields:
  additionalProperties: Additional properties of type UpdatesValue
c                   `    \ rS rSrSr\R                  " S5      r\R                  " S5      rSr	g)6IcebergNamespaceUpdate.UpdatesValue.AdditionalPropertyi  zAn additional property for a UpdatesValue object.

Fields:
  key: Name of the additional property.
  value: A string attribute.
r   r   r   Nr   r   r   r   r   r    r   r   r   r   Tr   r   Nr   r   r   r   UpdatesValuer     r   r   r  r   Tr   r   r   N)r   r   r   r   r   r   r   r   r   r  r   removalsr   updatesr   r   r   r   rs   rs     s]     !!"89ZY&& Z :Z. ""1t4("">15'r   rs   c                       \ rS rSrSr\R                  " SSSS9r\R                  " S5      r	\R                  " SSS9r
S	rg
)ListIcebergCatalogsResponsei  a>  The response message for the `ListIcebergCatalogs` API.

Fields:
  iceberg_catalogs: Output only. The list of iceberg catalogs.
  next_page_token: Output only. The next page token for pagination.
  unreachable: Output only. The list of unreachable cloud regions. If non-
    empty, the result set might be incomplete.
r0   r   Tr   r   r#   r   N)r   r   r   r   r   r   r   iceberg_catalogsr   next_page_tokenunreachabler   r   r   r   r  r    sA     ++,<a$O))!,/%%a$7+r   r  c                       \ rS rSrSr " S S\R                  5      r\R                  " SSSS9r	\R                  " S5      r\R                  " S	SS9rS
rg)ListIcebergNamespacesResponsei  ao  The response message for the `ListIcebergNamespaces` API.

Messages:
  NamespacesValueListEntry: Single entry in a NamespacesValue.

Fields:
  namespaces: The list of namespaces.
  next_page_token: The next page token for pagination.
  unreachable: Output only. A list of skipped locations that were
    unreachable. If non-empty, the result set might be incomplete.
c                   <    \ rS rSrSr\R                  " SSSS9rSrg)	6ListIcebergNamespacesResponse.NamespacesValueListEntryi  zXSingle entry in a NamespacesValue.

Fields:
  entry: A extra_types.JsonValue attribute.
r   r   Tr   r   N)	r   r   r   r   r   r   r   entryr   r   r   r   NamespacesValueListEntryr    s     ""#:AMEr   r  r   Tr   r   r#   r   N)r   r   r   r   r   r   r   r  r   
namespacesr   r	  r
  r   r   r   r   r  r    sT    
N!2!2 N %%&@!dS*))!,/%%a$7+r   r  c                   `    \ rS rSrSr\R                  " SSSS9r\R                  " S5      r	Sr
g	)
#ListIcebergTableIdentifiersResponsei  zThe response message for the `ListIcebergTableIdentifiers` API.

Fields:
  identifiers: Output only. The list of table identifiers.
  next_page_token: Output only. The next page token for pagination.
TableIdentifierr   Tr   r   r   N)r   r   r   r   r   r   r   identifiersr   r	  r   r   r   r   r  r    s.     &&'8!dK+))!,/r   r  c                   <    \ rS rSrSr\R                  " SSSS9rSrg)	#LoadIcebergTableCredentialsResponsei  zThe response message for the `LoadCredentials` API.

Fields:
  storage_credentials: The credentials for the table assigned to the caller.
StorageCredentialr   Tr   r   N)	r   r   r   r   r   r   r   storage_credentialsr   r   r   r   r  r    s      "../BAPTUr   r  c                       \ rS rSrSr\R                  " SSSS9r\R                  " SSSS9r\R                  " S	5      r
\R                  " S
\R                  R                  S9rSrg)Policyi  aw  An Identity and Access Management (IAM) policy, which specifies access
controls for Google Cloud resources. A `Policy` is a collection of
`bindings`. A `binding` binds one or more `members`, or principals, to a
single `role`. Principals can be user accounts, service accounts, Google
groups, and domains (such as G Suite). A `role` is a named list of
permissions; each `role` can be an IAM predefined role or a user-created
custom role. For some types of Google Cloud resources, a `binding` can also
specify a `condition`, which is a logical expression that allows access to a
resource only if the expression evaluates to `true`. A condition can add
constraints based on attributes of the request, the resource, or both. To
learn which resources support conditions in their IAM policies, see the [IAM
documentation](https://cloud.google.com/iam/help/conditions/resource-
policies). **JSON example:** ``` { "bindings": [ { "role":
"roles/resourcemanager.organizationAdmin", "members": [
"user:mike@example.com", "group:admins@example.com", "domain:google.com",
"serviceAccount:my-project-id@appspot.gserviceaccount.com" ] }, { "role":
"roles/resourcemanager.organizationViewer", "members": [
"user:eve@example.com" ], "condition": { "title": "expirable access",
"description": "Does not grant access after Sep 2020", "expression":
"request.time < timestamp('2020-10-01T00:00:00.000Z')", } } ], "etag":
"BwWWja0YfJA=", "version": 3 } ``` **YAML example:** ``` bindings: -
members: - user:mike@example.com - group:admins@example.com -
domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com
role: roles/resourcemanager.organizationAdmin - members: -
user:eve@example.com role: roles/resourcemanager.organizationViewer
condition: title: expirable access description: Does not grant access after
Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z')
etag: BwWWja0YfJA= version: 3 ``` For a description of IAM and its features,
see the [IAM documentation](https://cloud.google.com/iam/docs/).

Fields:
  auditConfigs: Specifies cloud audit logging configuration for this policy.
  bindings: Associates a list of `members`, or principals, with a `role`.
    Optionally, may specify a `condition` that determines how and when the
    `bindings` are applied. Each of the `bindings` must contain at least one
    principal. The `bindings` in a `Policy` can refer to up to 1,500
    principals; up to 250 of these principals can be Google groups. Each
    occurrence of a principal counts towards these limits. For example, if
    the `bindings` grant 50 different roles to `user:alice@example.com`, and
    not to any other principal, then you can add another 1,450 principals to
    the `bindings` in the `Policy`.
  etag: `etag` is used for optimistic concurrency control as a way to help
    prevent simultaneous updates of a policy from overwriting each other. It
    is strongly suggested that systems make use of the `etag` in the read-
    modify-write cycle to perform policy updates in order to avoid race
    conditions: An `etag` is returned in the response to `getIamPolicy`, and
    systems are expected to put that etag in the request to `setIamPolicy`
    to ensure that their change will be applied to the same version of the
    policy. **Important:** If you use IAM Conditions, you must include the
    `etag` field whenever you call `setIamPolicy`. If you omit this field,
    then IAM allows you to overwrite a version `3` policy with a version `1`
    policy, and all of the conditions in the version `3` policy are lost.
  version: Specifies the format of the policy. Valid values are `0`, `1`,
    and `3`. Requests that specify an invalid value are rejected. Any
    operation that affects conditional role bindings must specify version
    `3`. This requirement applies to the following operations: * Getting a
    policy that includes a conditional role binding * Adding a conditional
    role binding to a policy * Changing a conditional role binding in a
    policy * Removing any role binding, with or without a condition, from a
    policy that includes conditions **Important:** If you use IAM
    Conditions, you must include the `etag` field whenever you call
    `setIamPolicy`. If you omit this field, then IAM allows you to overwrite
    a version `3` policy with a version `1` policy, and all of the
    conditions in the version `3` policy are lost. If a policy does not
    include any conditions, operations on that policy may specify any valid
    version or leave the field unset. To learn which resources support
    conditions in their IAM policies, see the [IAM
    documentation](https://cloud.google.com/iam/help/conditions/resource-
    policies).
r	   r   Tr   r   r   r#   rP   rN   r   N)r   r   r   r   r   r   r   auditConfigsbindingsr   etagrQ   rR   rS   versionr   r   r   r   r  r    sa    EN ''q4H,##Iq4@(			a	 $""1i.?.?.E.EF'r   r  c                       \ rS rSrSr\R                  " S5      r\R                  " S5      r\R                  " S5      r
Srg)rx   iR  au  The request message for the `RegisterIcebergTable` API.

Fields:
  metadata_location: Required. The metadata location of the table.
  name: Required. The name of the table to register.
  overwrite: Optional. Whether to overwrite the table if it already exists.
    Default is false. Currently this field is ignored and an error is
    returned if the table already exists.
r   r   r#   r   N)r   r   r   r   r   r   r   metadata_locationr:   r   	overwriter   r   r   r   rx   rx   R  s:      ++A.			q	!$$$Q')r   rx   c                       \ rS rSrSr " S S\R                  5      r\R                  " S5      r	\R                  " SS5      rSrg)	r   ib  zThe replica of the Catalog.

Enums:
  StateValueValuesEnum: Output only. The current state of the replica.

Fields:
  region: Output only. The region of the replica. For example "us-east1"
  state: Output only. The current state of the replica.
c                   (    \ rS rSrSrSrSrSrSrSr	g)	Replica.StateValueValuesEnumim  a`  Output only. The current state of the replica.

Values:
  STATE_UNKNOWN: The replica state is unknown.
  STATE_PRIMARY: The replica is the writable primary.
  STATE_PRIMARY_IN_PROGRESS: The replica has been recently assigned as the
    primary, but not all namespaces are writeable yet.
  STATE_SECONDARY: The replica is a read-only secondary replica.
r   r   r   r#   r   N)
r   r   r   r   r   STATE_UNKNOWNSTATE_PRIMARYSTATE_PRIMARY_IN_PROGRESSSTATE_SECONDARYr   r   r   r   StateValueValuesEnumr%  m  s     MM !Or   r*  r   r   r   N)r   r   r   r   r   r   r)   r*  r   regionr+   stater   r   r   r   r   r   b  s<    Y^^    #&


4a
8%r   r   c                   b    \ rS rSrSr\R                  " SS5      r\R                  " S5      r	Sr
g)r   i  a
  Request message for `SetIamPolicy` method.

Fields:
  policy: REQUIRED: The complete policy to be applied to the `resource`. The
    size of the policy is limited to a few 10s of KB. An empty policy is a
    valid policy but certain Google Cloud services (such as Projects) might
    reject them.
  updateMask: OPTIONAL: A FieldMask specifying which fields of the policy to
    modify. Only the fields in the mask will be modified. If no mask is
    provided, the following default mask is used: `paths: "bindings, etag"`
r  r   r   r   N)r   r   r   r   r   r   r   policyr   rZ   r   r   r   r   r   r     s+    
 !!(A.&$$Q'*r   r   c                      \ rS rSrSr " S S\R                  5      r " S S\R                  5      r\R                  " SS5      r
\R                  " S5      r\R                  " SS	S
S9r\R                  " S5      r\R                  " S5      r\R                  " S5      r\R                  " S5      r\R$                  " SSS9r\R                  " S5      r\R                  " S5      r\R                  " S5      r\R                  " S5      rSrg)StandardQueryParametersi  a  Query parameters accepted by all methods.

Enums:
  FXgafvValueValuesEnum: V1 error format.
  AltValueValuesEnum: Data format for response.

Fields:
  f__xgafv: V1 error format.
  access_token: OAuth access token.
  alt: Data format for response.
  callback: JSONP
  fields: Selector specifying which fields to include in a partial response.
  key: API key. Your API key identifies your project and provides you with
    API access, quota, and reports. Required unless you provide an OAuth 2.0
    token.
  oauth_token: OAuth 2.0 token for the current user.
  prettyPrint: Returns response with indentations and line breaks.
  quotaUser: Available to use for quota purposes for server-side
    applications. Can be any arbitrary string assigned to a user, but should
    not exceed 40 characters.
  trace: A tracing token of the form "token:<tokenid>" to include in api
    requests.
  uploadType: Legacy upload protocol for media (e.g. "media", "multipart").
  upload_protocol: Upload protocol for media (e.g. "raw", "multipart").
c                   $    \ rS rSrSrSrSrSrSrg)*StandardQueryParameters.AltValueValuesEnumi  zData format for response.

Values:
  json: Responses with Content-Type of application/json
  media: Media download with context-dependent Content-Type
  proto: Responses with Content-Type of application/x-protobuf
r   r   r   r   N)	r   r   r   r   r   jsonmediaprotor   r   r   r   AltValueValuesEnumr2    s     DEEr   r6  c                        \ rS rSrSrSrSrSrg)-StandardQueryParameters.FXgafvValueValuesEnumi  zFV1 error format.

Values:
  _1: v1 error format
  _2: v2 error format
r   r   r   N)r   r   r   r   r   _1_2r   r   r   r   FXgafvValueValuesEnumr8    s     
B	
Br   r;  r   r   r#   r3  )defaultrP   r   r   r   r   Tr   
         r   N)r   r   r   r   r   r   r)   r6  r;  r+   f__xgafvr   access_tokenaltcallbackfieldsr   oauth_tokenr   prettyPrint	quotaUsertrace
uploadTypeupload_protocolr   r   r   r   r0  r0    s    4
9>> 
inn    !8!<(&&q),0!VD#""1%(  #&a #%%a(+&&q$7+##A&)



#%$$R(*))"-/r   r0  c                       \ rS rSrSr\R                  " S5       " S S\R                  5      5       r	\R                  " SS5      r\R                  " S5      rSrg	)
r  i  a5  The storage credential for a path in the table.

Messages:
  ConfigValue: The credentials for the storage location. The keys that are
    populated are: - `gcs.oauth2.token` - `gcs.oauth2.token_expires_at` -
    `expiration-time` (to support federation from Polaris).

Fields:
  config: The credentials for the storage location. The keys that are
    populated are: - `gcs.oauth2.token` - `gcs.oauth2.token_expires_at` -
    `expiration-time` (to support federation from Polaris).
  prefix: Indicates a storage location prefix where the credential is
    relevant.
r   c                   f    \ rS rSrSr " S S\R                  5      r\R                  " SSSS9r	Sr
g	)
StorageCredential.ConfigValuei  aX  The credentials for the storage location. The keys that are populated
are: - `gcs.oauth2.token` - `gcs.oauth2.token_expires_at` - `expiration-
time` (to support federation from Polaris).

Messages:
  AdditionalProperty: An additional property for a ConfigValue object.

Fields:
  additionalProperties: Additional properties of type ConfigValue
c                   `    \ rS rSrSr\R                  " S5      r\R                  " S5      rSr	g)0StorageCredential.ConfigValue.AdditionalPropertyi  zAn additional property for a ConfigValue object.

Fields:
  key: Name of the additional property.
  value: A string attribute.
r   r   r   Nr   r   r   r   r   rO    r   r   r   r   Tr   r   Nr   r   r   r   ConfigValuerM    r   r   rP  r   r   r   N)r   r   r   r   r   r   r   r   r   rP  r   configr   prefixr   r   r   r   r  r    s[     !!"89ZI%% Z :Z2 !!-3&  #&r   r  c                   ^    \ rS rSrSr\R                  " S5      r\R                  " SSS9rSr	g)	r  i  zThe table identifier.

Fields:
  name: The table name.
  namespace: The namespace of the table. This is always 1 element, since we
    don't support nested namespaces.
r   r   Tr   r   N)
r   r   r   r   r   r   r   r:   r   r   r   r   r   r  r    s+     
		q	!$##A5)r   r  c                   ~    \ rS rSrSr\R                  " SSS9r\R                  " SSS9r\R                  " SSS9r	Sr
g	)
UpdateIcebergNamespaceResponsei  a-  The response message for the `UpdateIcebergNamespace` API.

Fields:
  added: Output only. List of properties that were added or updated.
  missing: Output only. List of properties that were requested to be
    removed, but were not found.
  removed: Output only. List of properties that were removed.
r   Tr   r   r#   r   N)r   r   r   r   r   r   r   addedmissingremovedr   r   r   r   rU  rU    s?     

D
1%!!!d3'!!!d3'r   rU  c                   >    \ rS rSrSr\R                  " SS5      rSrg)r   i  a)  The update message for the `UpdateIcebergTable` API.

Fields:
  updates: Required. The request body that should be in the format of Apache
    Iceberg's `#/components/schemas/CommitTableRequest`. Content type is
    expected to be `application/json`. Added this field for easier json
    parsing.
r   r   r   N)	r   r   r   r   r   r   r   r  r   r   r   r   r   r     s     "":q1'r   r   r   zbiglake-service-accountr   zcatalog-typer   zcreate-timer   zcredential-moder   zdefault-locationr   zstorage-regionsr   zupdate-timer  ziceberg-catalogsr	  znext-page-tokenr  zstorage-credentialsr!  zmetadata-locationr@  z$.xgafvr9  1r:  2r3   ziceberg-catalog-idrT   z	page-sizerU   z
page-tokenr   zoptions.requestedPolicyVersionN)@r   
__future__r   apitools.base.protorpcliter   r   apitools.base.pyr   r   packager   r	   r   r.   r7   r=   rB   rE   rX   r\   r`   re   ri   rl   rr   rw   r{   r   r   r   r   r   r   r   r   r   r   r   r|   r   r   r?   r   r   r0   r   rb   rs   r  r  r  r  r  rx   r   r   r0  r  r  rU  r   AddCustomJsonFieldMappingAddCustomJsonEnumMappingr;  r   r   r   <module>rb     s   ' < % ( %)## %:=Y&& =D3IZIZ 3"1IZIZ 119K\K\ 11iFWFW 1!7yGXGX !7H(	HYHY ($'I4E4E '39K\K\ 3	19K\K\ 	1	1	HYHY 	1$IZIZ $21yO`O` 1"YYM^M^ Y3QZQbQb 3"
'V_VgVg 
'-QZQbQb - 'iN_N_ '3yO`O` 3 U]f]n]n U1U^UfUf 1 51B1B 5459;L;L 54I9;L;L I I1B1B I T"i T"n	3	 1 1 	3I !#9 !#H+I$5$5 +2-Y%6%6 - :Ty   :TzH)Y&& H)VJ:9,, J:Z$<y(( $<N$6Y.. $6N8)"3"3 88I$5$5 86	-)*;*; 	-V)*;*; VKGY KG\()"3"3 ( 9i 9<()++ ("<.i// <.~+$	)) +$\
6i'' 
64Y%6%6 4
2	 1 1 
2 	 " "-/HJ  " "NN4  " "M=2  " "%'8:  " "&(:<  " "%'8:  " "M=2  " "!35GI  " "!24EG  " "!#46GI  " "'):<MO  " "')>@UW  " "!46IK  " "Z4  ! !114>  ! !114>  " "FH\^rt  " "DkS^`  " "DlT`b  " ".0PRrt  " "8:Z\|~r   