
                             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\
R                   5      rg)z#Command to create a new SSL policy.    )absolute_import)division)unicode_literals)base_classes)ssl_policies_utils)base)scope)flagsc                   P    \ rS rSrSr\R                  " 5       r\S 5       r	S r
Srg)Create   a  Create a new Compute Engine SSL policy.

*{command}* creates a new SSL policy.

An SSL policy specifies the server-side support for SSL features. An SSL
policy can be attached to a TargetHttpsProxy or a TargetSslProxy. This affects
connections between clients and the load balancer. SSL
policies do not affect the connection between the load balancers and the
backends. SSL policies are used by Application Load Balancers and proxy
Network Load Balancers.
c                    UR                   R                  [        R                  5        UR                   R	                  [        R
                  5        U R                  R                  USS9  [        R                  " 5       R                  U5        [        R                  " SS9R                  U5        [        R                  " SS9R                  U5        [        R                  " 5       R                  U5        g)z"Set up arguments for this command.create)operation_type
COMPATIBLE)defaultz1.0N)display_info	AddFormatr
   DEFAULT_LIST_FORMATAddCacheUpdaterSslPoliciesCompleterSSL_POLICY_ARGAddArgumentGetDescriptionFlagAddToParserGetProfileFlagGetMinTlsVersionFlagGetCustomFeaturesFlag)clsparsers     *lib/surface/compute/ssl_policies/create.pyArgsCreate.Args+   s     !!%";";<
''(B(BC""6("C	**62	.::6B	u-99&A	!--f5    c                 "   [         R                  " U R                  5       5      n[        R                  " U5      nU R
                  R                  XR                  [        R                  R                  S9nUR                  S5      (       a  UR                  O/ nUR                  UR                  5       UR                  UR                   ["        R$                  " UR&                  5      US9nUR)                  XF5      nUR+                  XGS5      $ )z.Issues the request to create a new SSL policy.)default_scopecustom_features)namedescriptionprofilemin_tls_versionr'   zCreating SSL policy)r   ComputeApiHolderReleaseTrackr   SslPolicyHelperr   ResolveAsResource	resourcescompute_scope	ScopeEnumGLOBALIsSpecifiedr'   GetSslPolicyForInsertNamer)   r*   r
   ParseTlsVersionr+   r   WaitForOperation)selfargsholderhelperssl_policy_refr'   ssl_policy_to_insertoperation_refs           r!   Run
Create.Run6   s    **4+<+<+>?F//7F((::m.E.E.L.L ; NN.2.>.>/ /d** "  "77  "$$--d.B.BC' 8 ) MM.GM"">#8: :r$    N)__name__
__module____qualname____firstlineno____doc__r
   GetSslPolicyMultiScopeArgumentr   classmethodr"   r@   __static_attributes__rB   r$   r!   r   r      s.    
 779.6 6:r$   r   N)rG   
__future__r   r   r   googlecloudsdk.api_lib.computer   +googlecloudsdk.api_lib.compute.ssl_policiesr   googlecloudsdk.callioper   "googlecloudsdk.command_lib.computer	   r1   /googlecloudsdk.command_lib.compute.ssl_policiesr
   CreateCommandr   rB   r$   r!   <module>rR      s4    * &  ' 7 J ( E A+:T +:r$   