
    "                     2   S r SSKJr  SSKJr  SSKJr  SSKrSSKJr  SSKJ	r	  SSKJ
r
  SS	KJr  \
R                  \
R                  " \
R                  R                   5       " S
 S\
R"                  5      5       5       r\
R                  \
R                  " \
R                  R&                  5       " S S\
R"                  5      5       5       r\
R                  \
R                  " \
R                  R*                  5       " S S\
R"                  5      5       5       rg)z,Command for spanner instances get-locations.    )absolute_import)division)unicode_literalsN)	instances)arg_parsers)base)flagsc                   V    \ rS rSrSrS\R                  " S5      0r\S 5       r	S r
Srg)	Move   HMove the Cloud Spanner instance to the specified instance configuration.EXAMPLESa            To move the Cloud Spanner instance, which has two CMEK-enabled
          databases db1 and db2 and a database db3 with Google-managed
          encryption keys, to the target instance configuration nam3
          (us-east4, us-east1, us-central1), run:
          $ gcloud spanner instances move my-instance-id
            --target-config=nam3
            --target-database-move-configs=^:^database-id=db1:kms-key-names=projects/myproject/locations/us-east4/keyRings/mykeyring/cryptoKeys/cmek-key,projects/myproject/locations/us-east1/keyRings/mykeyring/cryptoKeys/cmek-key,projects/myproject/locations/us-central1/keyRings/mykeyring/cryptoKeys/cmek-key
            --target-database-move-configs=^:^database-id=db2:kms-key-names=projects/myproject/locations/us-east4/keyRings/mykeyring/cryptoKeys/cmek-key,projects/myproject/locations/us-east1/keyRings/mykeyring/cryptoKeys/cmek-key,projects/myproject/locations/us-central1/keyRings/mykeyring/cryptoKeys/cmek-key
        c           
          [         R                  " 5       R                  U 5        [         R                  " 5       R                  U 5        U R	                  SS[
        R                  " [        [        S.S/SS9[
        R                  " 5       SS9  g	
a   Args is called by calliope to gather arguments for this command.

For `move` command, we have one positional argument, `instanceId`

Args:
  parser: An argparse parser that you can use to add arguments that go on
    the command line after this command. Positional arguments are allowed.
z--target-database-move-configsz2^:^database-id=DATABASE_ID:kms-key-names=KEY1,KEY2)database-idzkms-key-namesr   T)specrequired_keysrepeatedzDatabase level configurations for each database to be moved. Currently only used for CMEK-enabled databases to specificy the target database KMS keys.)metavartypeactionhelpN	r	   InstanceAddToParserTargetConfigadd_argumentr   	ArgObjectstrFlattenActionparsers    %lib/surface/spanner/instances/move.pyArgs	Move.Args,        
NN  (	$$V,
(D"""!$ )/
 ((*)      c                 p    [         R                  " UR                  UR                  UR                  5        gzThis is what gets called when the user runs this command.

Args:
  args: an argparse namespace. From `Args`, we extract command line
    arguments
Nr   r   instancetarget_configtarget_database_move_configsselfargss     r#   RunMove.RunK   '     NNt))4+L+Lr'    N__name__
__module____qualname____firstlineno____doc__textwrapdedentdetailed_helpstaticmethodr$   r1   __static_attributes__r4   r'   r#   r   r      =     Q (// 	# 	-  <	r'   r   c                   V    \ rS rSrSrS\R                  " S5      0r\S 5       r	S r
Srg)	BetaMoveW   r   r   a            To move the Cloud Spanner instance, which has two CMEK-enabled
          databases db1 and db2 and a database db3 with Google-managed
          encryption keys, to the target instance configuration nam3
          (us-east4, us-east1, us-central1), run:
          $ gcloud beta spanner instances move my-instance-id
            --target-config=nam3
            --target-database-move-configs=^:^database-id=db1:kms-key-names=projects/myproject/locations/us-east4/keyRings/mykeyring/cryptoKeys/cmek-key,projects/myproject/locations/us-east1/keyRings/mykeyring/cryptoKeys/cmek-key,projects/myproject/locations/us-central1/keyRings/mykeyring/cryptoKeys/cmek-key
            --target-database-move-configs=^:^database-id=db2:kms-key-names=projects/myproject/locations/us-east4/keyRings/mykeyring/cryptoKeys/cmek-key,projects/myproject/locations/us-east1/keyRings/mykeyring/cryptoKeys/cmek-key,projects/myproject/locations/us-central1/keyRings/mykeyring/cryptoKeys/cmek-key
        c           
          [         R                  " 5       R                  U 5        [         R                  " 5       R                  U 5        U R	                  SS[
        R                  " [        [        S.S/SS9[
        R                  " 5       SS9  g	r   r   r!   s    r#   r$   BetaMove.Argsi   r&   r'   c                 p    [         R                  " UR                  UR                  UR                  5        gr)   r*   r.   s     r#   r1   BetaMove.Run   r3   r'   r4   Nr5   r4   r'   r#   rB   rB   W   r@   r'   rB   c                   V    \ rS rSrSrS\R                  " S5      0r\S 5       r	S r
Srg)		AlphaMove   r   r   a            To move the Cloud Spanner instance, which has two CMEK-enabled
          databases db1 and db2 and a database db3 with Google-managed
          encryption keys, to the target instance configuration nam3
          (us-east4, us-east1, us-central1), run:
          $ gcloud alpha spanner instances move my-instance-id
            --target-config=nam3
            --target-database-move-configs=^:^database-id=db1:kms-key-names=projects/myproject/locations/us-east4/keyRings/mykeyring/cryptoKeys/cmek-key,projects/myproject/locations/us-east1/keyRings/mykeyring/cryptoKeys/cmek-key,projects/myproject/locations/us-central1/keyRings/mykeyring/cryptoKeys/cmek-key
            --target-database-move-configs=^:^database-id=db2:kms-key-names=projects/myproject/locations/us-east4/keyRings/mykeyring/cryptoKeys/cmek-key,projects/myproject/locations/us-east1/keyRings/mykeyring/cryptoKeys/cmek-key,projects/myproject/locations/us-central1/keyRings/mykeyring/cryptoKeys/cmek-key
        c           
          [         R                  " 5       R                  U 5        [         R                  " 5       R                  U 5        U R	                  SS[
        R                  " [        [        S.S/SS9[
        R                  " 5       SS9  g	r   r   r!   s    r#   r$   AlphaMove.Args   r&   r'   c                 p    [         R                  " UR                  UR                  UR                  5        gr)   r*   r.   s     r#   r1   AlphaMove.Run   r3   r'   r4   Nr5   r4   r'   r#   rI   rI      r@   r'   rI   )r:   
__future__r   r   r   r;   googlecloudsdk.api_lib.spannerr   googlecloudsdk.callioper   r   "googlecloudsdk.command_lib.spannerr	   DefaultUniverseOnlyReleaseTracksReleaseTrackGACommandr   BETArB   ALPHArI   r4   r'   r#   <module>rZ      s    3 &  '  4 / ( 4 D%%(()84<< 8 * 8v D%%**+8t|| 8 , 8v D%%++,8 8 - 8r'   