§
    AxÅj¢  ã            1       óÆ  — d Z ddlmZmZ 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 d#dededee         d	ed
ededee         dee         dee         dee         dee         dee         dee         dee         dee         dee         dee         dee         dee         deee                  dee         dee         dee         def0d„Zdedefd „Z	dededefd!„Z
dedefd"„ZdS )$z)
Runpod | API Wrapper | Mutations | Pods
é    )ÚListÚOptionalNÚALLTÚnameÚ
image_nameÚgpu_type_idÚ
cloud_typeÚsupport_public_ipÚ	start_sshÚdata_center_idÚcountry_codeÚ	gpu_countÚvolume_in_gbÚcontainer_disk_in_gbÚmin_vcpu_countÚmin_memory_in_gbÚdocker_argsÚportsÚvolume_mount_pathÚenvÚtemplate_idÚnetwork_volume_idÚallowed_cuda_versionsÚmin_downloadÚ
min_uploadÚinstance_idÚreturnc                 óì  — g }|                      d| › d�d|› d�d|› �g¦  «         |r|                     d¦  «         |�ó|                     d|› d�¦  «         |                     dt          |¦  «                             ¦   «         › �¦  «         |�|                     d	|› �¦  «         |	�|                     d
|	› �¦  «         |�|                     d|› �¦  «         |�|                     d|› �¦  «         |�8d                     d„ |D ¦   «         ¦  «        }|                     d|› d�¦  «         n|�|                     d|› d�¦  «         |pd}|�|                     d|› d�¦  «         n|                     d¦  «         |�|                     d|› d�¦  «         |�|                     d|› d�¦  «         |
�|                     d|
› �¦  «         |�-|                     d|                     dd¦  «        › d�¦  «         |�|                     d|› d�¦  «         |�Jd„ |                     ¦   «         D ¦   «         }|                     dd                     |¦  «        › d�¦  «         |�|                     d|› d�¦  «         |�|                     d|› d�¦  «         |�|                     d |› �¦  «         |�|                     d!|› �¦  «         |rd"nd#}d                     |¦  «        }d$|› d%|› d&�S )'a¹  
    Generates a mutation to deploy a pod on demand.
    
    Args:
        name: Name of the pod
        image_name: Docker image name
        gpu_type_id: GPU type ID for GPU pods, None for CPU pods
        cloud_type: Cloud type (ALL, COMMUNITY, or SECURE)
        support_public_ip: Whether to support public IP
        start_ssh: Whether to start SSH service
        data_center_id: Data center ID
        country_code: Country code for pod location
        gpu_count: Number of GPUs (for GPU pods)
        volume_in_gb: Volume size in GB
        container_disk_in_gb: Container disk size in GB
        min_vcpu_count: Minimum vCPU count
        min_memory_in_gb: Minimum memory in GB
        docker_args: Docker arguments
        ports: Port mappings (e.g. "8080/tcp,22/tcp")
        volume_mount_path: Volume mount path
        env: Environment variables dict
        template_id: Template ID
        network_volume_id: Network volume ID
        allowed_cuda_versions: List of allowed CUDA versions
        min_download: Minimum download speed in Mbps
        min_upload: Minimum upload speed in Mbps
        instance_id: Instance ID for CPU pods

    Returns:
        str: GraphQL mutation string
    zname: "ú"zimageName: "zcloudType: zstartSsh: trueNzgpuTypeId: "zsupportPublicIp: z
gpuCount: zvolumeInGb: zminVcpuCount: zminMemoryInGb: z, c              3   ó"   K  — | ]
}d |› d �V — ŒdS )r   N© )Ú.0Úvs     úJC:\Projects\Historical\venv\Lib\site-packages\runpod/api/mutations/pods.pyú	<genexpr>z3generate_pod_deployment_mutation.<locals>.<genexpr>]   s*   è è € Ð%NÐ%N°1 h¨! h h hÐ%NÐ%NÐ%NÐ%NÐ%NÐ%Nó    zallowedCudaVersions: [ú]zinstanceId: "zrunpod-ubuntuzdataCenterId: "zdataCenterId: nullzdockerArgs: "zcountryCode: "zcontainerDiskInGb: zports: "ú Ú zvolumeMountPath: "c                 ó&   — g | ]\  }}d |› d|› d�‘ŒS )z{ key: "z", value: "z" }r!   )r"   Úkr#   s      r$   ú
<listcomp>z4generate_pod_deployment_mutation.<locals>.<listcomp>w   s0   € ÐOÐOÐO¹4¸1¸aÐ6 Ð6Ð6¨qÐ6Ð6Ð6ÐOÐOÐOr&   zenv: [ztemplateId: "znetworkVolumeId: "zminDownload: zminUpload: ÚpodFindAndDeployOnDemandÚdeployCpuPodz
    mutation {
      z(
        input: {
          z’
        }
      ) {
        id
        imageName
        env
        machineId
        machine {
          podHostId
        }
      }
    }
    )ÚextendÚappendÚstrÚlowerÚjoinÚreplaceÚitems)r   r   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   Úinput_fieldsÚcuda_versionsÚ	env_itemsÚmutation_typeÚinput_strings                               r$   Ú generate_pod_deployment_mutationr;   
   s  € ðp €Lð ×ÒØ�$ÐÐÐØ$�zÐ$Ð$Ð$Ø"�jÐ"Ð"ðñ ô ð ð ð .Ø×ÒÐ,Ñ-Ô-Ð-ð ÐØ×ÒÐ9¨;Ð9Ð9Ð9Ñ:Ô:Ð:Ø×ÒÐPµÐ4EÑ0FÔ0F×0LÒ0LÑ0NÔ0NÐPÐPÑQÔQÐQàÐ Ø×ÒÐ 8¨YÐ 8Ð 8Ñ9Ô9Ð9ØÐ#Ø×ÒÐ =¨|Ð =Ð =Ñ>Ô>Ð>ØÐ%Ø×ÒÐ A°Ð AÐ AÑBÔBÐBØÐ'Ø×ÒÐ DÐ2BÐ DÐ DÑEÔEÐEà Ð,Ø ŸIšIÐ%NÐ%NÐ8MÐ%NÑ%NÔ%NÑNÔNˆMØ×ÒÐ I¸Ð IÐ IÐ IÑJÔJÐJøð Ð"Ø×ÒÐ >°Ð >Ð >Ð >Ñ?Ô?Ð?Ø!Ð4 _ˆð Ð!Ø×ÒÐ?¨nÐ?Ð?Ð?Ñ@Ô@Ð@Ð@à×ÒÐ0Ñ1Ô1Ð1àÐØ×ÒÐ:¨KÐ:Ð:Ð:Ñ;Ô;Ð;ØÐØ×ÒÐ<¨\Ð<Ð<Ð<Ñ=Ô=Ð=ØÐ'Ø×ÒÐHÐ2FÐHÐHÑIÔIÐIØÐØ×ÒÐ@ u§}¢}°S¸"Ñ'=Ô'=Ð@Ð@Ð@ÑAÔAÐAØÐ$Ø×ÒÐEÐ1BÐEÐEÐEÑFÔFÐFØ
€ØOÐOÀ3Ç9Â9Á;Ä;ÐOÑOÔOˆ	Ø×ÒÐ< T§Y¢Y¨yÑ%9Ô%9Ð<Ð<Ð<Ñ=Ô=Ð=ØÐØ×ÒÐ:¨KÐ:Ð:Ð:Ñ;Ô;Ð;ØÐ$Ø×ÒÐEÐ1BÐEÐEÐEÑFÔFÐFØÐØ×ÒÐ:¨LÐ:Ð:Ñ;Ô;Ð;ØÐØ×ÒÐ6¨*Ð6Ð6Ñ7Ô7Ð7à2=ÐQÐ.Ð.À>€MØ—9’9˜\Ñ*Ô*€Lðàðð ð ð	ð ð ð r&   Úpod_idc                 ó   — d| › d�S )z-
    Generates a mutation to stop a pod.
    z1
    mutation {
        podStop(input: { podId: "zD" }) {
            id
            desiredStatus
        }
    }
    r!   ©r<   s    r$   Úgenerate_pod_stop_mutationr?   ˜   s   € ðà#)ðð ð ð r&   c                 ó   — d| › d|› d�S )z/
    Generates a mutation to resume a pod.
    z3
    mutation {
        podResume(input: { podId: "z", gpuCount: z½ }) {
            id
            desiredStatus
            imageName
            env
            machineId
            machine {
                podHostId
            }
        }
    }
    r!   )r<   r   s     r$   Úgenerate_pod_resume_mutationrA   ¦   s+   € ðà%+ðð à:Cðð ð ð r&   c                 ó   — d| › d�S )z2
    Generates a mutation to terminate a pod.
    z6
    mutation {
        podTerminate(input: { podId: "z" })
    }
    r!   r>   s    r$   Úgenerate_pod_terminate_mutationrC   º   s   € ðà(.ðð ð ð r&   )Nr   TTNNNNNNNNNNNNNNNNN)Ú__doc__Útypingr   r   r1   ÚboolÚintÚdictr;   r?   rA   rC   r!   r&   r$   ú<module>rI      sQ  ððð ð "Ð !Ð !Ð !Ð !Ð !Ð !Ð !ð "&ØØ"ØØ$(Ø"&Ø#Ø"&Ø*.Ø$(Ø&*Ø!%ØØ'+ØØ!%Ø'+Ø15Ø"&Ø $Ø!%ð/Kð KØ
ðKàðKð ˜#”ðKð ð	Kð
 ðKð ðKð ˜S”MðKð ˜3”-ðKð ˜Œ}ðKð ˜3”-ðKð # 3œ-ðKð ˜S”MðKð ˜s”mðKð ˜#”ðKð �CŒ=ðKð    ”}ð!Kð" 
�$Œð#Kð$ ˜#”ð%Kð&   ”}ð'Kð( $ D¨¤IÔ.ð)Kð* ˜3”-ð+Kð, ˜”ð-Kð. ˜#”ð/Kð0 	ð1Kð Kð Kð Kð\ sð ¨sð ð ð ð ð¨ð ¸ð Àð ð ð ð ð(¨Cð °Cð ð ð ð ð ð r&   