
                            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
 rS rS\S\S\\R(                  \R(                  4   4S jrS\S\R(                  4S jrS\S\R(                  4S jrg)zUtils for Edge Cache commands.    )absolute_import)division)unicode_literals)Union)apis)	resources)networkservices_v1_messages)!networkservices_v1alpha1_messagesc                      g)zSet default location to global.global r       1lib/googlecloudsdk/command_lib/edge_cache/util.pySetLocationAsGlobalr      s    	r   c                 F   UR                   R                  S5      S   n[        R                  R	                  UR
                  UR                  =(       d    UUR                  =(       d
    [        5       UR                  S.SS9R                  5       UR                  l        U$ )ai  Parse the provided failover origin to a relative name.

Relative name includes defaults (or overridden values) for project & location.
Location defaults to 'global'.

Args:
  unused_ref: A string representing the operation reference. Unused and may be
    None.
  args: The argparse namespace.
  request: The request to modify.

Returns:
  The updated request.
/   )
projectsIdlocationsIdedgeCacheOriginsIdz3networkservices.projects.locations.edgeCacheOrigins)params
collection)parentsplitr   REGISTRYParsefailover_originprojectlocationr   edgeCacheOriginIdRelativeNameedgeCacheOriginfailoverOrigin)
unused_refargsrequestr   s       r   SetFailoverOriginRelativeNamer'   !   s    " NN  %a('+4+=+=+C+C
/?*=*? ' 9 9
 G ,D , LN 
( 
.r   api_versionregionreturnc                     U(       d  g[         R                  " SU 5      nUR                  R                  nUR                  UR	                  UR                  5       5      /S9$ )a+  Get a FlexShieldingOptions message from a specified FlexShieldingRegion.

Args:
  api_version: The API version to use, e.g. 'v1' or 'v1alpha1'.
  region: The FlexShieldingRegion to use, e.g. 'me_central1', or empty string.

Returns:
  A FlexShieldingOptions message, or None if the region is empty.
Nnetworkservices)flexShieldingRegions)r   GetMessagesModuleFlexShieldingOptions,FlexShieldingRegionsValueListEntryValuesEnumlookup_by_nameupper)r(   r)   messagesregions_enums       r   GetFlexShieldingr5   @   sd     
##$5{C(##PP  
	&	&

%
%flln
5 
' 
 r   c                     [        SU 5      $ )zGet a GA FlexShieldingOptions message from a specified FlexShieldingRegion.

Args:
  region: The FlexShieldingRegion to use, e.g. 'me_central1', or empty string.

Returns:
  A FlexShieldingOptions message, or None if the region is empty.
v1r5   r)   s    r   GetFlexShieldingGAr:   [   s     
$	''r   c                     [        SU 5      $ )zGet an alpha FlexShieldingOptions from a specified FlexShieldingRegion.

Args:
  region: The FlexShieldingRegion to use, e.g. 'me_central1', or empty string.

Returns:
  A FlexShieldingOptions message, or None if the region is empty.
v1alpha1r8   r9   s    r   GetFlexShieldingAlphar=   g   s     
*f	--r   N)__doc__
__future__r   r   r   typingr   googlecloudsdk.api_lib.utilr   googlecloudsdk.corer   8googlecloudsdk.generated_clients.apis.networkservices.v1r	   v1_msgs>googlecloudsdk.generated_clients.apis.networkservices.v1alpha1r
   v1alpha1_msgsr   r'   strr/   r5   r:   r=   r   r   r   <module>rH      s    % &  '  , ) k }
>!
7'')K)KKL6	(s 	(w'C'C 	(	.# 	.-*L*L 	.r   