
    	                     V    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 r	S r
S	 rg
)zBigtable instance API helper.    )absolute_import)division)unicode_literals)util)iam_utilc                 L   [         R                  " 5       n[         R                  " 5       n[         R                  " U 5      nUR	                  UR                  R
                  R                  S9n UR                  R                  UR                  U UR                  5       SS95      $ )zUpgrade development instance to production.

Args:
  instance: str instance id to upgrade.

Returns:
  Operation: the partial update's LRO response.
)typer	   )instancename
updateMask)r   GetAdminClientGetAdminMessagesGetInstanceRefInstanceTypeValueValuesEnum
PRODUCTIONprojects_instancesPartialUpdateInstance:BigtableadminProjectsInstancesPartialUpdateInstanceRequestRelativeName)r
   clientmsgsinstance_refs       0lib/googlecloudsdk/api_lib/bigtable/instances.pyUpgrader      s      &				 $$$X.,]] A A L L]M(		"	"	8	8
EE((* F 
     c           	         [         R                  " 5       n[         R                  " 5       nUR                  U R	                  5       UR                  UR                  [        R                  S9S9S9nUR                  R                  U5      $ )z$Get IAM policy for a given instance.)requestedPolicyVersion)options)resourcegetIamPolicyRequest)r   r   r   1BigtableadminProjectsInstancesGetIamPolicyRequestr   GetIamPolicyRequestGetPolicyOptionsr   !MAX_LIBRARY_IAM_SUPPORTED_VERSIONr   GetIamPolicy)r   r   r   reqs       r   r&   r&   /   s     &				 $>>((*22''x)J)J ( L 3 M 	? 	N#
 
	"	"	/	/	44r   c                    [         R                  " 5       n[         R                  " 5       n[        R                  Ul        UR                  U R                  5       UR                  US9S9nUR                  R                  U5      $ )z?Sets the given policy on the instance, overwriting what exists.)policy)r    setIamPolicyRequest)r   r   r   r   r%   version1BigtableadminProjectsInstancesSetIamPolicyRequestr   SetIamPolicyRequestr   SetIamPolicy)r   r)   r   r   r'   s        r   r.   r.   ;   sw     &				 $==&.>>((*22&2A 	? 	C# 
	"	"	/	/	44r   N)__doc__
__future__r   r   r   googlecloudsdk.api_lib.bigtabler   googlecloudsdk.command_lib.iamr   r   r&   r.    r   r   <module>r4      s(    $ &  ' 0 3,	55r   