
                         b   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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SKJr  S r\
R&                  " \
R(                  R*                  \
R(                  R,                  \
R(                  R.                  5       " S S\
R0                  5      5       rg)z,gcloud dns response-policies create command.    )absolute_import)division)unicode_literals)util)apis)base)
exceptions)flags)resource_args)logc                 "   [         R                  " SS9R                  U 5        [         R                  " 5       R                  U 5        [         R                  " 5       R                  U 5        [         R
                  " 5       R                  U 5        g )NT)required)r
   GetResponsePolicyDescriptionArgAddToParserGetResponsePolicyNetworksArgGetLocationArgGetResponsePolicyGkeClustersArg)parsers    +lib/surface/dns/response_policies/create.py_AddArgsCommonr      s`    ''6BB6J$$&226:$$V,'')55f=    c                   >    \ rS rSrSr\S 5       r\S 5       rS rSr	g)Create&   a  Creates a new Cloud DNS response policy.

This command creates a new Cloud DNS response policy.

## EXAMPLES

To create a new response policy with minimal arguments, run:

  $ {command} myresponsepolicy --description='My new response policy.'
  --networks=''

To create a new response policy with all optional arguments, run:

  $ {command} myresponsepolicy --description='My new response policy.'
  --networks=network1,network2

To create a new zonal response policy scoped to a GKE cluster in
  us-central1-a, run (alpha/beta):

  $ {command} beta myresponsepolicy --description='My new response
  policy.'
  --gkeclusters=cluster1 --location=us-central1-a
c                     U R                  5       [        R                   R                  [        R                   R                  4;   $ )N)ReleaseTrackr   BETAALPHA)clss    r   _BetaOrAlphaCreate._BetaOrAlphaA   s:    $"3"3"8"8"&"3"3"9"9"; ; ;r   c                     [         R                  " US[        R                  " U R	                  5       5      S9  [        U5        UR                  R                  S5        g )Nz	to create)verbapi_versionjson)r   AddResponsePolicyResourceArgr   GetApiFromTrackr   r   display_info	AddFormat)r   r   s     r   ArgsCreate.ArgsF   sK    ..(()9)9);<> 6
!!&)r   c                 2   [         R                  " U R                  5       U5      n[         R                  " U5      n[        R
                  " SU5      n[         R                  " U5      nUR                  UR                  [         R                  " X!5      SS9nUR                  5       nUR                  US9nUR                  S5      (       d  UR                  S5      (       a  UR                  S/:X  a  / Ul        [        R                  " UR                  UR                   U5      Ul        UR                  S5      (       a1  UR"                  n	U	 V
s/ s H  n
UR%                  U
S9PM     sn
Ul        O[(        R*                  " S	S
5      eUR                  S5      (       a  UR,                  Ul        UR/                  XR                   S9nUS:X  a  UR0                  Ul        UR2                  R5                  U5      n[6        R8                  " USS9  U$ s  sn
f )Ndnszdns.responsePolicies)
collection)responsePolicyNamenetworksgkeclusters )gkeClusterNamez--networks,--gkeclusterszA list of networks or GKE clusters must be provided.'
         NOTE: You can provide an empty value ("") for response policies that
          have NO network or GKE clusters binding.
          description)responsePolicyprojectv2ResponsePolicy)kind)r   GetApiFromTrackAndArgsr   GetApiClientr   GetMessagesModuleGetRegistryParseresponse_policiesGetParamsForRegistryNamer8   IsSpecifiedr0   command_utilParseResponsePolicyNetworksr6   r1   ResponsePolicyGKEClustergkeClustersr	   RequiredArgumentExceptionr4    DnsResponsePoliciesCreateRequestlocationresponsePoliciesr   r   CreatedResource)selfargsr$   clientmessagesregistryresponse_policy_refresponse_policy_nameresponse_policyr1   namecreate_requestresults                r   Run
Create.RunO   s   --d.?.?.A4HK{+F%%e[9H ,H"..!!+4) ) + /335--/ . 1O 
##t'7'7'F'F	2$	!-!I!I
--,44k"Co 
		-	(	(&& $'
# --T-B#'
# 00
$  &&$($4$4o!>>&0K0K ? MN d $n$$++N;F+2BCM5'
s   H N)
__name__
__module____qualname____firstlineno____doc__classmethodr    r*   rW   __static_attributes__rY   r   r   r   r   &   s4    0 ; ; * *2r   r   N)r^   
__future__r   r   r   googlecloudsdk.api_lib.dnsr   googlecloudsdk.api_lib.utilr   googlecloudsdk.callioper   r	   googlecloudsdk.command_lib.dnsr
   r   rC   googlecloudsdk.corer   r   ReleaseTracksr   GAr   r   UpdateCommandr   rY   r   r   <module>rj      s    3 &  ' + , ( . 0 8 ? #> D%%(($*;*;*@*@%%++-YT Y-Yr   