
    &`i                         d dl Z d dlZd dlZd dlmZ dZdZdZdZdZ	 e j
        e          Zd Zd	 Zd
 Zd Zd Zd ZdS )    N)	AcsClientPendingRunningStartingStoppingStoppedc                 ~    t          |            t          |            t          |            t          |            | S )N)_get_or_create_vpc_get_or_create_security_group_get_or_create_vswitch_get_or_import_key_pairconfigs    y/home/jaya/work/projects/VOICE-AGENT/VIET/agent-env/lib/python3.11/site-packages/ray/autoscaler/_private/aliyun/config.pybootstrap_aliyunr      sA     v!&)))6"""F###M    c                     t          | d                             d          | d                             d          | d         d         d          S )Nprovider
access_keyaccess_key_secretregion   )r   r   	region_idmax_retries)r   getr   s    r   _clientr      sV    *%)),77 ,001DEE$X.	   r   c                    t          |           }|                    | d         d                   }|,t          |          dk    r|d         d         | d         d<   | S |                    | d         d                   }| d                             di           D ]-}|                    ||d         |d	         |d
                    .|| d         d<   d S )Nr   vpc_idr   r   SecurityGroupIdsecurity_group_idsecurity_group_rule
port_rangesource_cidr_ipip_protocol)r!   r#   r$   r%   )r   describe_security_groupslencreate_security_groupr   authorize_security_group)r   clisecurity_groupsr!   rules        r   r   r   (   s   
&//C22&:LX:V2WWO"s?';';a'?'?2A!2DEV2Wz./11
9KH9U1VVz"&&'<bAA 
 
$$/L) 01]+	 	% 	
 	
 	
 	
 /@F:*+
Fr   c                    t          |           }|                                }|9t          |          dk    r&|d                             d          | d         d<   d S |                                }||| d         d<   d S d S )Nr   VpcIdr   r   )r   describe_vpcsr'   r   
create_vpc)r   r*   vpcsr   s       r   r
   r
   <   s    
&//CDCIIMM'+Aw{{7';';z8$^^F'-z8$$$ r   c                 t   t          |           }|                    | d         d                   }|9t          |          dk    r&|d                             d          | d         d<   d S |                    | d         d         | d         d         | d         d         	          }||| d         d<   d S d S )
Nr   r   r   r   	VSwitchIdv_switch_idzone_id
cidr_block)r   r5   r6   )r   describe_v_switchesr'   r   create_v_switch)r   r*   	vswitchesr4   s       r   r   r   H   s    
&//C''vj/A(/K'LLIY!!3!3,5aL,<,<[,I,Iz=)%%j!(+z"9-*%l3 &  K ,7z=))) r   c                    t          |           }| d                             dd          }t          j                            d                    |                    }|                    |          }|Zt          |          dk    rGd| d         vr;t          	                    d	                    ||                     || d         d<   d S d S d| d         vr|
                    |          }||t          |d
          5 }|                    |                    d                     d d d            n# 1 swxY w Y   t          j        |t          j                   || d         d<   d S d S | d         d         dz   }t          |          5 }|                                                    d          }|                    ||           	 d d d            d S # 1 swxY w Y   d S )Nr   key_namerayz	~/.ssh/{})key_pair_namer   ssh_private_keyauthz*{} keypair exists, use {} as local ssh keyzw+PrivateKeyBodyz.pub
)r=   public_key_body)r   r   ospath
expanduserformatdescribe_key_pairsr'   loggerinfocreate_key_pairopenwritechmodstatS_IRUSRreadlinestripimport_key_pair)	r   r*   r;   key_pathkeypairsrespfpublic_key_file
public_keys	            r   r   r   Y   sh   
&//Cj!%%j%88Hw!!+"4"4X">">??H%%H%==HH 1 1F6N22KK<CCHhWW   19F6N,---	 32 F6N22&&X&>>D(D)) 8QGGDHH%5667778 8 8 8 8 8 8 8 8 8 8 8 8 8 84<0004<v0111	   %Vn->?&HOo&& !ZZ\\//55
##(J#WWW                 s%   )D77D;>D;A GG!$G!)loggingrC   rN   $ray.autoscaler._private.aliyun.utilsr   PENDINGRUNNINGSTARTINGSTOPPINGSTOPPED	getLogger__name__rH   r   r   r   r
   r   r    r   r   <module>rc      s     				  : : : : : : 

		8	$	$      (	. 	. 	.8 8 8"    r   