
                         ~   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Z
e
dz   Z ej                  ej                  j                        ej                   G d	 d
ej                                       Z ej                  ej                  j$                  ej                  j&                         G d de             Zy)zGet IAP settings.    )absolute_import)division)unicode_literals)base)utila            To get the IAP setting for the resources within an organization, run:

            $ {command} --organization=ORGANIZATION_ID

          To get the IAP setting for the resources within a folder, run:

            $ {command} --folder=FOLDER_ID

          To get the IAP setting for the resources within a project, run:

            $ {command} --project=PROJECT_ID

          To get the IAP setting for web type resources within a project, run:

            $ {command} --project=PROJECT_ID --resource-type=iap_web

          To get the IAP setting for all app engine services within a project, run:

            $ {command} --project=PROJECT_ID --resource-type=app-engine

          To get the IAP setting for an app engine service within a project, run:

            $ {command} --project=PROJECT_ID --resource-type=app-engine --service=SERVICE_ID

          To get the IAP setting for an app engine service version within a project, run:

            $ {command} --project=PROJECT_ID --resource-type=app-engine --service=SERVICE_ID
                --version=VERSION_ID

          To get the IAP setting for all backend services within a project, run:

            $ {command} --project=PROJECT_ID --resource-type=backend-services

          To get the IAP setting for a backend service within a project, run:

            $ {command} --project=PROJECT_ID --resource-type=backend-services --service=SERVICE_ID

          To get the IAP setting for a regional backend service within a project, run:

            $ {command} --project=PROJECT_ID --resource-type=backend-services --service=SERVICE_ID
              --region=REGION_ID

          To get the IAP setting for all forwarding rules within a project, run:

            $ {command} --project=PROJECT_ID --resource-type=forwarding-rule

          To get the IAP setting for a forwarding rule within a project, run:

            $ {command} --project=PROJECT_ID --resource-type=forwarding-rule --service=SERVICE_ID

          To get the IAP setting for a regional forwarding rule within a project, run:

            $ {command} --project=PROJECT_ID --resource-type=forwarding-rule --service=SERVICE_ID
              --region=REGION_ID

          a  
          To get the IAP setting for all Cloud Run services within a region of a project, run:

            $ {command} --project=PROJECT_ID --resource-type=cloud-run --region=REGION_ID

          To get the IAP setting for a Cloud Run service within a project, run:

            $ {command} --project=PROJECT_ID --resource-type=cloud-run --region=REGION_ID --service=SERVICE_ID

          c                   2    e Zd ZdZdeiZdZed        Zd Z	y)Get$Get the setting for an IAP resource.EXAMPLESFc                     t        j                  || j                         t        j                  j                  |       y)zRegister flags for this command.

    Args:
      parser: An argparse.ArgumentParser-like object. It is mocked out in order
        to capture some information, but behaves like an ArgumentParser.
    )support_cloud_runN)iap_utilAddIapSettingArg_support_cloud_runr   URI_FLAGRemoveFromParser)clsparsers     lib/surface/iap/settings/get.pyArgszGet.Argsj   s1     #"8"8 	MM""6*    c                     t        j                  | j                         || j                        }|j	                         S )zThis is what gets called when the user runs this command.

    Args:
      args: an argparse namespace. All the arguments that were provided to this
        command invocation.

    Returns:
      The IAP setting for the IAP resource.
    )r   ParseIapSettingsResourceReleaseTrackr   GetIapSetting)selfargsiap_setting_refs      r   RunzGet.Runw   s=     77O
 ((**r   N)
__name__
__module____qualname____doc__r   detailed_helpr   classmethodr   r    r   r   r	   r	   _   s4     - (- 
+ 
++r   r	   c                       e Zd ZdZdeiZdZy)GetBetar
   r   TN)r    r!   r"   r#   NON_GA_EXAMPLESr$   r   r&   r   r   r(   r(      s    ,/- r   r(   N)r#   
__future__r   r   r   googlecloudsdk.callioper   googlecloudsdk.command_lib.iapr   r   r   r)   ReleaseTracksr   GADefaultUniverseOnlyCommandr	   ALPHABETAr(   r&   r   r   <module>r3      s     &  ' ( ;8t  
 
 D%%(()%+$,, %+  *%+P D%%++T->->-C-CDc  Er   