
                            d Z ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddl	m
Z
 ddlmZ ddlm
Z dd	lmZ d
ddZ ej"                  ej$                  j&                        ej(                   G d dej*                                      Zy)z?Command to create connection profiles for a database migration.    )absolute_import)division)unicode_literals)resource_args)base)flags)create_helper)
console_ioFCreate a Database Migration Service connection profile for PostgreSQL.a          To create a connection profile my-profile for PostgreSQL:

            $ {command} my-profile --region=us-central1
            --password=123456 --username=my-user
            --host=1.2.3.4 --port=5432

        If the source is a Cloud SQL database, run:

            $ {command} my-profile --region=us-central1
            --password=123456 --username=my-user
            --host=1.2.3.4 --port=5432 --cloudsql-instance=my-instance
        )DESCRIPTIONEXAMPLESc                   *    e Zd ZdZeZed        Zd Zy)
PostgreSQLr   c                    t        j                  | d       t        j                  |        t        j                  |        t        j
                  | d       t        j                  | t        j                  j                         t        j                  |        t        j                  |        t        j                  |        t        j                  |        y)zArgs is called by calliope to gather arguments for this command.

    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	to createT)with_database_nameN)r   )AddPostgresqlConnectionProfileResourceArgcp_flagsAddNoAsyncFlagAddDisplayNameFlagAddDatabaseParamsFlagsAddSslConfigGroupr   ReleaseTrackGAAddCloudSQLInstanceFlagAddAlloydbClusterFlagAddRoleFlagr   AddLabelsCreateFlags)parsers    Glib/surface/database_migration/connection_profiles/create/postgresql.pyArgszPostgreSQL.Args7   s     ;;FKPF#'##FtDvt'8'8';';<$$V,""6* 	v&    c                 @   |j                   j                  j                         }|j                         j	                         }|j
                  rt        j                  d      |_        t        j                         }|j                  | j                         |||d      S )a,  Create a Database Migration Service connection profile.

    Args:
      args: argparse.Namespace, The arguments that this command was invoked
        with.

    Returns:
      A dict object representing the operations resource describing the create
      operation if the create was successful.
    zPlease Enter Password: 
POSTGRESQL)CONCEPTSconnection_profileParseParentRelativeNameprompt_for_passwordr
   PromptPasswordpasswordr	   CreateHelpercreater   )selfargsconnection_profile_ref
parent_refhelpers        r   RunzPostgreSQL.RunJ   s     "]]==CCE'..0==?J //0IJdm'')F==**,j/|E Er!   N)	__name__
__module____qualname____doc__DETAILED_HELPdetailed_helpstaticmethodr    r3    r!   r   r   r   0   s%     O-' '$Er!   r   N)r7   
__future__r   r   r   )googlecloudsdk.api_lib.database_migrationr   googlecloudsdk.callioper   -googlecloudsdk.command_lib.database_migrationr   Agooglecloudsdk.command_lib.database_migration.connection_profilesr	   r   googlecloudsdk.core.consoler
   r8   ReleaseTracksr   r   DefaultUniverseOnlyCommandr   r;   r!   r   <module>rE      s    F &  ' C ( ? [ _ 2 	Q	( D%%(()+E +E  *+Er!   