
    s                        S r SSKJr  SSKJr  Sr\R                  " \R                  R                  \R                  R                  \R                  R                  5      \R                   " S S\R                  5      5       5       rg)zSet IAP settings.    )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

          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                   6    \ rS rSrSrS\0r\S 5       rS r	Sr
g)SetW   z$Set the setting for an IAP resource.EXAMPLESc                     [         R                  " U5        [         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.
N)iap_utilAddIapSettingArgAddIapSettingFileArgr   URI_FLAGRemoveFromParser)clsparsers     lib/surface/iap/settings/set.pyArgsSet.Argsb   s2     f%!!&)MM""6*    c                     [         R                  " U R                  5       U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ReleaseTrackSetIapSettingsetting_file)selfargsiap_setting_refs      r   RunSet.Runn   s<     77O (():):;;r    N)__name__
__module____qualname____firstlineno____doc__r   detailed_helpclassmethodr   r   __static_attributes__r   r   r   r   r   W   s.    
 - (- 	+ 	+<r   r   N)r$   googlecloudsdk.callioper   googlecloudsdk.command_lib.iapr   r
   r   ReleaseTracksr   ALPHABETAGADefaultUniverseOnlyCommandr   r   r   r   <module>r0      s     ) ;?D T..33T5F5F5I5I !<$,, !< !<r   