schema:
  format:
    openapi: "3.0.0"
  service_input_type: "ApprunnerServiceInput"
  pipeline_input_type: "PipelineInputs"

  types:
    ApprunnerServiceInput:
      type: object
      description: "Input properties for the App runner service"
      properties:
        port:
          type: number
          description: "The port to route traffic to"
          default: 80
          minimum: 0
          maximum: 65535
        task_size:
          type: string
          description: "The size of the task you want to run"
          enum: ["medium", "large"]
          default: "medium"
        image:
          type: string
          description: "The name/url of the container image"
          minLength: 1
          maxLength: 200

    PipelineInputs:
      type: object
      description: "Pipeline input properties"
      properties:
        service_dir:
          type: string
          description: "Source directory for the service"
          default: "ecs-static-website"
          minLength: 1
          maxLength: 100
        dockerfile:
          type: string
          description: "The location of the Dockerfile to build"
          default: "Dockerfile"
          minLength: 1
          maxLength: 100
        unit_test_command:
          type: string
          description: "The command to run to unit test the application code"
          default: "echo 'add your unit test command here'"
          minLength: 1
          maxLength: 200
        environment_account_ids:
          type: string
          pattern: '^$|^\d{12}(,\d{12})*$'
          description: "The environment account ids for service instances using cross account environment, separated by ,"
          default: ""
          maxLength: 200