
    X                     D    S r SSKJr  SrS	S jr  S	SSS.S jjrS	S jrg)
z"Bigtable memory layers API helper.    )utilz/memoryLayerNc                     Uc  [         R                  " 5       nUc  [         R                  " 5       nU R                  5       [        -   nUR                  US9nUR                  R                  U5      $ )zDescribe a memory layer.

Args:
  cluster_ref: A resource reference to the cluster of the memory layer to
    describe.
  client: The API client.
  msgs: The API messages.

Returns:
  Memory layer resource object.
)name)r   GetAdminClientGetAdminMessagesRelativeNameMEMORY_LAYER_SUFFIX;BigtableadminProjectsInstancesClustersGetMemoryLayerRequestprojects_instances_clustersGetMemoryLayer)cluster_refclientmsgsmemory_layer_namemsgs        4lib/googlecloudsdk/api_lib/bigtable/memory_layers.pyDescriber      sq     ^  "F	\  "D!..03FFHH 	I 	# 
	+	+	:	:3	??    )storage_size_gibmax_request_units_per_secondc                   Uc  [         R                  " 5       nUc  [         R                  " 5       nUR                  5       nUR	                  5       n/ nUb  X6l        UR                  S5        Ub  XFl        UR                  S5        UR                  US9Ul	        U R                  5       [        -   nUR                  UUSR                  U5      S9n	UR                  R                  U	5      $ )at  Update a memory layer.

Args:
  cluster_ref: A resource reference to the cluster to update.
  client: The API client.
  msgs: The API messages.
  storage_size_gib: The storage size of the memory layer in gibibytes.
  max_request_units_per_second: The maximum number of request units per second
    that can be used by the memory layer.

Returns:
  Long running operation.
z-memory_config.fixed_capacity.storage_size_gibz9memory_config.fixed_capacity.max_request_units_per_second)fixedCapacity,memoryLayerr   
updateMask)r   r   r   MemoryLayerFixedCapacitystorageSizeGibappendmaxRequestUnitsPerSecondMemoryConfigmemoryConfigr   r	   >BigtableadminProjectsInstancesClustersUpdateMemoryLayerRequestjoinr   UpdateMemoryLayer)
r   r   r   r   r   memory_layerfixed_capacitychanged_fieldsr   r   s
             r   Updater*   /   s    * ^  "F	\  "D!!#,%%'..!$4!IJ!-.J+C #//n/M,!..03FFKK.) 	L 	# 
	+	+	=	=c	BBr   c                    Uc  [         R                  " 5       nUc  [         R                  " 5       nUR                  5       nU R	                  5       [
        -   nUR                  UUSS9nUR                  R                  U5      $ )zDisable a memory layer.

Args:
  cluster_ref: A resource reference to the cluster to disable memory layer on.
  client: The API client.
  msgs: The API messages.

Returns:
  Long running operation.
memory_configr   )	r   r   r   r   r   r	   r$   r   r&   )r   r   r   r'   r   r   s         r   Disabler-   a   s     ^  "F	\  "D!!#,!..03FFKK  	L 	# 
	+	+	=	=c	BBr   )NN)__doc__googlecloudsdk.api_lib.bigtabler   r	   r   r*   r-    r   r   <module>r1      s>    ) 0 % @4 	/C
 !%/CdCr   