
                         h   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r\	R$                  " \	R&                  R(                  5       " S S\	R*                  5      5       r\	R$                  " \	R&                  R.                  5       " S S\5      5       rg)z-Command to create an Anthos cluster on Azure.    )absolute_import)division)unicode_literals)azure)base)resource_args)command_util)	constants)endpoint_util)flagsak  
To create a cluster named ``my-cluster'' managed in location ``us-west1'', run:

$ {command} my-cluster --location=us-west1 --azure-region=AZURE_REGION --cluster-version=CLUSTER_VERSION --client=CLIENT --pod-address-cidr-blocks=POD_ADDRESS_CIDR_BLOCKS --resource-group-id=RESOURCE_GROUP_ID --ssh-public-key=SSH_PUBLIC_KEY --subnet-id=SUBNET_ID --vnet-id=VNET_ID
c                   6    \ rS rSrSrS\0r\S 5       rS r	Sr
g)Create%   "Create an Anthos cluster on Azure.EXAMPLESc                    U R                  SSSS9n[        R                  " X5        [        R                  " U5        [        R
                  " U 5        [        R                  " U 5        [        R                  " U 5        [        R                  " U 5        [        R                  " U 5        [        R                  " U 5        [        R                  " U 5        [        R                  " U 5        [        R                  " U SSS9  [        R                  " U 5        [        R                  " U 5        [        R                   " U 5        [        R"                  " U 5        [        R$                  " U 5        [        R&                  " U S5        [        R(                  " U S5        [        R*                  " U 5        [        R,                  " U 5        [        R.                  " U 5        [        R0                  " U 5        [        R2                  " U 5        [        R4                  " U 5        [        R6                  " U 5        [        R8                  " U 5        [        R:                  " U 5        [        R<                  " U S5        [>        R@                  RC                  U 5        U RD                  RG                  [H        RJ                  5        g )	NzAuthentication configurationT)mutexrequiredzthe cluster control planeF)r   clusterzcreation of the cluster)&add_argument_groupr   $AddAzureClusterAndClientResourceArgsr   AddAzureServicesAuthenticationAddAzureRegionAddEndpointSubnetId	AddVnetIdAddResourceGroupIdAddServiceLoadBalancerSubnetIdAddPodAddressCidrBlocksAddServiceAddressCidrBlocksAddClusterVersionAddSubnetID	AddVMSizeAddSSHPublicKeyAddRootVolumeSizeAddMainVolumeSizeAddReplicaPlacementsAddTagsAddValidateOnlyAddDatabaseEncryptionAddConfigEncryptionAddProxyConfigAddFleetProjectAddAdminUsersAddAdminGroupsAddDescriptionAddAnnotations
AddLoggingAddMonitoringConfigr   
ASYNC_FLAGAddToParserdisplay_info	AddFormatr
   AZURE_CLUSTERS_FORMAT)parserauth_config_groups     .lib/surface/container/azure/clusters/create.pyArgsCreate.Args+   s   11&dT 2  66 
(():;	 	f%	OOF	V$	((0	!!&)	%%f-	F#	f9EJ	OOF	&!	F#	F#	v&	MM&)$	&";<	'	f%	 	&!		 	 	 	V	fd+OO'
!!)"A"AB    c           	         [         R                  " U5      R                  n[        R                  " U5         [         R                  " U5      n[
        R                  " 5       n[        R                  " UR                  S[        R                  UR                  S9n[        R                  " UUUU[        R                  S9sSSS5        $ ! , (       d  f       g= f)zRuns the create command.Creating)actionkindregion)resource_refresource_clientargsmessagerA   N)r   ParseAzureClusterResourceArglocationsIdr   GkemulticloudEndpointOverrideapi_utilClustersClientr	   ClusterMessageazureClustersIdr
   AZUREazure_regionr   AZURE_CLUSTER_KIND)selfrE   locationcluster_refcluster_clientrF   s         r:   Run
Create.RunQ   s    99$?KKH		4	4X	>!>>tDk..0n++

%
%""	g   "(++ 
?	>	>s   B
C
C N)__name__
__module____qualname____firstlineno____doc__	_EXAMPLESdetailed_helpstaticmethodr;   rU   __static_attributes__rW   r=   r:   r   r   %   s)    *y)-#C #CJr=   r   c                   V    \ rS rSrSr\\R                  R                  4S j5       r	Sr
g)CreateAlphaf   r   c                 .    [         R                  U 5        g)z-Registers alpha track flags for this command.N)r   r;   )r8   tracks     r:   r;   CreateAlpha.Argsj   s     KKr=   rW   N)rX   rY   rZ   r[   r\   r_   r   ReleaseTrackALPHAr;   r`   rW   r=   r:   rb   rb   f   s&    ***00  r=   rb   N)r\   
__future__r   r   r   .googlecloudsdk.api_lib.container.gkemulticloudr   rJ   googlecloudsdk.callioper   *googlecloudsdk.command_lib.container.azurer   2googlecloudsdk.command_lib.container.gkemulticloudr	   r
   r   r   r]   ReleaseTracksrg   GACreateCommandr   rh   rb   rW   r=   r:   <module>rq      s    4 &  ' L ( D K H L D	 D%%(()=T = *=@ D%%++,&  -r=   