
                            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SKJr  Sr\
R(                  " \
R*                  R,                  5       " S S\
R.                  5      5       r\
R(                  " \
R*                  R2                  5       " S S\5      5       rg)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                   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 AWS.EXAMPLESc                    [         R                  " U S5        U R                  SS[        R                  " 5       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 5        [
        R                  " U S5        [
        R                  " U 5        [
        R                  " U 5        [
        R                   " U 5        [
        R"                  " U 5        [
        R$                  " U 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 5        [*        R>                  " U S	S
9  [*        R@                  " U 5        [*        RB                  " U 5        [*        RD                  " U 5        [*        RF                  " U 5        [*        RH                  " U 5        [*        RJ                  " U 5        [*        RL                  " U 5        [*        RN                  " U 5        [*        RP                  " U 5        [*        RR                  " U 5        [T        RV                  RY                  U 5        U RZ                  R]                  [^        R`                  5        g)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Args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           	         [         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)actionr   region)resource_refresource_clientargsmessager   N)r
   ParseAwsClusterResourceArglocationsIdr   GkemulticloudEndpointOverrideapi_utilClustersClientr   ClusterMessageawsClustersIdr   AWS
aws_regionr   AWS_CLUSTER_KIND)selfrR   locationcluster_refcluster_clientrS   s         rH   Run
Create.Rung   s    77=IIH		4	4X	>!<<TBk..0n++

#
#}}	g   "()) 
?	>	>s   B
C
C N)__name__
__module____qualname____firstlineno____doc__	_EXAMPLESdetailed_helpstaticmethodrI   rb   __static_attributes__rd   rK   rH   r   r   (   s)    (y)-6A 6AprK   r   c                   V    \ rS rSrSr\\R                  R                  4S j5       r	Sr
g)CreateAlpha|   r   c                 Z    [         R                  U 5        [        R                  " U 5        g)z-Registers alpha track flags for this command.N)r   rI   r-   AddInstancePlacement)rG   tracks     rH   rI   CreateAlpha.Args   s     KK""6*rK   rd   N)re   rf   rg   rh   ri   rl   r   ReleaseTrackALPHArI   rm   rd   rK   rH   ro   ro   |   s&    (**00 + +rK   ro   N)ri   
__future__r   r   r   .googlecloudsdk.api_lib.container.gkemulticloudr   rW   googlecloudsdk.callioper   r   (googlecloudsdk.command_lib.container.awsr	   r-   r
   2googlecloudsdk.command_lib.container.gkemulticloudr   r   r   rj   ReleaseTracksru   GACreateCommandr   rv   ro   rd   rK   rH   <module>r      s    2 &  ' J / ( G B K H L D	 D%%(()PT P *Pf D%%++,+& + -+rK   