> ## Documentation Index
> Fetch the complete documentation index at: https://www.latitude.sh/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Update deploy config



## OpenAPI

````yaml https://spec.speakeasy.com/latitude/latitude/latitude-sh-api-with-code-samples patch /servers/{server_id}/deploy_config
openapi: 3.0.1
info:
  title: Latitude.sh API
  version: '2023-06-01'
  description: >-
    The Latitude.sh API is a RESTful API to manage your Latitude.sh account. It
    allows you to perform the same actions as the Latitude.sh dashboard.
servers:
  - url: https://api.latitude.sh
    variables:
      latitude_api_key:
        default: <insert your api key here>
  - url: http://api.latitude.sh
    variables:
      latitude_api_key:
        default: <insert your api key here>
security: []
tags:
  - name: API keys
  - name: Baselines (Preview)
    description: >-
      Preview. Available to teams with the `baselines_api` feature flag. The
      shape of these endpoints may change before general availability.
  - name: Billing
  - name: Elastic Ips
  - name: Events
  - name: Firewalls
  - name: IP Addresses
  - name: Kubernetes Clusters
  - name: Marketplace apps
  - name: Operating Systems
  - name: Plans
  - name: Public Networks
  - name: Private Networks
  - name: Projects
  - name: Regions
  - name: Roles
  - name: SSH Keys
  - name: Servers
  - name: Block Storage
  - name: Filesystem Storage
  - name: Object Storage
  - name: Tags
  - name: Teams
  - name: Team members
  - name: Traffic
  - name: User data
  - name: User profile
  - name: VPN Sessions
  - name: Virtual machines
  - name: Virtual machine backups
  - name: Virtual machine restores
paths:
  /servers/{server_id}/deploy_config:
    patch:
      tags:
        - Servers
      summary: Update deploy config
      operationId: update-server-deploy-config
      parameters:
        - name: server_id
          in: path
          description: The Server ID
          required: true
          examples:
            Success:
              value: sv_lkg1DeYLDvZE5
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                type:
                  type: string
                  enum:
                    - deploy_config
                attributes:
                  type: object
                  properties:
                    hostname:
                      type: string
                      nullable: true
                    operating_system:
                      type: string
                      enum:
                        - centos_7_4_x64
                        - centos_8_x64
                        - debian_10
                        - debian_11
                        - debian_12
                        - ipxe
                        - rhel8
                        - rockylinux_8
                        - ubuntu22_ml_in_a_box
                        - ubuntu24_ml_in_a_box
                        - ubuntu_20_04_x64_lts
                        - ubuntu_22_04_x64_lts
                        - ubuntu_24_04_x64_lts
                        - windows_2022_std
                        - windows_server_2019_std_v1
                      nullable: true
                    raid:
                      type: string
                      description: >-
                        RAID mode for the server. Set to 'raid-0' for RAID 0,
                        'raid-1' for RAID 1, or omit/null for no RAID
                        configuration
                      enum:
                        - raid-0
                        - raid-1
                      nullable: true
                    disk_layout:
                      type: array
                      nullable: true
                      items:
                        type: object
                        required:
                          - count
                          - role
                        properties:
                          count:
                            type: integer
                            minimum: 1
                          role:
                            type: string
                            enum:
                              - os
                              - storage
                              - raw
                          raid_level:
                            type: string
                            enum:
                              - raid-0
                              - raid-1
                            nullable: true
                          filesystem:
                            type: string
                            enum:
                              - ext4
                              - xfs
                            nullable: true
                          mount_point:
                            type: string
                            nullable: true
                    user_data:
                      type: string
                      description: User data to configure the server
                      nullable: true
                    ssh_keys:
                      type: array
                      nullable: true
                      items:
                        type: string
                    ipxe_url:
                      type: string
                      description: >-
                        URL where iPXE script is stored on, necessary for custom
                        image deployments. This attribute is required when
                        operating system iPXE is selected.
                      nullable: true
                    persistent_netboot:
                      type: boolean
                      description: >-
                        Keep network boot enabled so the server iPXE-boots on
                        every reboot instead of booting from disk. Only
                        supported with the 'ipxe' operating system.
                    public_network:
                      type: boolean
                      nullable: true
                      description: >-
                        Set to 'true' to attach the server onto a public
                        network. Requires 'public_network_id'. Available only
                        when the public network feature is enabled for the
                        server's location.
                    public_network_id:
                      type: string
                      nullable: true
                      description: >-
                        ID of a customer public network to attach the server
                        onto. Requires 'public_network' to be 'true'. The public
                        network must belong to the same project and be in the
                        same location as the server, and must have at least one
                        free IP address. This public network configuration is
                        saved to the deploy config and inherited by future
                        reinstalls until changed. Available only when the public
                        network feature is enabled for the server's location.
              required:
                - type
            examples:
              Success:
                summary: Success
                value:
                  data:
                    type: deploy_config
                    attributes:
                      ssh_keys:
                        - ssh_m5xyZOnNOWM0l
                      user_data: ud_5LA73qkjdaJ2o
                      raid: raid-1
                      operating_system: ubuntu_20_04_x64_lts
                      hostname: my-hostname
          application/vnd.api+json:
            schema:
              type: object
              properties:
                type:
                  type: string
                  enum:
                    - deploy_config
                attributes:
                  type: object
                  properties:
                    hostname:
                      type: string
                      nullable: true
                    operating_system:
                      type: string
                      enum:
                        - centos_7_4_x64
                        - centos_8_x64
                        - debian_10
                        - debian_11
                        - debian_12
                        - ipxe
                        - rhel8
                        - rockylinux_8
                        - ubuntu22_ml_in_a_box
                        - ubuntu24_ml_in_a_box
                        - ubuntu_20_04_x64_lts
                        - ubuntu_22_04_x64_lts
                        - ubuntu_24_04_x64_lts
                        - windows_2022_std
                        - windows_server_2019_std_v1
                      nullable: true
                    raid:
                      type: string
                      description: >-
                        RAID mode for the server. Set to 'raid-0' for RAID 0,
                        'raid-1' for RAID 1, or omit/null for no RAID
                        configuration
                      enum:
                        - raid-0
                        - raid-1
                      nullable: true
                    disk_layout:
                      type: array
                      nullable: true
                      items:
                        type: object
                        required:
                          - count
                          - role
                        properties:
                          count:
                            type: integer
                            minimum: 1
                          role:
                            type: string
                            enum:
                              - os
                              - storage
                              - raw
                          raid_level:
                            type: string
                            enum:
                              - raid-0
                              - raid-1
                            nullable: true
                          filesystem:
                            type: string
                            enum:
                              - ext4
                              - xfs
                            nullable: true
                          mount_point:
                            type: string
                            nullable: true
                    user_data:
                      type: string
                      description: User data to configure the server
                      nullable: true
                    ssh_keys:
                      type: array
                      nullable: true
                      items:
                        type: string
                    ipxe_url:
                      type: string
                      description: >-
                        URL where iPXE script is stored on, necessary for custom
                        image deployments. This attribute is required when
                        operating system iPXE is selected.
                      nullable: true
                    persistent_netboot:
                      type: boolean
                      description: >-
                        Keep network boot enabled so the server iPXE-boots on
                        every reboot instead of booting from disk. Only
                        supported with the 'ipxe' operating system.
                    public_network:
                      type: boolean
                      nullable: true
                      description: >-
                        Set to 'true' to attach the server onto a public
                        network. Requires 'public_network_id'. Available only
                        when the public network feature is enabled for the
                        server's location.
                    public_network_id:
                      type: string
                      nullable: true
                      description: >-
                        ID of a customer public network to attach the server
                        onto. Requires 'public_network' to be 'true'. The public
                        network must belong to the same project and be in the
                        same location as the server, and must have at least one
                        free IP address. This public network configuration is
                        saved to the deploy config and inherited by future
                        reinstalls until changed. Available only when the public
                        network feature is enabled for the server's location.
              required:
                - type
            examples:
              Success:
                summary: Success
                value:
                  data:
                    type: deploy_config
                    attributes:
                      ssh_keys:
                        - ssh_m5xyZOnNOWM0l
                      user_data: ud_5LA73qkjdaJ2o
                      raid: raid-1
                      operating_system: ubuntu_20_04_x64_lts
                      hostname: my-hostname
        required: true
      responses:
        '200':
          description: Success
          content:
            application/vnd.api+json:
              examples:
                Success:
                  value:
                    data:
                      id: sv_lkg1DeYLDvZE5
                      type: deploy_config
                      attributes:
                        ssh_keys:
                          - ssh_m5xyZOnNOWM0l
                        user_data: ud_5LA73qkjdaJ2o
                        raid: raid-1
                        operating_system: ubuntu_20_04_x64_lts
                        hostname: my-hostname
                        ipxe_url: null
                        ipxe: null
                    meta: {}
              schema:
                $ref: '#/components/schemas/deploy_config'
        '403':
          description: Forbidden
          content:
            application/vnd.api+json:
              examples:
                FeatureNotEnabled:
                  value:
                    errors:
                      - code: FEATURE_NOT_ENABLED
                        title: Feature Not Enabled
                        detail: Public networks are not enabled for this team
                        status: '403'
              schema:
                $ref: '#/components/schemas/error_object'
        '422':
          description: Unprocessable Entity
          content:
            application/vnd.api+json:
              examples:
                PublicNetworkNotSupportedForServer:
                  value:
                    errors:
                      - code: VALIDATION_ERROR
                        title: Validation Error
                        detail: >-
                          cannot be used: the server has 0 cabled bond NICs, but
                          a bond requires exactly 2
                        status: '422'
                        source:
                          pointer: public_network_id
                PublicNetworkHasNoFreeAddresses:
                  value:
                    errors:
                      - code: VALIDATION_ERROR
                        title: Validation Error
                        detail: has no free IP addresses
                        status: '422'
                        source:
                          pointer: public_network_id
                PublicNetworkIdRequiredWhenPublicNetwork:
                  value:
                    errors:
                      - code: VALIDATION_ERROR
                        title: Validation Error
                        detail: is required when public_network is true
                        status: '422'
                        source:
                          pointer: public_network_id
                PublicNetworkRequiredForPublicNetworkId:
                  value:
                    errors:
                      - code: VALIDATION_ERROR
                        title: Validation Error
                        detail: can only be set when public_network is true
                        status: '422'
                        source:
                          pointer: public_network_id
              schema:
                $ref: '#/components/schemas/error_object'
      security:
        - Bearer: []
      x-codeSamples:
        - lang: python
          label: Python (SDK)
          source: |-
            import latitudesh_python_sdk
            from latitudesh_python_sdk import Latitudesh
            import os


            with Latitudesh(
                bearer=os.getenv("LATITUDESH_BEARER", ""),
            ) as latitudesh:

                res = latitudesh.servers.update_deploy_config(server_id="sv_lkg1DeYLDvZE5", type_=latitudesh_python_sdk.UpdateServerDeployConfigServersType.DEPLOY_CONFIG)

                # Handle response
                print(res)
        - lang: go
          label: Go (SDK)
          source: "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tlatitudeshgosdk \"github.com/latitudesh/latitudesh-go-sdk\"\n\t\"github.com/latitudesh/latitudesh-go-sdk/models/operations\"\n\t\"log\"\n)\n\nfunc main() {\n    ctx := context.Background()\n\n    s := latitudeshgosdk.New(\n        latitudeshgosdk.WithSecurity(os.Getenv(\"LATITUDESH_BEARER\")),\n    )\n\n    res, err := s.Servers.UpdateDeployConfig(ctx, \"sv_lkg1DeYLDvZE5\", operations.UpdateServerDeployConfigServersRequestBody{\n        Type: operations.UpdateServerDeployConfigServersTypeDeployConfig,\n    })\n    if err != nil {\n        log.Fatal(err)\n    }\n    if res.DeployConfig != nil {\n        // handle response\n    }\n}"
        - lang: typescript
          label: Typescript (SDK)
          source: |-
            import { Latitudesh } from "latitudesh-typescript-sdk";

            const latitudesh = new Latitudesh({
              bearer: process.env["LATITUDESH_BEARER"] ?? "",
            });

            async function run() {
              const result = await latitudesh.servers.updateDeployConfig({
                serverId: "sv_lkg1DeYLDvZE5",
                requestBody: {
                  type: "deploy_config",
                },
              });

              console.log(result);
            }

            run();
components:
  schemas:
    deploy_config:
      type: object
      properties:
        data:
          type: object
          properties:
            id:
              type: string
            attributes:
              type: object
              properties:
                operating_system:
                  type: string
                hostname:
                  type: string
                raid:
                  type: string
                disk_layout:
                  type: array
                  nullable: true
                  items:
                    type: object
                    required:
                      - count
                      - role
                    properties:
                      count:
                        type: integer
                        minimum: 1
                      role:
                        type: string
                        enum:
                          - os
                          - storage
                          - raw
                      raid_level:
                        type: string
                        enum:
                          - raid-0
                          - raid-1
                        nullable: true
                      filesystem:
                        type: string
                        enum:
                          - ext4
                          - xfs
                        nullable: true
                      mount_point:
                        type: string
                        nullable: true
                user_data:
                  type: string
                ssh_keys:
                  type: array
                  items:
                    type: string
                persistent_netboot:
                  type: boolean
                  nullable: true
                  description: >-
                    Keep network boot enabled so the server iPXE-boots on every
                    reboot instead of booting from disk. Only supported with the
                    'ipxe' operating system.
                public_network:
                  type: boolean
                  nullable: true
                public_network_id:
                  type: string
                  nullable: true
    error_object:
      type: object
      properties:
        errors:
          type: array
          items:
            type: object
            properties:
              code:
                type: string
                nullable: true
              status:
                type: string
              title:
                type: string
              detail:
                type: string
              source:
                type: object
                properties:
                  pointer:
                    type: string
                  parameter:
                    type: string
              meta:
                type: object
  securitySchemes:
    Bearer:
      type: apiKey
      name: Authorization
      in: header

````