$schema: "http://json-schema.org/draft-06/schema#"

title: compute beta Scheduling export schema
description: A gcloud export/import command YAML validation schema.
type: object
additionalProperties: false
properties:
  COMMENT:
    type: object
    description: User specified info ignored by gcloud import.
    additionalProperties: false
    properties:
      template-id:
        type: string
      region:
        type: string
      description:
        type: string
      date:
        type: string
      version:
        type: string
  UNKNOWN:
    type: array
    description: Unknown API fields that cannot be imported.
    items:
      type: string
  automaticRestart:
    description: |-
      Specifies whether the instance should be automatically restarted if it is
      terminated by Compute Engine (not terminated by a user). You can only set
      the automatic restart option for standard instances.Preemptible instances
      cannot be automatically restarted.  By default, this is set to true so an
      instance is automatically restarted if it is terminated by Compute Engine.
    type: boolean
  availabilityDomain:
    description: |-
      Specifies the availability domain to place the instance in. The value must
      be a number between 1 and the number of availability domains specified in
      the spread placement policy attached to the instance.
    type: integer
  gracefulShutdown:
    description: A SchedulingGracefulShutdown attribute.
    $ref: SchedulingGracefulShutdown.yaml
  hostErrorTimeoutSeconds:
    description: |-
      Specify the time in seconds for host error detection, the value must be
      within the range of [90, 330] with the increment of 30, if unset, the
      default behavior of host error recovery will be used.
    type: integer
  instanceTerminationAction:
    description: Specifies the termination action for the instance.
    type: string
    enum:
    - DELETE
    - INSTANCE_TERMINATION_ACTION_UNSPECIFIED
    - STOP
  localSsdRecoveryTimeout:
    description: |-
      Specifies the maximum amount of time a Local Ssd Vm should wait while
      recovery of the Local Ssd state is attempted. Its value should be in
      between 0 and 168 hours with hour granularity and the default value being
      1 hour.
    $ref: Duration.yaml
  locationHint:
    description: |-
      An opaque location hint used to place the instance close to other
      resources. This field is for use by internal tools that use the public
      API.
    type: string
  maintenanceFreezeDurationHours:
    description: |-
      Specifies the number of hours after VM instance creation where the VM
      won't be scheduled for maintenance.
    type: integer
  maintenanceInterval:
    description: |-
      Specifies the frequency of planned maintenance events. The accepted values
      are: `PERIODIC`.
    type: string
    enum:
    - AS_NEEDED
    - PERIODIC
    - RECURRENT
  maxRunDuration:
    description: |-
      Specifies the max run duration for the given instance. If specified, the
      instance termination action will be performed at the end of the run
      duration.
    $ref: Duration.yaml
  minNodeCpus:
    description: |-
      The minimum number of virtual CPUs this instance will consume when running
      on a sole-tenant node.
    type: integer
  nodeAffinities:
    description: |-
      A set of node affinity and anti-affinity configurations. Refer
      toConfiguring node affinity for more information. Overrides
      reservationAffinity.
    type: array
    items:
      $ref: SchedulingNodeAffinity.yaml
  onHostMaintenance:
    description: |-
      Defines the maintenance behavior for this instance. For standard
      instances, the default behavior is MIGRATE. Forpreemptible instances,
      the default and only possible behavior is TERMINATE. For more
      information, see  Set  VM host maintenance policy.
    type: string
    enum:
    - MIGRATE
    - TERMINATE
  onInstanceStopAction:
    description: A SchedulingOnInstanceStopAction attribute.
    $ref: SchedulingOnInstanceStopAction.yaml
  preemptible:
    description: |-
      Defines whether the instance is preemptible. This can only be set
      during instance creation or while the instance isstopped and
      therefore, in a `TERMINATED` state. SeeInstance Life Cycle for more
      information on the possible instance states.
    type: boolean
  provisioningModel:
    description: Specifies the provisioning model of the instance.
    type: string
    enum:
    - FLEX_START
    - RESERVATION_BOUND
    - SPOT
    - STANDARD
  skipGuestOsShutdown:
    description: |-
      Default is false and there will be 120 seconds between GCE ACPI G2
      Soft Off and ACPI G3 Mechanical Off for Standard VMs and 30 seconds
      for Spot VMs.
    type: boolean
  terminationTime:
    description: |-
      Specifies the timestamp, when the instance will be terminated,
      inRFC3339 text format. If specified, the instance termination action
      will be performed at the termination time.
    type: string
