U bM @snddlZddlmZddlZddZGdddZedkrjeZded <ded <d ed <d ed<eeddS)N)datetimec Csttdd|d}|d}|d}|d}tjd|d}|jd d d }|j|d |d d d }|j|d |d d d } tjddd}|j|d} | dd} dddddg} d} g}| D](}| D]}|d|kr||dqq|D]}zttdd|tjd||d}|j |d}|j | d}ttdd|d|d ttdd|d|d d!}d!}|d d"kr|}|}n|}|}ttdd#|d$|||d%WSt k r}z t|W5d}~XYqXqdS)&Nz%m/%d/%Y, %H:%M:%Sz get_regions Invoked AWS_REGION AWS_REGION1 AWS_REGION2APPZsecretsmanager) region_namez dtcc-cluster)ZSecretIdZ SecretString-z -arc-controlzroute53-recovery-control-config us-west-2)Z ClusterArnZClusterZClusterEndpoints us-east-1z eu-west-1zap-northeast-1zap-southeast-2rZRegionZEndpointz$ route 53 recover cluster endpoint: zroute53-recovery-cluster)rZ endpoint_url)ZRoutingControlArn z is ZRoutingControlStateZOnz Active Region = z Passive Region =  active_regionpassive_region) printrZnowstrftimeboto3clientZget_secret_valueZdescribe_clusterappendZget_routing_control_state Exception)eventcontextZ aws_regionZ aws_region1Z aws_region2ZapprZ dtcc_clusterZregion_1_main_control_arnZregion_2_main_control_arnZclusterZ endpointsZregionsZcounterZsorted_endpointsZregionZendpointZregion1_control_stateZregion2_control_staterrer\/Users/behebika/dev/DTCC/app-rotation/infrastructure/apps/common/rotation/src/get_regions.py get_regionssL      &&"rc@s eZdZdZddZddZdS)Regionsz1 It represents the state of the regions. cCsd|_d|_dS)z, Initializes the App State. r Nr selfrrr__init__AszRegions.__init__cCs|j|jdS)Nr r rrrrto_dictHszRegions.to_dictN)__name__ __module__ __qualname____doc__rr rrrrr=sr__main__r rrr rztrade-matchingr)rrZjsonrrr!dictrrrrrs 7