
                         b   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  e	j                  e	j                   j"                  e	j                   j$                  e	j                   j&                        e	j(                   G d de	j*                                      Zy)z0`gcloud api-gateway api-configs delete` command.    )absolute_import)division)unicode_literals)api_configs)
operations)base)operations_util)resource_args)
console_ioc                   0    e Zd ZdZdddZed        Zd Zy)DeletezDeletes a config from an API.z{description}zt        To delete an API Config 'my-config' in 'my-api', run:

          $ {command} my-config --api=my-api
        )DESCRIPTIONEXAMPLESc                 r    t         j                  j                  |        t        j                  | dd       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.
    deletedT)
positionalN)r   
ASYNC_FLAGAddToParserr
   AddApiConfigResourceArg)parsers    -lib/surface/api_gateway/api_configs/delete.pyArgszDelete.Args/   s(     	OO'))&)M    c                    |j                   j                  j                         }t        j                  dj                  |j                               dddd       t        j                         }|j                  |      }dj                  |j                               }t        j                  |j                  t        j                         ||j                         S )zRun 'api-gateway api-configs delete'.

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

    Returns:
      The response from the Delete API call (or None if cancelled).
    zjAre you sure? This will delete the API Config '{}', along with all of the associated consumer information.zContinue anywayT)messageprompt_stringdefaultthrow_if_unattendedcancel_on_noz)Waiting for API Config [{}] to be deleted)wait_stringis_async)CONCEPTS
api_configParser   PromptContinueformatRelativeNamer   ApiConfigClientr   Namer	   PrintOperationResultnamer   OperationsClientasync_)selfargsapi_config_refclientrespwaits         r   Runz
Delete.Run;   s     ]]--335N vn99;<'  ((*F==(D6==D //		:..0d r   N)__name__
__module____qualname____doc__detailed_helpstaticmethodr   r4    r   r   r   r      s3     & 		- 	N 	N r   r   N)r8   
__future__r   r   r   "googlecloudsdk.api_lib.api_gatewayr   r   googlecloudsdk.callioper   &googlecloudsdk.command_lib.api_gatewayr	   r
   googlecloudsdk.core.consoler   ReleaseTracksReleaseTrackALPHABETAGADefaultUniverseOnlyDeleteCommandr   r;   r   r   <module>rH      s     7 &  ' : 9 ( B @ 2 D%%++T->->-C-C%%((*:T : *:r   