
                             S r SSKJr  SSKJr  SSKJr  SSKJr  SSKJr  SSKJ	r	  SSK
Jr  SS	KJr   " S
 S\	R                  5      rg)z'Command to create a Membership Binding.    )absolute_import)division)unicode_literals)client)util)base)	resources)labels_utilc                   .    \ rS rSrSr\S 5       rS rSrg)Create   ai  Create a Membership Binding.

This command can fail for the following reasons:
* The Membership Binding already exists.
* The caller does not have permission to access the given Membership.
* The Scope or the Membership does not exist.
* The caller did not specify the location (--location) if referring to
location other than global.

## EXAMPLES

To create a membership binding `BINDING_NAME` in global membership
`MEMBERSHIP_NAME` for scope `SCOPE_NAME`, run:

  $ {command} BINDING_NAME --membership=MEMBERSHIP_NAME --scope=SCOPE_NAME

To create a Binding `BINDING_NAME` associated with regional membership
`MEMBERSHIP_NAME`, provide the location LOCATION_NAME for the Membership where
the Binding belongs along with membership name and associated
Scope `SCOPE_NAME`.

$ {command} BINDING_NAME --membership=MEMBERSHIP_NAME --scope=SCOPE_NAME
  --location=LOCATION_NAME
c                 &   [         R                  " U[        R                  U R	                  5          SS9  UR                  SS9n[         R                  " US[        R                  U R	                  5          SUS9  [        R                  " U5        g )NzrName of the membership Binding to be created.Must comply with RFC 1123 (up to 63 characters, alphanumeric and '-'))api_versionbinding_helpT)requiredz--scopez*The Fleet Scope to bind the membership to.)	flag_namer   
scope_helpgroup)	r	   AddMembershipBindingResourceArgr   VERSION_MAPReleaseTrackadd_mutually_exclusive_groupAddScopeResourceArgr
   AddCreateLabelsFlags)clsparserr   s      :lib/surface/container/fleet/memberships/bindings/create.pyArgsCreate.Args6   s    --$$S%5%5%78$	 ///>E!!$$S%5%5%78? $$V,    c                    [         R                  " U R                  5       S9nS nUR                  R                  R                  5       b2  UR                  R                  R                  5       R                  5       n[        R                  " UR                  S9nUR                  UR                  R                  R                  S 5      R                  5       nUR                  [         R"                  " U5      UUS9$ )N)release_track)	additions)scopelabels)r   FleetClientr   CONCEPTSr$   ParseRelativeNamer
   Diffr%   ApplymessagesMembershipBindingLabelsValue	GetOrNoneCreateMembershipBindingr	   MembershipBindingResourceName)selfargsfleetclientr$   labels_diffr%   s         r   Run
Create.RunK   s    $$43D3D3FGKE}}  ".mm!!'')668e""T[[9K..::Dik  ..//5 /  r     N)	__name__
__module____qualname____firstlineno____doc__classmethodr   r6   __static_attributes__r8   r    r   r   r      s     2 - -(r    r   N)r=   
__future__r   r   r   &googlecloudsdk.api_lib.container.fleetr   r   googlecloudsdk.callioper   *googlecloudsdk.command_lib.container.fleetr	   $googlecloudsdk.command_lib.util.argsr
   CreateCommandr   r8   r    r   <module>rF      s4    . &  ' 9 7 ( @ <<T <r    