
                         ~   S r SSKJr  SSKJr  SSKJr  SSKJr  SSKJr	  Sr
\
S-   r\R                  " \R                  R                  5      \R                   " S	 S
\R                   5      5       5       r\R                  " \R                  R$                  \R                  R&                  5       " S S\5      5       rg)zSet IAP settings.    )absolute_import)division)unicode_literals)base)utila	            To set the IAP setting for the resources within an organization, run:

            $ {command} iap_settings.yaml --organization=ORGANIZATION_ID

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

            $ {command} iap_settings.yaml --folder=FOLDER_ID

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

            $ {command} iap_settings.yaml --project=PROJECT_ID

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

            $ {command} iap_settings.yaml --project=PROJECT_ID --resource-type=iap_web

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

            $ {command} iap_settings.yaml --project=PROJECT_ID --resource-type=forwarding-rule --service=SERVICE_ID
              --region=REGION_ID
          a  
    To set the IAP setting for the all cloud run services within a region of a project, run:

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

    To set the IAP setting for a cloud run service within a project, run:

      $ {command} iap_settings.yaml --project=PROJECT_ID --resource-type=cloud-run --region=REGION_ID --service=SERVICE_ID
    c                   :    \ rS rSrSrS\0rSr\S 5       r	S r
Srg)	Set]   $Set the setting for an IAP resource.EXAMPLESFc                     [         R                  " XR                  S9  [         R                  " U5        [        R
                  R                  U5        g)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_runAddIapSettingFileArgr   URI_FLAGRemoveFromParser)clsparsers     lib/surface/iap/settings/set.pyArgsSet.Argsh   s=     "8"8 !!&)MM""6*    c                     [         R                  " U R                  5       UU R                  5      nUR	                  UR
                  5      $ )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 specified function with its description and configured filter
)r   ParseIapSettingsResourceReleaseTrackr   SetIapSettingsetting_file)selfargsiap_setting_refs      r   RunSet.Runv   sE     77O
 (():):;;r    N)__name__
__module____qualname____firstlineno____doc__r   detailed_helpr   classmethodr   r#   __static_attributes__r%   r   r   r	   r	   ]   s4     - (- + +<r   r	   c                   $    \ rS rSrSrS\0rSrSrg)SetBeta   r   r   Tr%   N)	r&   r'   r(   r)   r*   NON_GA_EXAMPLESr+   r   r-   r%   r   r   r/   r/      s    ,/- r   r/   N)r*   
__future__r   r   r   googlecloudsdk.callioper   googlecloudsdk.command_lib.iapr   r   r   r1   ReleaseTracksr   GADefaultUniverseOnlyCommandr	   ALPHABETAr/   r%   r   r   <module>r;      s     &  ' ( ;7r  	 	 D%%(()&<$,, &<  *&<R D%%++T->->-C-CDc  Er   