
                            d Z ddlmZ ddlmZ ddlmZ ddlmZ ddlm	Z	 ddlm
Z
 ddlmZ dd	lmZ dd
lmZ ddlmZ ddlmZ ddlmZ dZ e
j(                  e
j*                  j,                         G d de
j.                               Z e
j(                  e
j*                  j2                         G d de             Zy)z+Command to create an Anthos cluster on AWS.    )absolute_import)division)unicode_literals)aws)arg_parsers)base)flags)resource_args)command_util)	constants)endpoint_utila  
To create a cluster named ``my-cluster'' managed in location ``us-west1'',
run:

$ {command} my-cluster --location=us-west1 --aws-region=AWS_REGION --cluster-version=CLUSTER_VERSION --database-encryption-kms-key-arn=KMS_KEY_ARN --iam-instance-profile=IAM_INSTANCE_PROFILE --pod-address-cidr-blocks=POD_ADDRESS_CIDR_BLOCKS --role-arn=ROLE_ARN --service-address-cidr-blocks=SERVICE_ADDRESS_CIDR_BLOCKS --subnet-ids=SUBNET_ID --vpc-id=VPC_ID
c                   .    e Zd ZdZdeiZed        Zd Zy)Create Create an Anthos cluster on AWS.EXAMPLESc                    t        j                  | d       | j                  ddt        j                         dd       t        j                  |        t        j                  |        t        j                  |        t        j                  |        t        j                  |        t        j                  | d       t        j                  |        t        j                  | d       t        j                  |        t        j                  |        t        j                   |        t        j"                  |        t        j$                  |        t        j&                  | d       t        j(                  |        t+        j,                  |        t+        j.                  |        t+        j0                  |        t+        j2                  |        t+        j4                  |        t+        j6                  |        t+        j8                  |        t+        j:                  |        t+        j<                  |        t+        j>                  | d	
       t+        j@                  |        t+        jB                  |        t+        jD                  |        t+        jF                  |        t+        jH                  |        t+        jJ                  |        t+        jL                  |        t+        jN                  |        t+        jP                  |        t+        jR                  |        tT        jV                  jY                  |        | jZ                  j]                  t^        j`                         y)z!Registers flags for this command.z	to createz--subnet-idsT	SUBNET_IDzCSubnet ID of an existing VNET to use for the cluster control plane.)requiredtypemetavarhelpzcluster to createclusterzcontrol plane)kindN)1r
   AddAwsClusterResourceArgadd_argumentr   ArgListr	   AddPodAddressCidrBlocksAddServiceAddressCidrBlocksAddClusterVersionAddRootVolumeSizeAddMainVolumeSizeAddValidateOnlyAddFleetProjectAddTagsAddAdminUsersAddAdminGroupsAddDescriptionAddAnnotations
AddLoggingAddMonitoringConfigAddBinauthzEvaluationMode	aws_flagsAddAwsRegionAddIamInstanceProfileAddInstanceTypeAddSshEC2KeyPairAddConfigEncryptionKmsKeyArnAddDatabaseEncryptionKmsKeyArn
AddRoleArnAddRoleSessionNameAddVpcIdAddSecurityGroupIdsAddPerNodePoolSGRulesAddRootVolumeTypeAddRootVolumeIopsAddRootVolumeThroughputAddRootVolumeKmsKeyArnAddMainVolumeTypeAddMainVolumeIopsAddMainVolumeThroughputAddMainVolumeKmsKeyArnAddProxyConfigr   
ASYNC_FLAGAddToParserdisplay_info	AddFormatr   AWS_CLUSTERS_FORMAT)parsers    ,lib/surface/container/aws/clusters/create.pyArgszCreate.Args.   s`    **6;?
  "  	 
!!&)	%%f-	F#	F#	F#	&"56	&!	MM&)$		 	 	 	V	fd+	##F+6"##F+f%v&**62,,V4   (v!!&?##F+''%%f-$$V,''%%f-$$V,V$OO'
!!)"?"?@    c                    t        j                  |      j                  }t        j                  |      5  t        j                  |      }t        j                         }t        j                  |j                  dt        j                  |j                        }t        j                  ||||t        j                        cddd       S # 1 sw Y   yxY w)zRuns the create command.Creating)actionr   region)resource_refresource_clientargsmessager   N)r
   ParseAwsClusterResourceArglocationsIdr   GkemulticloudEndpointOverrideapi_utilClustersClientr   ClusterMessageawsClustersIdr   AWS
aws_regionr   AWS_CLUSTER_KIND)selfrP   locationcluster_refcluster_clientrQ   s         rG   Runz
Create.Rung   s    77=IIH		4	4X	>!<<TBk..0n++

#
#}}	g   "()) 
?	>	>s   BCCN)	__name__
__module____qualname____doc__	_EXAMPLESdetailed_helpstaticmethodrH   r`    rI   rG   r   r   (   s)    (y)-6A 6AprI   r   c                   L    e Zd ZdZeej                  j                  fd       Zy)CreateAlphar   c                 X    t         j                  |        t        j                  |        y)z-Registers alpha track flags for this command.N)r   rH   r,   AddInstancePlacement)rF   tracks     rG   rH   zCreateAlpha.Args   s     KK""6*rI   N)	ra   rb   rc   rd   rg   r   ReleaseTrackALPHArH   rh   rI   rG   rj   rj   |   s&    (**00 + +rI   rj   N)rd   
__future__r   r   r   .googlecloudsdk.api_lib.container.gkemulticloudr   rU   googlecloudsdk.callioper   r   (googlecloudsdk.command_lib.container.awsr	   r,   r
   2googlecloudsdk.command_lib.container.gkemulticloudr   r   r   re   ReleaseTracksrn   GACreateCommandr   ro   rj   rh   rI   rG   <module>rx      s    2 &  ' J / ( G B K H L D	 D%%(()PT P *Pf D%%++,+& + -+rI   