AWS Ground Station icon

AWS Ground Station

Welcome to the AWS Ground Station API Reference

COMMUNITYAPI KEY0 INSTALLS
API Docs
OpenAPI Specificationv3.0
{
  "openapi": "3.0.0",
  "info": {
    "version": "2019-05-23",
    "x-release": "v4",
    "title": "AWS Ground Station",
    "description": "Welcome to the AWS Ground Station API Reference. AWS Ground Station is a fully managed service that enables you to control satellite communications, downlink and process satellite data, and scale your satellite operations efficiently and cost-effectively without having to build or manage your own ground station infrastructure.",
    "x-logo": {
      "url": "https://api.apis.guru/v2/cache/logo/https_twitter.com_awscloud_profile_image.png",
      "backgroundColor": "#FFFFFF"
    },
    "termsOfService": "https://aws.amazon.com/service-terms/",
    "contact": {
      "name": "Mike Ralphson",
      "email": "mike.ralphson@gmail.com",
      "url": "https://github.com/mermade/aws2openapi",
      "x-twitter": "PermittedSoc"
    },
    "license": {
      "name": "Apache 2.0 License",
      "url": "http://www.apache.org/licenses/"
    },
    "x-providerName": "amazonaws.com",
    "x-serviceName": "groundstation",
    "x-aws-signingName": "groundstation",
    "x-origin": [
      {
        "contentType": "application/json",
        "url": "https://raw.githubusercontent.com/aws/aws-sdk-js/master/apis/groundstation-2019-05-23.normal.json",
        "converter": {
          "url": "https://github.com/mermade/aws2openapi",
          "version": "1.0.0"
        },
        "x-apisguru-driver": "external"
      }
    ],
    "x-apiClientRegistration": {
      "url": "https://portal.aws.amazon.com/gp/aws/developer/registration/index.html?nc2=h_ct"
    },
    "x-apisguru-categories": [
      "cloud"
    ],
    "x-preferred": true
  },
  "externalDocs": {
    "description": "Amazon Web Services documentation",
    "url": "https://docs.aws.amazon.com/groundstation/"
  },
  "servers": [
    {
      "url": "http://groundstation.{region}.amazonaws.com",
      "variables": {
        "region": {
          "description": "The AWS region",
          "enum": [
            "us-east-1",
            "us-east-2",
            "us-west-1",
            "us-west-2",
            "us-gov-west-1",
            "us-gov-east-1",
            "ca-central-1",
            "eu-north-1",
            "eu-west-1",
            "eu-west-2",
            "eu-west-3",
            "eu-central-1",
            "eu-south-1",
            "af-south-1",
            "ap-northeast-1",
            "ap-northeast-2",
            "ap-northeast-3",
            "ap-southeast-1",
            "ap-southeast-2",
            "ap-east-1",
            "ap-south-1",
            "sa-east-1",
            "me-south-1"
          ],
          "default": "us-east-1"
        }
      },
      "description": "The AWS Ground Station multi-region endpoint"
    },
    {
      "url": "https://groundstation.{region}.amazonaws.com",
      "variables": {
        "region": {
          "description": "The AWS region",
          "enum": [
            "us-east-1",
            "us-east-2",
            "us-west-1",
            "us-west-2",
            "us-gov-west-1",
            "us-gov-east-1",
            "ca-central-1",
            "eu-north-1",
            "eu-west-1",
            "eu-west-2",
            "eu-west-3",
            "eu-central-1",
            "eu-south-1",
            "af-south-1",
            "ap-northeast-1",
            "ap-northeast-2",
            "ap-northeast-3",
            "ap-southeast-1",
            "ap-southeast-2",
            "ap-east-1",
            "ap-south-1",
            "sa-east-1",
            "me-south-1"
          ],
          "default": "us-east-1"
        }
      },
      "description": "The AWS Ground Station multi-region endpoint"
    },
    {
      "url": "http://groundstation.{region}.amazonaws.com.cn",
      "variables": {
        "region": {
          "description": "The AWS region",
          "enum": [
            "cn-north-1",
            "cn-northwest-1"
          ],
          "default": "cn-north-1"
        }
      },
      "description": "The AWS Ground Station endpoint for China (Beijing) and China (Ningxia)"
    },
    {
      "url": "https://groundstation.{region}.amazonaws.com.cn",
      "variables": {
        "region": {
          "description": "The AWS region",
          "enum": [
            "cn-north-1",
            "cn-northwest-1"
          ],
          "default": "cn-north-1"
        }
      },
      "description": "The AWS Ground Station endpoint for China (Beijing) and China (Ningxia)"
    }
  ],
  "x-hasEquivalentPaths": true,
  "paths": {
    "/contact/{contactId}": {
      "delete": {
        "operationId": "CancelContact",
        "description": "Cancels a contact with a specified contact ID.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ContactIdResponse"
                }
              }
            }
          },
          "480": {
            "description": "InvalidParameterException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidParameterException"
                }
              }
            }
          },
          "481": {
            "description": "DependencyException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DependencyException"
                }
              }
            }
          },
          "482": {
            "description": "ResourceNotFoundException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceNotFoundException"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "contactId",
            "in": "path",
            "required": true,
            "description": "UUID of a contact.",
            "schema": {
              "type": "string",
              "pattern": "^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$",
              "minLength": 1,
              "maxLength": 128
            }
          }
        ]
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/X-Amz-Content-Sha256"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Date"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Algorithm"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Credential"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Security-Token"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Signature"
        },
        {
          "$ref": "#/components/parameters/X-Amz-SignedHeaders"
        }
      ],
      "get": {
        "operationId": "DescribeContact",
        "description": "Describes an existing contact.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DescribeContactResponse"
                }
              }
            }
          },
          "480": {
            "description": "InvalidParameterException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidParameterException"
                }
              }
            }
          },
          "481": {
            "description": "DependencyException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DependencyException"
                }
              }
            }
          },
          "482": {
            "description": "ResourceNotFoundException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceNotFoundException"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "contactId",
            "in": "path",
            "required": true,
            "description": "UUID of a contact.",
            "schema": {
              "type": "string",
              "pattern": "^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$",
              "minLength": 1,
              "maxLength": 128
            }
          }
        ]
      }
    },
    "/config": {
      "post": {
        "operationId": "CreateConfig",
        "description": "<p>Creates a <code>Config</code> with the specified <code>configData</code> parameters.</p> <p>Only one type of <code>configData</code> can be specified.</p>",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConfigIdResponse"
                }
              }
            }
          },
          "480": {
            "description": "InvalidParameterException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidParameterException"
                }
              }
            }
          },
          "481": {
            "description": "DependencyException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DependencyException"
                }
              }
            }
          },
          "482": {
            "description": "ResourceLimitExceededException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceLimitExceededException"
                }
              }
            }
          },
          "483": {
            "description": "ResourceNotFoundException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceNotFoundException"
                }
              }
            }
          }
        },
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "configData",
                  "name"
                ],
                "properties": {
                  "configData": {
                    "description": "<p>Object containing the parameters of a <code>Config</code>.</p> <p>See the subtype definitions for what each type of <code>Config</code> contains.</p>",
                    "type": "object",
                    "properties": {
                      "antennaDownlinkConfig": {
                        "allOf": [
                          {
                            "$ref": "#/components/schemas/AntennaDownlinkConfig"
                          },
                          {
                            "description": "Information about how AWS Ground Station should configure an antenna for downlink during a contact."
                          }
                        ]
                      },
                      "antennaDownlinkDemodDecodeConfig": {
                        "allOf": [
                          {
                            "$ref": "#/components/schemas/AntennaDownlinkDemodDecodeConfig"
                          },
                          {
                            "description": "Information about how AWS Ground Station should configure an antenna for downlink demod decode during a contact."
                          }
                        ]
                      },
                      "antennaUplinkConfig": {
                        "allOf": [
                          {
                            "$ref": "#/components/schemas/AntennaUplinkConfig"
                          },
                          {
                            "description": "Information about how AWS Ground Station should configure an antenna for uplink during a contact."
                          }
                        ]
                      },
                      "dataflowEndpointConfig": {
                        "allOf": [
                          {
                            "$ref": "#/components/schemas/DataflowEndpointConfig"
                          },
                          {
                            "description": "Information about the dataflow endpoint <code>Config</code>."
                          }
                        ]
                      },
                      "s3RecordingConfig": {
                        "allOf": [
                          {
                            "$ref": "#/components/schemas/S3RecordingConfig"
                          },
                          {
                            "description": "Information about an S3 recording <code>Config</code>."
                          }
                        ]
                      },
                      "trackingConfig": {
                        "allOf": [
                          {
                            "$ref": "#/components/schemas/TrackingConfig"
                          },
                          {
                            "description": "Object that determines whether tracking should be used during a contact executed with this <code>Config</code> in the mission profile. "
                          }
                        ]
                      },
                      "uplinkEchoConfig": {
                        "allOf": [
                          {
                            "$ref": "#/components/schemas/UplinkEchoConfig"
                          },
                          {
                            "description": "<p>Information about an uplink echo <code>Config</code>.</p> <p>Parameters from the <code>AntennaUplinkConfig</code>, corresponding to the specified <code>AntennaUplinkConfigArn</code>, are used when this <code>UplinkEchoConfig</code> is used in a contact.</p>"
                          }
                        ]
                      }
                    }
                  },
                  "name": {
                    "description": "Name of a <code>Config</code>.",
                    "type": "string",
                    "pattern": "^[ a-zA-Z0-9_:-]{1,256}$",
                    "minLength": 1,
                    "maxLength": 256
                  },
                  "tags": {
                    "description": "Tags assigned to a <code>Config</code>.",
                    "type": "object",
                    "additionalProperties": {
                      "$ref": "#/components/schemas/String"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/X-Amz-Content-Sha256"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Date"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Algorithm"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Credential"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Security-Token"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Signature"
        },
        {
          "$ref": "#/components/parameters/X-Amz-SignedHeaders"
        }
      ],
      "get": {
        "operationId": "ListConfigs",
        "description": "Returns a list of <code>Config</code> objects.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListConfigsResponse"
                }
              }
            }
          },
          "480": {
            "description": "InvalidParameterException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidParameterException"
                }
              }
            }
          },
          "481": {
            "description": "DependencyException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DependencyException"
                }
              }
            }
          },
          "482": {
            "description": "ResourceNotFoundException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceNotFoundException"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "maxResults",
            "in": "query",
            "required": false,
            "description": "Maximum number of <code>Configs</code> returned.",
            "schema": {
              "type": "integer",
              "minimum": 0,
              "maximum": 100
            }
          },
          {
            "name": "nextToken",
            "in": "query",
            "required": false,
            "description": "Next token returned in the request of a previous <code>ListConfigs</code> call. Used to get the next page of results.",
            "schema": {
              "type": "string",
              "pattern": "^[A-Za-z0-9-/+_.=]+$",
              "minLength": 3,
              "maxLength": 1000
            }
          }
        ]
      }
    },
    "/dataflowEndpointGroup": {
      "post": {
        "operationId": "CreateDataflowEndpointGroup",
        "description": "<p>Creates a <code>DataflowEndpoint</code> group containing the specified list of <code>DataflowEndpoint</code> objects.</p> <p>The <code>name</code> field in each endpoint is used in your mission profile <code>DataflowEndpointConfig</code> to specify which endpoints to use during a contact.</p> <p>When a contact uses multiple <code>DataflowEndpointConfig</code> objects, each <code>Config</code> must match a <code>DataflowEndpoint</code> in the same group.</p>",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DataflowEndpointGroupIdResponse"
                }
              }
            }
          },
          "480": {
            "description": "InvalidParameterException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidParameterException"
                }
              }
            }
          },
          "481": {
            "description": "DependencyException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DependencyException"
                }
              }
            }
          },
          "482": {
            "description": "ResourceNotFoundException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceNotFoundException"
                }
              }
            }
          }
        },
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "endpointDetails"
                ],
                "properties": {
                  "contactPostPassDurationSeconds": {
                    "description": "Amount of time, in seconds, after a contact ends that the Ground Station Dataflow Endpoint Group will be in a <code>POSTPASS</code> state. A Ground Station Dataflow Endpoint Group State Change event will be emitted when the Dataflow Endpoint Group enters and exits the <code>POSTPASS</code> state.",
                    "type": "integer",
                    "minimum": 120,
                    "maximum": 480
                  },
                  "contactPrePassDurationSeconds": {
                    "description": "Amount of time, in seconds, before a contact starts that the Ground Station Dataflow Endpoint Group will be in a <code>PREPASS</code> state. A Ground Station Dataflow Endpoint Group State Change event will be emitted when the Dataflow Endpoint Group enters and exits the <code>PREPASS</code> state.",
                    "type": "integer",
                    "minimum": 120,
                    "maximum": 480
                  },
                  "endpointDetails": {
                    "description": "Endpoint details of each endpoint in the dataflow endpoint group.",
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/EndpointDetails"
                    },
                    "minItems": 0,
                    "maxItems": 500
                  },
                  "tags": {
                    "description": "Tags of a dataflow endpoint group.",
                    "type": "object",
                    "additionalProperties": {
                      "$ref": "#/components/schemas/String"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/X-Amz-Content-Sha256"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Date"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Algorithm"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Credential"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Security-Token"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Signature"
        },
        {
          "$ref": "#/components/parameters/X-Amz-SignedHeaders"
        }
      ],
      "get": {
        "operationId": "ListDataflowEndpointGroups",
        "description": "Returns a list of <code>DataflowEndpoint</code> groups.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListDataflowEndpointGroupsResponse"
                }
              }
            }
          },
          "480": {
            "description": "InvalidParameterException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidParameterException"
                }
              }
            }
          },
          "481": {
            "description": "DependencyException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DependencyException"
                }
              }
            }
          },
          "482": {
            "description": "ResourceNotFoundException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceNotFoundException"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "maxResults",
            "in": "query",
            "required": false,
            "description": "Maximum number of dataflow endpoint groups returned.",
            "schema": {
              "type": "integer",
              "minimum": 0,
              "maximum": 100
            }
          },
          {
            "name": "nextToken",
            "in": "query",
            "required": false,
            "description": "Next token returned in the request of a previous <code>ListDataflowEndpointGroups</code> call. Used to get the next page of results.",
            "schema": {
              "type": "string",
              "pattern": "^[A-Za-z0-9-/+_.=]+$",
              "minLength": 3,
              "maxLength": 1000
            }
          }
        ]
      }
    },
    "/ephemeris": {
      "post": {
        "operationId": "CreateEphemeris",
        "description": "Creates an Ephemeris with the specified <code>EphemerisData</code>.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EphemerisIdResponse"
                }
              }
            }
          },
          "480": {
            "description": "InvalidParameterException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidParameterException"
                }
              }
            }
          },
          "481": {
            "description": "DependencyException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DependencyException"
                }
              }
            }
          },
          "482": {
            "description": "ResourceNotFoundException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceNotFoundException"
                }
              }
            }
          }
        },
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "name",
                  "satelliteId"
                ],
                "properties": {
                  "enabled": {
                    "description": "<p>Whether to set the ephemeris status to <code>ENABLED</code> after validation.</p> <p>Setting this to false will set the ephemeris status to <code>DISABLED</code> after validation.</p>",
                    "type": "boolean"
                  },
                  "ephemeris": {
                    "description": "Ephemeris data.",
                    "type": "object",
                    "properties": {
                      "oem": {
                        "$ref": "#/components/schemas/OEMEphemeris"
                      },
                      "tle": {
                        "$ref": "#/components/schemas/TLEEphemeris"
                      }
                    }
                  },
                  "expirationTime": {
                    "description": "An overall expiration time for the ephemeris in UTC, after which it will become <code>EXPIRED</code>.",
                    "type": "string",
                    "format": "date-time"
                  },
                  "kmsKeyArn": {
                    "description": "The ARN of a KMS key used to encrypt the ephemeris in Ground Station.",
                    "type": "string"
                  },
                  "name": {
                    "description": "A name string associated with the ephemeris. Used as a human-readable identifier for the ephemeris.",
                    "type": "string",
                    "pattern": "^[ a-zA-Z0-9_:-]{1,256}$",
                    "minLength": 1,
                    "maxLength": 256
                  },
                  "priority": {
                    "description": "<p>Customer-provided priority score to establish the order in which overlapping ephemerides should be used.</p> <p>The default for customer-provided ephemeris priority is 1, and higher numbers take precedence.</p> <p>Priority must be 1 or greater</p>",
                    "type": "integer",
                    "minimum": 1,
                    "maximum": 99999
                  },
                  "satelliteId": {
                    "description": "AWS Ground Station satellite ID for this ephemeris.",
                    "type": "string",
                    "pattern": "^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$",
                    "minLength": 1,
                    "maxLength": 128
                  },
                  "tags": {
                    "description": "Tags assigned to an ephemeris.",
                    "type": "object",
                    "additionalProperties": {
                      "$ref": "#/components/schemas/String"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/X-Amz-Content-Sha256"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Date"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Algorithm"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Credential"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Security-Token"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Signature"
        },
        {
          "$ref": "#/components/parameters/X-Amz-SignedHeaders"
        }
      ]
    },
    "/missionprofile": {
      "post": {
        "operationId": "CreateMissionProfile",
        "description": "<p>Creates a mission profile.</p> <p> <code>dataflowEdges</code> is a list of lists of strings. Each lower level list of strings has two elements: a <i>from</i> ARN and a <i>to</i> ARN.</p>",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MissionProfileIdResponse"
                }
              }
            }
          },
          "480": {
            "description": "InvalidParameterException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidParameterException"
                }
              }
            }
          },
          "481": {
            "description": "DependencyException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DependencyException"
                }
              }
            }
          },
          "482": {
            "description": "ResourceNotFoundException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceNotFoundException"
                }
              }
            }
          }
        },
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "dataflowEdges",
                  "minimumViableContactDurationSeconds",
                  "name",
                  "trackingConfigArn"
                ],
                "properties": {
                  "contactPostPassDurationSeconds": {
                    "description": "Amount of time after a contact ends that you’d like to receive a CloudWatch event indicating the pass has finished.",
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 21600
                  },
                  "contactPrePassDurationSeconds": {
                    "description": "Amount of time prior to contact start you’d like to receive a CloudWatch event indicating an upcoming pass.",
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 21600
                  },
                  "dataflowEdges": {
                    "description": "A list of lists of ARNs. Each list of ARNs is an edge, with a <i>from</i> <code>Config</code> and a <i>to</i> <code>Config</code>.",
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/DataflowEdge"
                    },
                    "minItems": 0,
                    "maxItems": 500
                  },
                  "minimumViableContactDurationSeconds": {
                    "description": "Smallest amount of time in seconds that you’d like to see for an available contact. AWS Ground Station will not present you with contacts shorter than this duration.",
                    "type": "integer",
                    "minimum": 1,
                    "maximum": 21600
                  },
                  "name": {
                    "description": "Name of a mission profile.",
                    "type": "string",
                    "pattern": "^[ a-zA-Z0-9_:-]{1,256}$",
                    "minLength": 1,
                    "maxLength": 256
                  },
                  "streamsKmsKey": {
                    "description": "AWS Key Management Service (KMS) Key.",
                    "type": "object",
                    "properties": {
                      "kmsAliasArn": {
                        "allOf": [
                          {
                            "$ref": "#/components/schemas/KeyAliasArn"
                          },
                          {
                            "description": "KMS Alias Arn."
                          }
                        ]
                      },
                      "kmsKeyArn": {
                        "allOf": [
                          {
                            "$ref": "#/components/schemas/KeyArn"
                          },
                          {
                            "description": "KMS Key Arn."
                          }
                        ]
                      }
                    }
                  },
                  "streamsKmsRole": {
                    "description": "Role to use for encrypting streams with KMS key.",
                    "type": "string"
                  },
                  "tags": {
                    "description": "Tags assigned to a mission profile.",
                    "type": "object",
                    "additionalProperties": {
                      "$ref": "#/components/schemas/String"
                    }
                  },
                  "trackingConfigArn": {
                    "description": "ARN of a tracking <code>Config</code>.",
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/X-Amz-Content-Sha256"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Date"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Algorithm"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Credential"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Security-Token"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Signature"
        },
        {
          "$ref": "#/components/parameters/X-Amz-SignedHeaders"
        }
      ],
      "get": {
        "operationId": "ListMissionProfiles",
        "description": "Returns a list of mission profiles.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListMissionProfilesResponse"
                }
              }
            }
          },
          "480": {
            "description": "InvalidParameterException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidParameterException"
                }
              }
            }
          },
          "481": {
            "description": "DependencyException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DependencyException"
                }
              }
            }
          },
          "482": {
            "description": "ResourceNotFoundException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceNotFoundException"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "maxResults",
            "in": "query",
            "required": false,
            "description": "Maximum number of mission profiles returned.",
            "schema": {
              "type": "integer",
              "minimum": 0,
              "maximum": 100
            }
          },
          {
            "name": "nextToken",
            "in": "query",
            "required": false,
            "description": "Next token returned in the request of a previous <code>ListMissionProfiles</code> call. Used to get the next page of results.",
            "schema": {
              "type": "string",
              "pattern": "^[A-Za-z0-9-/+_.=]+$",
              "minLength": 3,
              "maxLength": 1000
            }
          }
        ]
      }
    },
    "/config/{configType}/{configId}": {
      "delete": {
        "operationId": "DeleteConfig",
        "description": "Deletes a <code>Config</code>.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConfigIdResponse"
                }
              }
            }
          },
          "480": {
            "description": "InvalidParameterException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidParameterException"
                }
              }
            }
          },
          "481": {
            "description": "DependencyException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DependencyException"
                }
              }
            }
          },
          "482": {
            "description": "ResourceNotFoundException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceNotFoundException"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "configId",
            "in": "path",
            "required": true,
            "description": "UUID of a <code>Config</code>.",
            "schema": {
              "type": "string",
              "pattern": "^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$",
              "minLength": 1,
              "maxLength": 128
            }
          },
          {
            "name": "configType",
            "in": "path",
            "required": true,
            "description": "Type of a <code>Config</code>.",
            "schema": {
              "type": "string",
              "enum": [
                "antenna-downlink",
                "antenna-downlink-demod-decode",
                "antenna-uplink",
                "dataflow-endpoint",
                "tracking",
                "uplink-echo",
                "s3-recording"
              ]
            }
          }
        ]
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/X-Amz-Content-Sha256"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Date"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Algorithm"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Credential"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Security-Token"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Signature"
        },
        {
          "$ref": "#/components/parameters/X-Amz-SignedHeaders"
        }
      ],
      "get": {
        "operationId": "GetConfig",
        "description": "<p>Returns <code>Config</code> information.</p> <p>Only one <code>Config</code> response can be returned.</p>",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetConfigResponse"
                }
              }
            }
          },
          "480": {
            "description": "InvalidParameterException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidParameterException"
                }
              }
            }
          },
          "481": {
            "description": "DependencyException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DependencyException"
                }
              }
            }
          },
          "482": {
            "description": "ResourceNotFoundException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceNotFoundException"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "configId",
            "in": "path",
            "required": true,
            "description": "UUID of a <code>Config</code>.",
            "schema": {
              "type": "string",
              "pattern": "^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$",
              "minLength": 1,
              "maxLength": 128
            }
          },
          {
            "name": "configType",
            "in": "path",
            "required": true,
            "description": "Type of a <code>Config</code>.",
            "schema": {
              "type": "string",
              "enum": [
                "antenna-downlink",
                "antenna-downlink-demod-decode",
                "antenna-uplink",
                "dataflow-endpoint",
                "tracking",
                "uplink-echo",
                "s3-recording"
              ]
            }
          }
        ]
      },
      "put": {
        "operationId": "UpdateConfig",
        "description": "<p>Updates the <code>Config</code> used when scheduling contacts.</p> <p>Updating a <code>Config</code> will not update the execution parameters for existing future contacts scheduled with this <code>Config</code>.</p>",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConfigIdResponse"
                }
              }
            }
          },
          "480": {
            "description": "InvalidParameterException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidParameterException"
                }
              }
            }
          },
          "481": {
            "description": "DependencyException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DependencyException"
                }
              }
            }
          },
          "482": {
            "description": "ResourceNotFoundException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceNotFoundException"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "configId",
            "in": "path",
            "required": true,
            "description": "UUID of a <code>Config</code>.",
            "schema": {
              "type": "string",
              "pattern": "^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$",
              "minLength": 1,
              "maxLength": 128
            }
          },
          {
            "name": "configType",
            "in": "path",
            "required": true,
            "description": "Type of a <code>Config</code>.",
            "schema": {
              "type": "string",
              "enum": [
                "antenna-downlink",
                "antenna-downlink-demod-decode",
                "antenna-uplink",
                "dataflow-endpoint",
                "tracking",
                "uplink-echo",
                "s3-recording"
              ]
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "configData",
                  "name"
                ],
                "properties": {
                  "configData": {
                    "description": "<p>Object containing the parameters of a <code>Config</code>.</p> <p>See the subtype definitions for what each type of <code>Config</code> contains.</p>",
                    "type": "object",
                    "properties": {
                      "antennaDownlinkConfig": {
                        "allOf": [
                          {
                            "$ref": "#/components/schemas/AntennaDownlinkConfig"
                          },
                          {
                            "description": "Information about how AWS Ground Station should configure an antenna for downlink during a contact."
                          }
                        ]
                      },
                      "antennaDownlinkDemodDecodeConfig": {
                        "allOf": [
                          {
                            "$ref": "#/components/schemas/AntennaDownlinkDemodDecodeConfig"
                          },
                          {
                            "description": "Information about how AWS Ground Station should configure an antenna for downlink demod decode during a contact."
                          }
                        ]
                      },
                      "antennaUplinkConfig": {
                        "allOf": [
                          {
                            "$ref": "#/components/schemas/AntennaUplinkConfig"
                          },
                          {
                            "description": "Information about how AWS Ground Station should configure an antenna for uplink during a contact."
                          }
                        ]
                      },
                      "dataflowEndpointConfig": {
                        "allOf": [
                          {
                            "$ref": "#/components/schemas/DataflowEndpointConfig"
                          },
                          {
                            "description": "Information about the dataflow endpoint <code>Config</code>."
                          }
                        ]
                      },
                      "s3RecordingConfig": {
                        "allOf": [
                          {
                            "$ref": "#/components/schemas/S3RecordingConfig"
                          },
                          {
                            "description": "Information about an S3 recording <code>Config</code>."
                          }
                        ]
                      },
                      "trackingConfig": {
                        "allOf": [
                          {
                            "$ref": "#/components/schemas/TrackingConfig"
                          },
                          {
                            "description": "Object that determines whether tracking should be used during a contact executed with this <code>Config</code> in the mission profile. "
                          }
                        ]
                      },
                      "uplinkEchoConfig": {
                        "allOf": [
                          {
                            "$ref": "#/components/schemas/UplinkEchoConfig"
                          },
                          {
                            "description": "<p>Information about an uplink echo <code>Config</code>.</p> <p>Parameters from the <code>AntennaUplinkConfig</code>, corresponding to the specified <code>AntennaUplinkConfigArn</code>, are used when this <code>UplinkEchoConfig</code> is used in a contact.</p>"
                          }
                        ]
                      }
                    }
                  },
                  "name": {
                    "description": "Name of a <code>Config</code>.",
                    "type": "string",
                    "pattern": "^[ a-zA-Z0-9_:-]{1,256}$",
                    "minLength": 1,
                    "maxLength": 256
                  }
                }
              }
            }
          }
        }
      }
    },
    "/dataflowEndpointGroup/{dataflowEndpointGroupId}": {
      "delete": {
        "operationId": "DeleteDataflowEndpointGroup",
        "description": "Deletes a dataflow endpoint group.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DataflowEndpointGroupIdResponse"
                }
              }
            }
          },
          "480": {
            "description": "InvalidParameterException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidParameterException"
                }
              }
            }
          },
          "481": {
            "description": "DependencyException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DependencyException"
                }
              }
            }
          },
          "482": {
            "description": "ResourceNotFoundException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceNotFoundException"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "dataflowEndpointGroupId",
            "in": "path",
            "required": true,
            "description": "UUID of a dataflow endpoint group.",
            "schema": {
              "type": "string",
              "pattern": "^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$",
              "minLength": 1,
              "maxLength": 128
            }
          }
        ]
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/X-Amz-Content-Sha256"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Date"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Algorithm"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Credential"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Security-Token"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Signature"
        },
        {
          "$ref": "#/components/parameters/X-Amz-SignedHeaders"
        }
      ],
      "get": {
        "operationId": "GetDataflowEndpointGroup",
        "description": "Returns the dataflow endpoint group.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetDataflowEndpointGroupResponse"
                }
              }
            }
          },
          "480": {
            "description": "InvalidParameterException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidParameterException"
                }
              }
            }
          },
          "481": {
            "description": "DependencyException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DependencyException"
                }
              }
            }
          },
          "482": {
            "description": "ResourceNotFoundException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceNotFoundException"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "dataflowEndpointGroupId",
            "in": "path",
            "required": true,
            "description": "UUID of a dataflow endpoint group.",
            "schema": {
              "type": "string",
              "pattern": "^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$",
              "minLength": 1,
              "maxLength": 128
            }
          }
        ]
      }
    },
    "/ephemeris/{ephemerisId}": {
      "delete": {
        "operationId": "DeleteEphemeris",
        "description": "Deletes an ephemeris",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EphemerisIdResponse"
                }
              }
            }
          },
          "480": {
            "description": "InvalidParameterException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidParameterException"
                }
              }
            }
          },
          "481": {
            "description": "DependencyException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DependencyException"
                }
              }
            }
          },
          "482": {
            "description": "ResourceNotFoundException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceNotFoundException"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "ephemerisId",
            "in": "path",
            "required": true,
            "description": "The AWS Ground Station ephemeris ID.",
            "schema": {
              "type": "string",
              "pattern": "^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$",
              "minLength": 1,
              "maxLength": 128
            }
          }
        ]
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/X-Amz-Content-Sha256"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Date"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Algorithm"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Credential"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Security-Token"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Signature"
        },
        {
          "$ref": "#/components/parameters/X-Amz-SignedHeaders"
        }
      ],
      "get": {
        "operationId": "DescribeEphemeris",
        "description": "Describes an existing ephemeris.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DescribeEphemerisResponse"
                }
              }
            }
          },
          "480": {
            "description": "InvalidParameterException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidParameterException"
                }
              }
            }
          },
          "481": {
            "description": "DependencyException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DependencyException"
                }
              }
            }
          },
          "482": {
            "description": "ResourceNotFoundException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceNotFoundException"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "ephemerisId",
            "in": "path",
            "required": true,
            "description": "The AWS Ground Station ephemeris ID.",
            "schema": {
              "type": "string",
              "pattern": "^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$",
              "minLength": 1,
              "maxLength": 128
            }
          }
        ]
      },
      "put": {
        "operationId": "UpdateEphemeris",
        "description": "Updates an existing ephemeris",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EphemerisIdResponse"
                }
              }
            }
          },
          "480": {
            "description": "InvalidParameterException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidParameterException"
                }
              }
            }
          },
          "481": {
            "description": "DependencyException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DependencyException"
                }
              }
            }
          },
          "482": {
            "description": "ResourceNotFoundException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceNotFoundException"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "ephemerisId",
            "in": "path",
            "required": true,
            "description": "The AWS Ground Station ephemeris ID.",
            "schema": {
              "type": "string",
              "pattern": "^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$",
              "minLength": 1,
              "maxLength": 128
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "enabled"
                ],
                "properties": {
                  "enabled": {
                    "description": "Whether the ephemeris is enabled or not. Changing this value will not require the ephemeris to be re-validated.",
                    "type": "boolean"
                  },
                  "name": {
                    "description": "A name string associated with the ephemeris. Used as a human-readable identifier for the ephemeris.",
                    "type": "string",
                    "pattern": "^[ a-zA-Z0-9_:-]{1,256}$",
                    "minLength": 1,
                    "maxLength": 256
                  },
                  "priority": {
                    "description": "<p>Customer-provided priority score to establish the order in which overlapping ephemerides should be used.</p> <p>The default for customer-provided ephemeris priority is 1, and higher numbers take precedence.</p> <p>Priority must be 1 or greater</p>",
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 99999
                  }
                }
              }
            }
          }
        }
      }
    },
    "/missionprofile/{missionProfileId}": {
      "delete": {
        "operationId": "DeleteMissionProfile",
        "description": "Deletes a mission profile.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MissionProfileIdResponse"
                }
              }
            }
          },
          "480": {
            "description": "InvalidParameterException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidParameterException"
                }
              }
            }
          },
          "481": {
            "description": "DependencyException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DependencyException"
                }
              }
            }
          },
          "482": {
            "description": "ResourceNotFoundException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceNotFoundException"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "missionProfileId",
            "in": "path",
            "required": true,
            "description": "UUID of a mission profile.",
            "schema": {
              "type": "string",
              "pattern": "^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$",
              "minLength": 1,
              "maxLength": 128
            }
          }
        ]
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/X-Amz-Content-Sha256"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Date"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Algorithm"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Credential"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Security-Token"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Signature"
        },
        {
          "$ref": "#/components/parameters/X-Amz-SignedHeaders"
        }
      ],
      "get": {
        "operationId": "GetMissionProfile",
        "description": "Returns a mission profile.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetMissionProfileResponse"
                }
              }
            }
          },
          "480": {
            "description": "InvalidParameterException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidParameterException"
                }
              }
            }
          },
          "481": {
            "description": "DependencyException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DependencyException"
                }
              }
            }
          },
          "482": {
            "description": "ResourceNotFoundException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceNotFoundException"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "missionProfileId",
            "in": "path",
            "required": true,
            "description": "UUID of a mission profile.",
            "schema": {
              "type": "string",
              "pattern": "^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$",
              "minLength": 1,
              "maxLength": 128
            }
          }
        ]
      },
      "put": {
        "operationId": "UpdateMissionProfile",
        "description": "<p>Updates a mission profile.</p> <p>Updating a mission profile will not update the execution parameters for existing future contacts.</p>",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MissionProfileIdResponse"
                }
              }
            }
          },
          "480": {
            "description": "InvalidParameterException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidParameterException"
                }
              }
            }
          },
          "481": {
            "description": "DependencyException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DependencyException"
                }
              }
            }
          },
          "482": {
            "description": "ResourceNotFoundException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceNotFoundException"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "missionProfileId",
            "in": "path",
            "required": true,
            "description": "UUID of a mission profile.",
            "schema": {
              "type": "string",
              "pattern": "^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$",
              "minLength": 1,
              "maxLength": 128
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "contactPostPassDurationSeconds": {
                    "description": "Amount of time after a contact ends that you’d like to receive a CloudWatch event indicating the pass has finished.",
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 21600
                  },
                  "contactPrePassDurationSeconds": {
                    "description": "Amount of time after a contact ends that you’d like to receive a CloudWatch event indicating the pass has finished.",
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 21600
                  },
                  "dataflowEdges": {
                    "description": "A list of lists of ARNs. Each list of ARNs is an edge, with a <i>from</i> <code>Config</code> and a <i>to</i> <code>Config</code>.",
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/DataflowEdge"
                    },
                    "minItems": 0,
                    "maxItems": 500
                  },
                  "minimumViableContactDurationSeconds": {
                    "description": "Smallest amount of time in seconds that you’d like to see for an available contact. AWS Ground Station will not present you with contacts shorter than this duration.",
                    "type": "integer",
                    "minimum": 1,
                    "maximum": 21600
                  },
                  "name": {
                    "description": "Name of a mission profile.",
                    "type": "string",
                    "pattern": "^[ a-zA-Z0-9_:-]{1,256}$",
                    "minLength": 1,
                    "maxLength": 256
                  },
                  "streamsKmsKey": {
                    "description": "AWS Key Management Service (KMS) Key.",
                    "type": "object",
                    "properties": {
                      "kmsAliasArn": {
                        "allOf": [
                          {
                            "$ref": "#/components/schemas/KeyAliasArn"
                          },
                          {
                            "description": "KMS Alias Arn."
                          }
                        ]
                      },
                      "kmsKeyArn": {
                        "allOf": [
                          {
                            "$ref": "#/components/schemas/KeyArn"
                          },
                          {
                            "description": "KMS Key Arn."
                          }
                        ]
                      }
                    }
                  },
                  "streamsKmsRole": {
                    "description": "Role to use for encrypting streams with KMS key.",
                    "type": "string"
                  },
                  "trackingConfigArn": {
                    "description": "ARN of a tracking <code>Config</code>.",
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/agent/{agentId}/configuration": {
      "get": {
        "operationId": "GetAgentConfiguration",
        "description": "<note> <p> For use by AWS Ground Station Agent and shouldn't be called directly.</p> </note> <p>Gets the latest configuration information for a registered agent.</p>",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetAgentConfigurationResponse"
                }
              }
            }
          },
          "480": {
            "description": "InvalidParameterException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidParameterException"
                }
              }
            }
          },
          "481": {
            "description": "DependencyException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DependencyException"
                }
              }
            }
          },
          "482": {
            "description": "ResourceNotFoundException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceNotFoundException"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "agentId",
            "in": "path",
            "required": true,
            "description": "UUID of agent to get configuration information for.",
            "schema": {
              "type": "string",
              "pattern": "^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$",
              "minLength": 1,
              "maxLength": 128
            }
          }
        ]
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/X-Amz-Content-Sha256"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Date"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Algorithm"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Credential"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Security-Token"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Signature"
        },
        {
          "$ref": "#/components/parameters/X-Amz-SignedHeaders"
        }
      ]
    },
    "/minute-usage": {
      "post": {
        "operationId": "GetMinuteUsage",
        "description": "Returns the number of minutes used by account.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetMinuteUsageResponse"
                }
              }
            }
          },
          "480": {
            "description": "InvalidParameterException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidParameterException"
                }
              }
            }
          },
          "481": {
            "description": "DependencyException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DependencyException"
                }
              }
            }
          },
          "482": {
            "description": "ResourceNotFoundException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceNotFoundException"
                }
              }
            }
          }
        },
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "month",
                  "year"
                ],
                "properties": {
                  "month": {
                    "description": "The month being requested, with a value of 1-12.",
                    "type": "integer",
                    "minimum": 1,
                    "maximum": 12
                  },
                  "year": {
                    "description": "The year being requested, in the format of YYYY.",
                    "type": "integer",
                    "minimum": 2018,
                    "maximum": 3000
                  }
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/X-Amz-Content-Sha256"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Date"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Algorithm"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Credential"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Security-Token"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Signature"
        },
        {
          "$ref": "#/components/parameters/X-Amz-SignedHeaders"
        }
      ]
    },
    "/satellite/{satelliteId}": {
      "get": {
        "operationId": "GetSatellite",
        "description": "Returns a satellite.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetSatelliteResponse"
                }
              }
            }
          },
          "480": {
            "description": "InvalidParameterException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidParameterException"
                }
              }
            }
          },
          "481": {
            "description": "DependencyException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DependencyException"
                }
              }
            }
          },
          "482": {
            "description": "ResourceNotFoundException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceNotFoundException"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "satelliteId",
            "in": "path",
            "required": true,
            "description": "UUID of a satellite.",
            "schema": {
              "type": "string",
              "pattern": "^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$",
              "minLength": 1,
              "maxLength": 128
            }
          }
        ]
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/X-Amz-Content-Sha256"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Date"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Algorithm"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Credential"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Security-Token"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Signature"
        },
        {
          "$ref": "#/components/parameters/X-Amz-SignedHeaders"
        }
      ]
    },
    "/contacts": {
      "post": {
        "operationId": "ListContacts",
        "description": "<p>Returns a list of contacts.</p> <p>If <code>statusList</code> contains AVAILABLE, the request must include <code>groundStation</code>, <code>missionprofileArn</code>, and <code>satelliteArn</code>. </p>",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListContactsResponse"
                }
              }
            }
          },
          "480": {
            "description": "InvalidParameterException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidParameterException"
                }
              }
            }
          },
          "481": {
            "description": "DependencyException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DependencyException"
                }
              }
            }
          },
          "482": {
            "description": "ResourceNotFoundException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceNotFoundException"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "maxResults",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Pagination limit",
            "required": false
          },
          {
            "name": "nextToken",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Pagination token",
            "required": false
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "endTime",
                  "startTime",
                  "statusList"
                ],
                "properties": {
                  "endTime": {
                    "description": "End time of a contact in UTC.",
                    "type": "string",
                    "format": "date-time"
                  },
                  "groundStation": {
                    "description": "Name of a ground station.",
                    "type": "string",
                    "pattern": "^[ a-zA-Z0-9-._:=]{4,256}$",
                    "minLength": 4,
                    "maxLength": 500
                  },
                  "maxResults": {
                    "description": "Maximum number of contacts returned.",
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 100
                  },
                  "missionProfileArn": {
                    "description": "ARN of a mission profile.",
                    "type": "string"
                  },
                  "nextToken": {
                    "description": "Next token returned in the request of a previous <code>ListContacts</code> call. Used to get the next page of results.",
                    "type": "string",
                    "pattern": "^[A-Za-z0-9-/+_.=]+$",
                    "minLength": 3,
                    "maxLength": 1000
                  },
                  "satelliteArn": {
                    "description": "ARN of a satellite.",
                    "type": "string"
                  },
                  "startTime": {
                    "description": "Start time of a contact in UTC.",
                    "type": "string",
                    "format": "date-time"
                  },
                  "statusList": {
                    "description": "Status of a contact reservation.",
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/ContactStatus"
                    },
                    "minItems": 0,
                    "maxItems": 500
                  }
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/X-Amz-Content-Sha256"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Date"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Algorithm"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Credential"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Security-Token"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Signature"
        },
        {
          "$ref": "#/components/parameters/X-Amz-SignedHeaders"
        }
      ]
    },
    "/ephemerides": {
      "post": {
        "operationId": "ListEphemerides",
        "description": "List existing ephemerides.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListEphemeridesResponse"
                }
              }
            }
          },
          "480": {
            "description": "InvalidParameterException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidParameterException"
                }
              }
            }
          },
          "481": {
            "description": "DependencyException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DependencyException"
                }
              }
            }
          },
          "482": {
            "description": "ResourceNotFoundException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceNotFoundException"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "maxResults",
            "in": "query",
            "required": false,
            "description": "Maximum number of ephemerides to return.",
            "schema": {
              "type": "integer",
              "minimum": 0,
              "maximum": 100
            }
          },
          {
            "name": "nextToken",
            "in": "query",
            "required": false,
            "description": "Pagination token.",
            "schema": {
              "type": "string",
              "pattern": "^[A-Za-z0-9-/+_.=]+$",
              "minLength": 3,
              "maxLength": 1000
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "endTime",
                  "satelliteId",
                  "startTime"
                ],
                "properties": {
                  "endTime": {
                    "description": "The end time to list in UTC. The operation will return an ephemeris if its expiration time is within the time range defined by the <code>startTime</code> and <code>endTime</code>.",
                    "type": "string",
                    "format": "date-time"
                  },
                  "satelliteId": {
                    "description": "The AWS Ground Station satellite ID to list ephemeris for.",
                    "type": "string",
                    "pattern": "^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$",
                    "minLength": 1,
                    "maxLength": 128
                  },
                  "startTime": {
                    "description": "The start time to list in UTC. The operation will return an ephemeris if its expiration time is within the time range defined by the <code>startTime</code> and <code>endTime</code>.",
                    "type": "string",
                    "format": "date-time"
                  },
                  "statusList": {
                    "description": "The list of ephemeris status to return.",
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/EphemerisStatus"
                    },
                    "minItems": 0,
                    "maxItems": 500
                  }
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/X-Amz-Content-Sha256"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Date"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Algorithm"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Credential"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Security-Token"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Signature"
        },
        {
          "$ref": "#/components/parameters/X-Amz-SignedHeaders"
        }
      ]
    },
    "/groundstation": {
      "get": {
        "operationId": "ListGroundStations",
        "description": "Returns a list of ground stations. ",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListGroundStationsResponse"
                }
              }
            }
          },
          "480": {
            "description": "InvalidParameterException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidParameterException"
                }
              }
            }
          },
          "481": {
            "description": "DependencyException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DependencyException"
                }
              }
            }
          },
          "482": {
            "description": "ResourceNotFoundException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceNotFoundException"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "maxResults",
            "in": "query",
            "required": false,
            "description": "Maximum number of ground stations returned.",
            "schema": {
              "type": "integer",
              "minimum": 0,
              "maximum": 100
            }
          },
          {
            "name": "nextToken",
            "in": "query",
            "required": false,
            "description": "Next token that can be supplied in the next call to get the next page of ground stations.",
            "schema": {
              "type": "string",
              "pattern": "^[A-Za-z0-9-/+_.=]+$",
              "minLength": 3,
              "maxLength": 1000
            }
          },
          {
            "name": "satelliteId",
            "in": "query",
            "required": false,
            "description": "Satellite ID to retrieve on-boarded ground stations.",
            "schema": {
              "type": "string",
              "pattern": "^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$",
              "minLength": 1,
              "maxLength": 128
            }
          }
        ]
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/X-Amz-Content-Sha256"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Date"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Algorithm"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Credential"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Security-Token"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Signature"
        },
        {
          "$ref": "#/components/parameters/X-Amz-SignedHeaders"
        }
      ]
    },
    "/satellite": {
      "get": {
        "operationId": "ListSatellites",
        "description": "Returns a list of satellites.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListSatellitesResponse"
                }
              }
            }
          },
          "480": {
            "description": "InvalidParameterException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidParameterException"
                }
              }
            }
          },
          "481": {
            "description": "DependencyException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DependencyException"
                }
              }
            }
          },
          "482": {
            "description": "ResourceNotFoundException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceNotFoundException"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "maxResults",
            "in": "query",
            "required": false,
            "description": "Maximum number of satellites returned.",
            "schema": {
              "type": "integer",
              "minimum": 0,
              "maximum": 100
            }
          },
          {
            "name": "nextToken",
            "in": "query",
            "required": false,
            "description": "Next token that can be supplied in the next call to get the next page of satellites.",
            "schema": {
              "type": "string",
              "pattern": "^[A-Za-z0-9-/+_.=]+$",
              "minLength": 3,
              "maxLength": 1000
            }
          }
        ]
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/X-Amz-Content-Sha256"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Date"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Algorithm"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Credential"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Security-Token"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Signature"
        },
        {
          "$ref": "#/components/parameters/X-Amz-SignedHeaders"
        }
      ]
    },
    "/tags/{resourceArn}": {
      "get": {
        "operationId": "ListTagsForResource",
        "description": "Returns a list of tags for a specified resource.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListTagsForResourceResponse"
                }
              }
            }
          },
          "480": {
            "description": "InvalidParameterException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidParameterException"
                }
              }
            }
          },
          "481": {
            "description": "DependencyException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DependencyException"
                }
              }
            }
          },
          "482": {
            "description": "ResourceNotFoundException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceNotFoundException"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "resourceArn",
            "in": "path",
            "required": true,
            "description": "ARN of a resource.",
            "schema": {
              "type": "string",
              "pattern": "^(arn:aws:)[\\s\\S]{0,1024}$",
              "minLength": 5,
              "maxLength": 1024
            }
          }
        ]
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/X-Amz-Content-Sha256"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Date"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Algorithm"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Credential"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Security-Token"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Signature"
        },
        {
          "$ref": "#/components/parameters/X-Amz-SignedHeaders"
        }
      ],
      "post": {
        "operationId": "TagResource",
        "description": "Assigns a tag to a resource.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TagResourceResponse"
                }
              }
            }
          },
          "480": {
            "description": "InvalidParameterException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidParameterException"
                }
              }
            }
          },
          "481": {
            "description": "DependencyException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DependencyException"
                }
              }
            }
          },
          "482": {
            "description": "ResourceNotFoundException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceNotFoundException"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "resourceArn",
            "in": "path",
            "required": true,
            "description": "ARN of a resource tag.",
            "schema": {
              "type": "string",
              "pattern": "^(arn:aws:)[\\s\\S]{0,1024}$",
              "minLength": 5,
              "maxLength": 1024
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "tags"
                ],
                "properties": {
                  "tags": {
                    "description": "Tags assigned to a resource.",
                    "type": "object",
                    "additionalProperties": {
                      "$ref": "#/components/schemas/String"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/agent": {
      "post": {
        "operationId": "RegisterAgent",
        "description": "<note> <p> For use by AWS Ground Station Agent and shouldn't be called directly.</p> </note> <p> Registers a new agent with AWS Ground Station. </p>",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RegisterAgentResponse"
                }
              }
            }
          },
          "480": {
            "description": "InvalidParameterException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidParameterException"
                }
              }
            }
          },
          "481": {
            "description": "DependencyException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DependencyException"
                }
              }
            }
          },
          "482": {
            "description": "ResourceNotFoundException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceNotFoundException"
                }
              }
            }
          }
        },
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "agentDetails",
                  "discoveryData"
                ],
                "properties": {
                  "agentDetails": {
                    "description": "Detailed information about the agent.",
                    "type": "object",
                    "properties": {
                      "agentCpuCores": {
                        "allOf": [
                          {
                            "$ref": "#/components/schemas/AgentCpuCoresList"
                          },
                          {
                            "description": "List of CPU cores reserved for the agent."
                          }
                        ]
                      },
                      "agentVersion": {
                        "allOf": [
                          {
                            "$ref": "#/components/schemas/VersionString"
                          },
                          {
                            "description": "Current agent version."
                          }
                        ]
                      },
                      "componentVersions": {
                        "allOf": [
                          {
                            "$ref": "#/components/schemas/ComponentVersionList"
                          },
                          {
                            "description": "List of versions being used by agent components."
                          }
                        ]
                      },
                      "instanceId": {
                        "allOf": [
                          {
                            "$ref": "#/components/schemas/InstanceId"
                          },
                          {
                            "description": "ID of EC2 instance agent is running on."
                          }
                        ]
                      },
                      "instanceType": {
                        "allOf": [
                          {
                            "$ref": "#/components/schemas/InstanceType"
                          },
                          {
                            "description": "Type of EC2 instance agent is running on."
                          }
                        ]
                      },
                      "reservedCpuCores": {
                        "allOf": [
                          {
                            "$ref": "#/components/schemas/AgentCpuCoresList"
                          },
                          {
                            "description": "<note> <p>This field should not be used. Use agentCpuCores instead.</p> </note> <p>List of CPU cores reserved for processes other than the agent running on the EC2 instance.</p>"
                          }
                        ]
                      }
                    }
                  },
                  "discoveryData": {
                    "description": "Data for agent discovery.",
                    "type": "object",
                    "properties": {
                      "capabilityArns": {
                        "allOf": [
                          {
                            "$ref": "#/components/schemas/CapabilityArnList"
                          },
                          {
                            "description": "List of capabilities to associate with agent."
                          }
                        ]
                      },
                      "privateIpAddresses": {
                        "allOf": [
                          {
                            "$ref": "#/components/schemas/IpAddressList"
                          },
                          {
                            "description": "List of private IP addresses to associate with agent."
                          }
                        ]
                      },
                      "publicIpAddresses": {
                        "allOf": [
                          {
                            "$ref": "#/components/schemas/IpAddressList"
                          },
                          {
                            "description": "List of public IP addresses to associate with agent."
                          }
                        ]
                      }
                    }
                  }
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/X-Amz-Content-Sha256"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Date"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Algorithm"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Credential"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Security-Token"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Signature"
        },
        {
          "$ref": "#/components/parameters/X-Amz-SignedHeaders"
        }
      ]
    },
    "/contact": {
      "post": {
        "operationId": "ReserveContact",
        "description": "Reserves a contact using specified parameters.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ContactIdResponse"
                }
              }
            }
          },
          "480": {
            "description": "InvalidParameterException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidParameterException"
                }
              }
            }
          },
          "481": {
            "description": "DependencyException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DependencyException"
                }
              }
            }
          },
          "482": {
            "description": "ResourceNotFoundException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceNotFoundException"
                }
              }
            }
          }
        },
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "endTime",
                  "groundStation",
                  "missionProfileArn",
                  "satelliteArn",
                  "startTime"
                ],
                "properties": {
                  "endTime": {
                    "description": "End time of a contact in UTC.",
                    "type": "string",
                    "format": "date-time"
                  },
                  "groundStation": {
                    "description": "Name of a ground station.",
                    "type": "string",
                    "pattern": "^[ a-zA-Z0-9-._:=]{4,256}$",
                    "minLength": 4,
                    "maxLength": 500
                  },
                  "missionProfileArn": {
                    "description": "ARN of a mission profile.",
                    "type": "string"
                  },
                  "satelliteArn": {
                    "description": "ARN of a satellite",
                    "type": "string"
                  },
                  "startTime": {
                    "description": "Start time of a contact in UTC.",
                    "type": "string",
                    "format": "date-time"
                  },
                  "tags": {
                    "description": "Tags assigned to a contact.",
                    "type": "object",
                    "additionalProperties": {
                      "$ref": "#/components/schemas/String"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/X-Amz-Content-Sha256"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Date"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Algorithm"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Credential"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Security-Token"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Signature"
        },
        {
          "$ref": "#/components/parameters/X-Amz-SignedHeaders"
        }
      ]
    },
    "/tags/{resourceArn}#tagKeys": {
      "delete": {
        "operationId": "UntagResource",
        "description": "Deassigns a resource tag.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UntagResourceResponse"
                }
              }
            }
          },
          "480": {
            "description": "InvalidParameterException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidParameterException"
                }
              }
            }
          },
          "481": {
            "description": "DependencyException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DependencyException"
                }
              }
            }
          },
          "482": {
            "description": "ResourceNotFoundException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceNotFoundException"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "resourceArn",
            "in": "path",
            "required": true,
            "description": "ARN of a resource.",
            "schema": {
              "type": "string",
              "pattern": "^(arn:aws:)[\\s\\S]{0,1024}$",
              "minLength": 5,
              "maxLength": 1024
            }
          },
          {
            "name": "tagKeys",
            "in": "query",
            "required": true,
            "description": "Keys of a resource tag.",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/UnboundedString"
              },
              "minItems": 0,
              "maxItems": 500
            }
          }
        ]
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/X-Amz-Content-Sha256"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Date"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Algorithm"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Credential"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Security-Token"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Signature"
        },
        {
          "$ref": "#/components/parameters/X-Amz-SignedHeaders"
        }
      ]
    },
    "/agent/{agentId}": {
      "put": {
        "operationId": "UpdateAgentStatus",
        "description": "<note> <p> For use by AWS Ground Station Agent and shouldn't be called directly.</p> </note> <p>Update the status of the agent.</p>",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UpdateAgentStatusResponse"
                }
              }
            }
          },
          "480": {
            "description": "InvalidParameterException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidParameterException"
                }
              }
            }
          },
          "481": {
            "description": "DependencyException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DependencyException"
                }
              }
            }
          },
          "482": {
            "description": "ResourceNotFoundException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceNotFoundException"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "agentId",
            "in": "path",
            "required": true,
            "description": "UUID of agent to update.",
            "schema": {
              "type": "string",
              "pattern": "^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$",
              "minLength": 1,
              "maxLength": 128
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "aggregateStatus",
                  "componentStatuses",
                  "taskId"
                ],
                "properties": {
                  "aggregateStatus": {
                    "description": "Aggregate status of Agent components.",
                    "type": "object",
                    "properties": {
                      "signatureMap": {
                        "allOf": [
                          {
                            "$ref": "#/components/schemas/SignatureMap"
                          },
                          {
                            "description": "Sparse map of failure signatures."
                          }
                        ]
                      },
                      "status": {
                        "allOf": [
                          {
                            "$ref": "#/components/schemas/AgentStatus"
                          },
                          {
                            "description": "Aggregate status."
                          }
                        ]
                      }
                    }
                  },
                  "componentStatuses": {
                    "description": "List of component statuses for agent.",
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/ComponentStatusData"
                    },
                    "minItems": 0,
                    "maxItems": 20
                  },
                  "taskId": {
                    "description": "GUID of agent task.",
                    "type": "string",
                    "pattern": "^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$",
                    "minLength": 1,
                    "maxLength": 128
                  }
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/X-Amz-Content-Sha256"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Date"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Algorithm"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Credential"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Security-Token"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Signature"
        },
        {
          "$ref": "#/components/parameters/X-Amz-SignedHeaders"
        }
      ]
    }
  },
  "components": {
    "parameters": {
      "X-Amz-Content-Sha256": {
        "name": "X-Amz-Content-Sha256",
        "in": "header",
        "schema": {
          "type": "string"
        },
        "required": false
      },
      "X-Amz-Date": {
        "name": "X-Amz-Date",
        "in": "header",
        "schema": {
          "type": "string"
        },
        "required": false
      },
      "X-Amz-Algorithm": {
        "name": "X-Amz-Algorithm",
        "in": "header",
        "schema": {
          "type": "string"
        },
        "required": false
      },
      "X-Amz-Credential": {
        "name": "X-Amz-Credential",
        "in": "header",
        "schema": {
          "type": "string"
        },
        "required": false
      },
      "X-Amz-Security-Token": {
        "name": "X-Amz-Security-Token",
        "in": "header",
        "schema": {
          "type": "string"
        },
        "required": false
      },
      "X-Amz-Signature": {
        "name": "X-Amz-Signature",
        "in": "header",
        "schema": {
          "type": "string"
        },
        "required": false
      },
      "X-Amz-SignedHeaders": {
        "name": "X-Amz-SignedHeaders",
        "in": "header",
        "schema": {
          "type": "string"
        },
        "required": false
      }
    },
    "securitySchemes": {
      "hmac": {
        "type": "apiKey",
        "name": "Authorization",
        "in": "header",
        "description": "Amazon Signature authorization v4",
        "x-amazon-apigateway-authtype": "awsSigv4"
      }
    },
    "schemas": {
      "ContactIdResponse": {
        "type": "object",
        "properties": {
          "contactId": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Uuid"
              },
              {
                "description": "UUID of a contact."
              }
            ]
          }
        },
        "description": "<p/>"
      },
      "InvalidParameterException": {},
      "DependencyException": {},
      "ResourceNotFoundException": {},
      "ConfigIdResponse": {
        "type": "object",
        "properties": {
          "configArn": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ConfigArn"
              },
              {
                "description": "ARN of a <code>Config</code>."
              }
            ]
          },
          "configId": {
            "allOf": [
              {
                "$ref": "#/components/schemas/String"
              },
              {
                "description": "UUID of a <code>Config</code>."
              }
            ]
          },
          "configType": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ConfigCapabilityType"
              },
              {
                "description": "Type of a <code>Config</code>."
              }
            ]
          }
        },
        "description": "<p/>"
      },
      "AntennaDownlinkConfig": {
        "type": "object",
        "required": [
          "spectrumConfig"
        ],
        "properties": {
          "spectrumConfig": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SpectrumConfig"
              },
              {
                "description": "Object that describes a spectral <code>Config</code>."
              }
            ]
          }
        },
        "description": "Information about how AWS Ground Station should configure an antenna for downlink during a contact."
      },
      "AntennaDownlinkDemodDecodeConfig": {
        "type": "object",
        "required": [
          "decodeConfig",
          "demodulationConfig",
          "spectrumConfig"
        ],
        "properties": {
          "decodeConfig": {
            "allOf": [
              {
                "$ref": "#/components/schemas/DecodeConfig"
              },
              {
                "description": "Information about the decode <code>Config</code>."
              }
            ]
          },
          "demodulationConfig": {
            "allOf": [
              {
                "$ref": "#/components/schemas/DemodulationConfig"
              },
              {
                "description": "Information about the demodulation <code>Config</code>."
              }
            ]
          },
          "spectrumConfig": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SpectrumConfig"
              },
              {
                "description": "Information about the spectral <code>Config</code>."
              }
            ]
          }
        },
        "description": "Information about how AWS Ground Station should configure an antenna for downlink demod decode during a contact."
      },
      "AntennaUplinkConfig": {
        "type": "object",
        "required": [
          "spectrumConfig",
          "targetEirp"
        ],
        "properties": {
          "spectrumConfig": {
            "allOf": [
              {
                "$ref": "#/components/schemas/UplinkSpectrumConfig"
              },
              {
                "description": "Information about the uplink spectral <code>Config</code>."
              }
            ]
          },
          "targetEirp": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Eirp"
              },
              {
                "description": "EIRP of the target."
              }
            ]
          },
          "transmitDisabled": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Boolean"
              },
              {
                "description": "Whether or not uplink transmit is disabled."
              }
            ]
          }
        },
        "description": "Information about the uplink <code>Config</code> of an antenna."
      },
      "DataflowEndpointConfig": {
        "type": "object",
        "required": [
          "dataflowEndpointName"
        ],
        "properties": {
          "dataflowEndpointName": {
            "allOf": [
              {
                "$ref": "#/components/schemas/String"
              },
              {
                "description": "Name of a dataflow endpoint."
              }
            ]
          },
          "dataflowEndpointRegion": {
            "allOf": [
              {
                "$ref": "#/components/schemas/String"
              },
              {
                "description": "Region of a dataflow endpoint."
              }
            ]
          }
        },
        "description": "Information about the dataflow endpoint <code>Config</code>."
      },
      "S3RecordingConfig": {
        "type": "object",
        "required": [
          "bucketArn",
          "roleArn"
        ],
        "properties": {
          "bucketArn": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BucketArn"
              },
              {
                "description": "ARN of the bucket to record to."
              }
            ]
          },
          "prefix": {
            "allOf": [
              {
                "$ref": "#/components/schemas/S3KeyPrefix"
              },
              {
                "description": "S3 Key prefix to prefice data files."
              }
            ]
          },
          "roleArn": {
            "allOf": [
              {
                "$ref": "#/components/schemas/RoleArn"
              },
              {
                "description": "ARN of the role Ground Station assumes to write data to the bucket."
              }
            ]
          }
        },
        "description": "Information about an S3 recording <code>Config</code>."
      },
      "TrackingConfig": {
        "type": "object",
        "required": [
          "autotrack"
        ],
        "properties": {
          "autotrack": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Criticality"
              },
              {
                "description": "Current setting for autotrack."
              }
            ]
          }
        },
        "description": "Object that determines whether tracking should be used during a contact executed with this <code>Config</code> in the mission profile."
      },
      "UplinkEchoConfig": {
        "type": "object",
        "required": [
          "antennaUplinkConfigArn",
          "enabled"
        ],
        "properties": {
          "antennaUplinkConfigArn": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ConfigArn"
              },
              {
                "description": "ARN of an uplink <code>Config</code>."
              }
            ]
          },
          "enabled": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Boolean"
              },
              {
                "description": "Whether or not an uplink <code>Config</code> is enabled."
              }
            ]
          }
        },
        "description": "<p>Information about an uplink echo <code>Config</code>.</p> <p>Parameters from the <code>AntennaUplinkConfig</code>, corresponding to the specified <code>AntennaUplinkConfigArn</code>, are used when this <code>UplinkEchoConfig</code> is used in a contact.</p>"
      },
      "String": {
        "type": "string"
      },
      "ResourceLimitExceededException": {},
      "DataflowEndpointGroupIdResponse": {
        "type": "object",
        "properties": {
          "dataflowEndpointGroupId": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Uuid"
              },
              {
                "description": "UUID of a dataflow endpoint group."
              }
            ]
          }
        },
        "description": "<p/>"
      },
      "EndpointDetails": {
        "type": "object",
        "properties": {
          "awsGroundStationAgentEndpoint": {
            "allOf": [
              {
                "$ref": "#/components/schemas/AwsGroundStationAgentEndpoint"
              },
              {
                "description": "An agent endpoint."
              }
            ]
          },
          "endpoint": {
            "allOf": [
              {
                "$ref": "#/components/schemas/DataflowEndpoint"
              },
              {
                "description": "A dataflow endpoint."
              }
            ]
          },
          "healthReasons": {
            "allOf": [
              {
                "$ref": "#/components/schemas/CapabilityHealthReasonList"
              },
              {
                "description": "Health reasons for a dataflow endpoint. This field is ignored when calling <code>CreateDataflowEndpointGroup</code>."
              }
            ]
          },
          "healthStatus": {
            "allOf": [
              {
                "$ref": "#/components/schemas/CapabilityHealth"
              },
              {
                "description": "A dataflow endpoint health status. This field is ignored when calling <code>CreateDataflowEndpointGroup</code>."
              }
            ]
          },
          "securityDetails": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SecurityDetails"
              },
              {
                "description": "Endpoint security details including a list of subnets, a list of security groups and a role to connect streams to instances."
              }
            ]
          }
        },
        "description": "Information about the endpoint details."
      },
      "EphemerisIdResponse": {
        "type": "object",
        "properties": {
          "ephemerisId": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Uuid"
              },
              {
                "description": "The AWS Ground Station ephemeris ID."
              }
            ]
          }
        }
      },
      "OEMEphemeris": {
        "type": "object",
        "properties": {
          "oemData": {
            "allOf": [
              {
                "$ref": "#/components/schemas/UnboundedString"
              },
              {
                "description": "The data for an OEM ephemeris, supplied directly in the request rather than through an S3 object."
              }
            ]
          },
          "s3Object": {
            "allOf": [
              {
                "$ref": "#/components/schemas/S3Object"
              },
              {
                "description": "Identifies the S3 object to be used as the ephemeris."
              }
            ]
          }
        },
        "description": "Ephemeris data in Orbit Ephemeris Message (OEM) format."
      },
      "TLEEphemeris": {
        "type": "object",
        "properties": {
          "s3Object": {
            "allOf": [
              {
                "$ref": "#/components/schemas/S3Object"
              },
              {
                "description": "Identifies the S3 object to be used as the ephemeris."
              }
            ]
          },
          "tleData": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TLEDataList"
              },
              {
                "description": "The data for a TLE ephemeris, supplied directly in the request rather than through an S3 object."
              }
            ]
          }
        },
        "description": "Two-line element set (TLE) ephemeris."
      },
      "MissionProfileIdResponse": {
        "type": "object",
        "properties": {
          "missionProfileId": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Uuid"
              },
              {
                "description": "UUID of a mission profile."
              }
            ]
          }
        },
        "description": "<p/>"
      },
      "DataflowEdge": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/ConfigArn"
        },
        "minItems": 2,
        "maxItems": 2
      },
      "KeyAliasArn": {
        "type": "string",
        "pattern": "^arn:aws[a-zA-Z-]{0,16}:kms:[a-z]{2}(-[a-z]{1,16}){1,3}-\\d{1}:\\d{12}:((alias/[a-zA-Z0-9:/_-]{1,256}))$",
        "minLength": 1,
        "maxLength": 512
      },
      "KeyArn": {
        "type": "string"
      },
      "DescribeContactResponse": {
        "type": "object",
        "properties": {
          "contactId": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Uuid"
              },
              {
                "description": "UUID of a contact."
              }
            ]
          },
          "contactStatus": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ContactStatus"
              },
              {
                "description": "Status of a contact."
              }
            ]
          },
          "dataflowList": {
            "allOf": [
              {
                "$ref": "#/components/schemas/DataflowList"
              },
              {
                "description": "List describing source and destination details for each dataflow edge."
              }
            ]
          },
          "endTime": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Timestamp"
              },
              {
                "description": "End time of a contact in UTC."
              }
            ]
          },
          "errorMessage": {
            "allOf": [
              {
                "$ref": "#/components/schemas/String"
              },
              {
                "description": "Error message for a contact."
              }
            ]
          },
          "groundStation": {
            "allOf": [
              {
                "$ref": "#/components/schemas/String"
              },
              {
                "description": "Ground station for a contact."
              }
            ]
          },
          "maximumElevation": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Elevation"
              },
              {
                "description": "Maximum elevation angle of a contact."
              }
            ]
          },
          "missionProfileArn": {
            "allOf": [
              {
                "$ref": "#/components/schemas/MissionProfileArn"
              },
              {
                "description": "ARN of a mission profile."
              }
            ]
          },
          "postPassEndTime": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Timestamp"
              },
              {
                "description": "Amount of time after a contact ends that you’d like to receive a CloudWatch event indicating the pass has finished."
              }
            ]
          },
          "prePassStartTime": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Timestamp"
              },
              {
                "description": "Amount of time prior to contact start you’d like to receive a CloudWatch event indicating an upcoming pass."
              }
            ]
          },
          "region": {
            "allOf": [
              {
                "$ref": "#/components/schemas/String"
              },
              {
                "description": "Region of a contact."
              }
            ]
          },
          "satelliteArn": {
            "allOf": [
              {
                "$ref": "#/components/schemas/satelliteArn"
              },
              {
                "description": "ARN of a satellite."
              }
            ]
          },
          "startTime": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Timestamp"
              },
              {
                "description": "Start time of a contact in UTC."
              }
            ]
          },
          "tags": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TagsMap"
              },
              {
                "description": "Tags assigned to a contact."
              }
            ]
          }
        },
        "description": "<p/>"
      },
      "DescribeEphemerisResponse": {
        "type": "object",
        "properties": {
          "creationTime": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Timestamp"
              },
              {
                "description": "The time the ephemeris was uploaded in UTC."
              }
            ]
          },
          "enabled": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Boolean"
              },
              {
                "description": "Whether or not the ephemeris is enabled."
              }
            ]
          },
          "ephemerisId": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Uuid"
              },
              {
                "description": "The AWS Ground Station ephemeris ID."
              }
            ]
          },
          "invalidReason": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EphemerisInvalidReason"
              },
              {
                "description": "Reason that an ephemeris failed validation. Only provided for ephemerides with <code>INVALID</code> status."
              }
            ]
          },
          "name": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SafeName"
              },
              {
                "description": "A name string associated with the ephemeris. Used as a human-readable identifier for the ephemeris."
              }
            ]
          },
          "priority": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EphemerisPriority"
              },
              {
                "description": "<p>Customer-provided priority score to establish the order in which overlapping ephemerides should be used.</p> <p>The default for customer-provided ephemeris priority is 1, and higher numbers take precedence.</p> <p>Priority must be 1 or greater</p>"
              }
            ]
          },
          "satelliteId": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Uuid"
              },
              {
                "description": "The AWS Ground Station satellite ID associated with ephemeris."
              }
            ]
          },
          "status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EphemerisStatus"
              },
              {
                "description": "The status of the ephemeris."
              }
            ]
          },
          "suppliedData": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EphemerisTypeDescription"
              },
              {
                "description": "Supplied ephemeris data."
              }
            ]
          },
          "tags": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TagsMap"
              },
              {
                "description": "Tags assigned to an ephemeris."
              }
            ]
          }
        }
      },
      "GetAgentConfigurationResponse": {
        "type": "object",
        "properties": {
          "agentId": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Uuid"
              },
              {
                "description": "UUID of agent."
              }
            ]
          },
          "taskingDocument": {
            "allOf": [
              {
                "$ref": "#/components/schemas/String"
              },
              {
                "description": "Tasking document for agent."
              }
            ]
          }
        }
      },
      "GetConfigResponse": {
        "type": "object",
        "required": [
          "configArn",
          "configData",
          "configId",
          "name"
        ],
        "properties": {
          "configArn": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ConfigArn"
              },
              {
                "description": "ARN of a <code>Config</code> "
              }
            ]
          },
          "configData": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ConfigTypeData"
              },
              {
                "description": "Data elements in a <code>Config</code>."
              }
            ]
          },
          "configId": {
            "allOf": [
              {
                "$ref": "#/components/schemas/String"
              },
              {
                "description": "UUID of a <code>Config</code>."
              }
            ]
          },
          "configType": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ConfigCapabilityType"
              },
              {
                "description": "Type of a <code>Config</code>."
              }
            ]
          },
          "name": {
            "allOf": [
              {
                "$ref": "#/components/schemas/String"
              },
              {
                "description": "Name of a <code>Config</code>."
              }
            ]
          },
          "tags": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TagsMap"
              },
              {
                "description": "Tags assigned to a <code>Config</code>."
              }
            ]
          }
        },
        "description": "<p/>"
      },
      "GetDataflowEndpointGroupResponse": {
        "type": "object",
        "properties": {
          "contactPostPassDurationSeconds": {
            "allOf": [
              {
                "$ref": "#/components/schemas/DataflowEndpointGroupDurationInSeconds"
              },
              {
                "description": "Amount of time, in seconds, after a contact ends that the Ground Station Dataflow Endpoint Group will be in a <code>POSTPASS</code> state. A Ground Station Dataflow Endpoint Group State Change event will be emitted when the Dataflow Endpoint Group enters and exits the <code>POSTPASS</code> state."
              }
            ]
          },
          "contactPrePassDurationSeconds": {
            "allOf": [
              {
                "$ref": "#/components/schemas/DataflowEndpointGroupDurationInSeconds"
              },
              {
                "description": "Amount of time, in seconds, before a contact starts that the Ground Station Dataflow Endpoint Group will be in a <code>PREPASS</code> state. A Ground Station Dataflow Endpoint Group State Change event will be emitted when the Dataflow Endpoint Group enters and exits the <code>PREPASS</code> state."
              }
            ]
          },
          "dataflowEndpointGroupArn": {
            "allOf": [
              {
                "$ref": "#/components/schemas/DataflowEndpointGroupArn"
              },
              {
                "description": "ARN of a dataflow endpoint group."
              }
            ]
          },
          "dataflowEndpointGroupId": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Uuid"
              },
              {
                "description": "UUID of a dataflow endpoint group."
              }
            ]
          },
          "endpointsDetails": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EndpointDetailsList"
              },
              {
                "description": "Details of a dataflow endpoint."
              }
            ]
          },
          "tags": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TagsMap"
              },
              {
                "description": "Tags assigned to a dataflow endpoint group."
              }
            ]
          }
        },
        "description": "<p/>"
      },
      "GetMinuteUsageResponse": {
        "type": "object",
        "properties": {
          "estimatedMinutesRemaining": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Integer"
              },
              {
                "description": "Estimated number of minutes remaining for an account, specific to the month being requested."
              }
            ]
          },
          "isReservedMinutesCustomer": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Boolean"
              },
              {
                "description": "Returns whether or not an account has signed up for the reserved minutes pricing plan, specific to the month being requested."
              }
            ]
          },
          "totalReservedMinuteAllocation": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Integer"
              },
              {
                "description": "Total number of reserved minutes allocated, specific to the month being requested."
              }
            ]
          },
          "totalScheduledMinutes": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Integer"
              },
              {
                "description": "Total scheduled minutes for an account, specific to the month being requested."
              }
            ]
          },
          "upcomingMinutesScheduled": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Integer"
              },
              {
                "description": "Upcoming minutes scheduled for an account, specific to the month being requested."
              }
            ]
          }
        },
        "description": "<p/>"
      },
      "GetMissionProfileResponse": {
        "type": "object",
        "properties": {
          "contactPostPassDurationSeconds": {
            "allOf": [
              {
                "$ref": "#/components/schemas/DurationInSeconds"
              },
              {
                "description": "Amount of time after a contact ends that you’d like to receive a CloudWatch event indicating the pass has finished."
              }
            ]
          },
          "contactPrePassDurationSeconds": {
            "allOf": [
              {
                "$ref": "#/components/schemas/DurationInSeconds"
              },
              {
                "description": "Amount of time prior to contact start you’d like to receive a CloudWatch event indicating an upcoming pass."
              }
            ]
          },
          "dataflowEdges": {
            "allOf": [
              {
                "$ref": "#/components/schemas/DataflowEdgeList"
              },
              {
                "description": "A list of lists of ARNs. Each list of ARNs is an edge, with a <i>from</i> <code>Config</code> and a <i>to</i> <code>Config</code>."
              }
            ]
          },
          "minimumViableContactDurationSeconds": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PositiveDurationInSeconds"
              },
              {
                "description": "Smallest amount of time in seconds that you’d like to see for an available contact. AWS Ground Station will not present you with contacts shorter than this duration."
              }
            ]
          },
          "missionProfileArn": {
            "allOf": [
              {
                "$ref": "#/components/schemas/MissionProfileArn"
              },
              {
                "description": "ARN of a mission profile."
              }
            ]
          },
          "missionProfileId": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Uuid"
              },
              {
                "description": "UUID of a mission profile."
              }
            ]
          },
          "name": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SafeName"
              },
              {
                "description": "Name of a mission profile."
              }
            ]
          },
          "region": {
            "allOf": [
              {
                "$ref": "#/components/schemas/AWSRegion"
              },
              {
                "description": "Region of a mission profile."
              }
            ]
          },
          "streamsKmsKey": {
            "allOf": [
              {
                "$ref": "#/components/schemas/KmsKey"
              },
              {
                "description": "KMS key to use for encrypting streams."
              }
            ]
          },
          "streamsKmsRole": {
            "allOf": [
              {
                "$ref": "#/components/schemas/RoleArn"
              },
              {
                "description": "Role to use for encrypting streams with KMS key."
              }
            ]
          },
          "tags": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TagsMap"
              },
              {
                "description": "Tags assigned to a mission profile."
              }
            ]
          },
          "trackingConfigArn": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ConfigArn"
              },
              {
                "description": "ARN of a tracking <code>Config</code>."
              }
            ]
          }
        },
        "description": "<p/>"
      },
      "GetSatelliteResponse": {
        "type": "object",
        "properties": {
          "currentEphemeris": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EphemerisMetaData"
              },
              {
                "description": "The current ephemeris being used to compute the trajectory of the satellite."
              }
            ]
          },
          "groundStations": {
            "allOf": [
              {
                "$ref": "#/components/schemas/GroundStationIdList"
              },
              {
                "description": "A list of ground stations to which the satellite is on-boarded."
              }
            ]
          },
          "noradSatelliteID": {
            "allOf": [
              {
                "$ref": "#/components/schemas/noradSatelliteID"
              },
              {
                "description": "NORAD satellite ID number."
              }
            ]
          },
          "satelliteArn": {
            "allOf": [
              {
                "$ref": "#/components/schemas/satelliteArn"
              },
              {
                "description": "ARN of a satellite."
              }
            ]
          },
          "satelliteId": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Uuid"
              },
              {
                "description": "UUID of a satellite."
              }
            ]
          }
        },
        "description": "<p/>"
      },
      "ListConfigsResponse": {
        "type": "object",
        "properties": {
          "configList": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ConfigList"
              },
              {
                "description": "List of <code>Config</code> items."
              }
            ]
          },
          "nextToken": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PaginationToken"
              },
              {
                "description": "Next token returned in the response of a previous <code>ListConfigs</code> call. Used to get the next page of results."
              }
            ]
          }
        },
        "description": "<p/>"
      },
      "ListContactsResponse": {
        "type": "object",
        "properties": {
          "contactList": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ContactList"
              },
              {
                "description": "List of contacts."
              }
            ]
          },
          "nextToken": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PaginationToken"
              },
              {
                "description": "Next token returned in the response of a previous <code>ListContacts</code> call. Used to get the next page of results."
              }
            ]
          }
        },
        "description": "<p/>"
      },
      "ContactStatus": {
        "type": "string",
        "enum": [
          "AVAILABLE",
          "AWS_CANCELLED",
          "AWS_FAILED",
          "CANCELLED",
          "CANCELLING",
          "COMPLETED",
          "FAILED",
          "FAILED_TO_SCHEDULE",
          "PASS",
          "POSTPASS",
          "PREPASS",
          "SCHEDULED",
          "SCHEDULING"
        ]
      },
      "ListDataflowEndpointGroupsResponse": {
        "type": "object",
        "properties": {
          "dataflowEndpointGroupList": {
            "allOf": [
              {
                "$ref": "#/components/schemas/DataflowEndpointGroupList"
              },
              {
                "description": "A list of dataflow endpoint groups."
              }
            ]
          },
          "nextToken": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PaginationToken"
              },
              {
                "description": "Next token returned in the response of a previous <code>ListDataflowEndpointGroups</code> call. Used to get the next page of results."
              }
            ]
          }
        },
        "description": "<p/>"
      },
      "ListEphemeridesResponse": {
        "type": "object",
        "properties": {
          "ephemerides": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EphemeridesList"
              },
              {
                "description": "List of ephemerides."
              }
            ]
          },
          "nextToken": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PaginationToken"
              },
              {
                "description": "Pagination token."
              }
            ]
          }
        }
      },
      "EphemerisStatus": {
        "type": "string",
        "enum": [
          "VALIDATING",
          "INVALID",
          "ERROR",
          "ENABLED",
          "DISABLED",
          "EXPIRED"
        ]
      },
      "ListGroundStationsResponse": {
        "type": "object",
        "properties": {
          "groundStationList": {
            "allOf": [
              {
                "$ref": "#/components/schemas/GroundStationList"
              },
              {
                "description": "List of ground stations."
              }
            ]
          },
          "nextToken": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PaginationToken"
              },
              {
                "description": "Next token that can be supplied in the next call to get the next page of ground stations."
              }
            ]
          }
        },
        "description": "<p/>"
      },
      "ListMissionProfilesResponse": {
        "type": "object",
        "properties": {
          "missionProfileList": {
            "allOf": [
              {
                "$ref": "#/components/schemas/MissionProfileList"
              },
              {
                "description": "List of mission profiles."
              }
            ]
          },
          "nextToken": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PaginationToken"
              },
              {
                "description": "Next token returned in the response of a previous <code>ListMissionProfiles</code> call. Used to get the next page of results."
              }
            ]
          }
        },
        "description": "<p/>"
      },
      "ListSatellitesResponse": {
        "type": "object",
        "properties": {
          "nextToken": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PaginationToken"
              },
              {
                "description": "Next token that can be supplied in the next call to get the next page of satellites."
              }
            ]
          },
          "satellites": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SatelliteList"
              },
              {
                "description": "List of satellites."
              }
            ]
          }
        },
        "description": "<p/>"
      },
      "ListTagsForResourceResponse": {
        "type": "object",
        "properties": {
          "tags": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TagsMap"
              },
              {
                "description": "Tags assigned to a resource."
              }
            ]
          }
        },
        "description": "<p/>"
      },
      "RegisterAgentResponse": {
        "type": "object",
        "properties": {
          "agentId": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Uuid"
              },
              {
                "description": "UUID of registered agent."
              }
            ]
          }
        }
      },
      "AgentCpuCoresList": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/Integer"
        },
        "minItems": 0,
        "maxItems": 256
      },
      "VersionString": {
        "type": "string",
        "pattern": "^(0|[1-9]\\d*)(\\.(0|[1-9]\\d*))*$",
        "minLength": 1,
        "maxLength": 64
      },
      "ComponentVersionList": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/ComponentVersion"
        },
        "minItems": 1,
        "maxItems": 20
      },
      "InstanceId": {
        "type": "string",
        "pattern": "^[a-z0-9-]{10,64}$",
        "minLength": 10,
        "maxLength": 64
      },
      "InstanceType": {
        "type": "string",
        "pattern": "^[a-z0-9.-]{1,64}$",
        "minLength": 1,
        "maxLength": 64
      },
      "CapabilityArnList": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/CapabilityArn"
        },
        "minItems": 1,
        "maxItems": 20
      },
      "IpAddressList": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/IpV4Address"
        },
        "minItems": 1,
        "maxItems": 20
      },
      "TagResourceResponse": {
        "type": "object",
        "properties": {},
        "description": "<p/>"
      },
      "UntagResourceResponse": {
        "type": "object",
        "properties": {},
        "description": "<p/>"
      },
      "UnboundedString": {
        "type": "string",
        "pattern": "^[\\s\\S]+$",
        "minLength": 1
      },
      "UpdateAgentStatusResponse": {
        "type": "object",
        "required": [
          "agentId"
        ],
        "properties": {
          "agentId": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Uuid"
              },
              {
                "description": "UUID of updated agent."
              }
            ]
          }
        }
      },
      "SignatureMap": {
        "type": "object",
        "additionalProperties": {
          "$ref": "#/components/schemas/Boolean"
        }
      },
      "AgentStatus": {
        "type": "string",
        "enum": [
          "SUCCESS",
          "FAILED",
          "ACTIVE",
          "INACTIVE"
        ]
      },
      "ComponentStatusData": {
        "type": "object",
        "required": [
          "capabilityArn",
          "componentType",
          "dataflowId",
          "status"
        ],
        "properties": {
          "bytesReceived": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Long"
              },
              {
                "description": "Bytes received by the component."
              }
            ]
          },
          "bytesSent": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Long"
              },
              {
                "description": "Bytes sent by the component."
              }
            ]
          },
          "capabilityArn": {
            "allOf": [
              {
                "$ref": "#/components/schemas/CapabilityArn"
              },
              {
                "description": "Capability ARN of the component."
              }
            ]
          },
          "componentType": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ComponentTypeString"
              },
              {
                "description": "The Component type."
              }
            ]
          },
          "dataflowId": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Uuid"
              },
              {
                "description": "Dataflow UUID associated with the component."
              }
            ]
          },
          "packetsDropped": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Long"
              },
              {
                "description": "Packets dropped by component."
              }
            ]
          },
          "status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/AgentStatus"
              },
              {
                "description": "Component status."
              }
            ]
          }
        },
        "description": "Data on the status of agent components."
      },
      "AWSRegion": {
        "type": "string",
        "pattern": "^[\\w-]+$",
        "minLength": 1,
        "maxLength": 128
      },
      "Integer": {
        "type": "integer"
      },
      "AgentDetails": {
        "type": "object",
        "required": [
          "agentVersion",
          "componentVersions",
          "instanceId",
          "instanceType"
        ],
        "properties": {
          "agentCpuCores": {
            "allOf": [
              {
                "$ref": "#/components/schemas/AgentCpuCoresList"
              },
              {
                "description": "List of CPU cores reserved for the agent."
              }
            ]
          },
          "agentVersion": {
            "allOf": [
              {
                "$ref": "#/components/schemas/VersionString"
              },
              {
                "description": "Current agent version."
              }
            ]
          },
          "componentVersions": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ComponentVersionList"
              },
              {
                "description": "List of versions being used by agent components."
              }
            ]
          },
          "instanceId": {
            "allOf": [
              {
                "$ref": "#/components/schemas/InstanceId"
              },
              {
                "description": "ID of EC2 instance agent is running on."
              }
            ]
          },
          "instanceType": {
            "allOf": [
              {
                "$ref": "#/components/schemas/InstanceType"
              },
              {
                "description": "Type of EC2 instance agent is running on."
              }
            ]
          },
          "reservedCpuCores": {
            "allOf": [
              {
                "$ref": "#/components/schemas/AgentCpuCoresList"
              },
              {
                "description": "<note> <p>This field should not be used. Use agentCpuCores instead.</p> </note> <p>List of CPU cores reserved for processes other than the agent running on the EC2 instance.</p>"
              }
            ]
          }
        },
        "description": "Detailed information about the agent."
      },
      "AggregateStatus": {
        "type": "object",
        "required": [
          "status"
        ],
        "properties": {
          "signatureMap": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SignatureMap"
              },
              {
                "description": "Sparse map of failure signatures."
              }
            ]
          },
          "status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/AgentStatus"
              },
              {
                "description": "Aggregate status."
              }
            ]
          }
        },
        "description": "Aggregate status of Agent components."
      },
      "AngleUnits": {
        "type": "string",
        "enum": [
          "DEGREE_ANGLE",
          "RADIAN"
        ]
      },
      "AntennaDemodDecodeDetails": {
        "type": "object",
        "properties": {
          "outputNode": {
            "allOf": [
              {
                "$ref": "#/components/schemas/String"
              },
              {
                "description": "Name of an antenna demod decode output node used in a contact."
              }
            ]
          }
        },
        "description": "Details about an antenna demod decode <code>Config</code> used in a contact."
      },
      "SpectrumConfig": {
        "type": "object",
        "required": [
          "bandwidth",
          "centerFrequency"
        ],
        "properties": {
          "bandwidth": {
            "allOf": [
              {
                "$ref": "#/components/schemas/FrequencyBandwidth"
              },
              {
                "description": "<p>Bandwidth of a spectral <code>Config</code>. AWS Ground Station currently has the following bandwidth limitations:</p> <ul> <li> <p>For <code>AntennaDownlinkDemodDecodeconfig</code>, valid values are between 125 kHz to 650 MHz.</p> </li> <li> <p>For <code>AntennaDownlinkconfig</code> valid values are between 10 kHz to 54 MHz.</p> </li> <li> <p>For <code>AntennaUplinkConfig</code>, valid values are between 10 kHz to 54 MHz.</p> </li> </ul>"
              }
            ]
          },
          "centerFrequency": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Frequency"
              },
              {
                "description": "Center frequency of a spectral <code>Config</code>. Valid values are between 2200 to 2300 MHz and 7750 to 8400 MHz for downlink and 2025 to 2120 MHz for uplink."
              }
            ]
          },
          "polarization": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Polarization"
              },
              {
                "description": "Polarization of a spectral <code>Config</code>. Capturing both <code>\"RIGHT_HAND\"</code> and <code>\"LEFT_HAND\"</code> polarization requires two separate configs."
              }
            ]
          }
        },
        "description": "Object that describes a spectral <code>Config</code>."
      },
      "DecodeConfig": {
        "type": "object",
        "required": [
          "unvalidatedJSON"
        ],
        "properties": {
          "unvalidatedJSON": {
            "allOf": [
              {
                "$ref": "#/components/schemas/JsonString"
              },
              {
                "description": "Unvalidated JSON of a decode <code>Config</code>."
              }
            ]
          }
        },
        "description": "Information about the decode <code>Config</code>."
      },
      "DemodulationConfig": {
        "type": "object",
        "required": [
          "unvalidatedJSON"
        ],
        "properties": {
          "unvalidatedJSON": {
            "allOf": [
              {
                "$ref": "#/components/schemas/JsonString"
              },
              {
                "description": "Unvalidated JSON of a demodulation <code>Config</code>."
              }
            ]
          }
        },
        "description": "Information about the demodulation <code>Config</code>."
      },
      "UplinkSpectrumConfig": {
        "type": "object",
        "required": [
          "centerFrequency"
        ],
        "properties": {
          "centerFrequency": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Frequency"
              },
              {
                "description": "Center frequency of an uplink spectral <code>Config</code>. Valid values are between 2025 to 2120 MHz."
              }
            ]
          },
          "polarization": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Polarization"
              },
              {
                "description": "Polarization of an uplink spectral <code>Config</code>. Capturing both <code>\"RIGHT_HAND\"</code> and <code>\"LEFT_HAND\"</code> polarization requires two separate configs."
              }
            ]
          }
        },
        "description": "Information about the uplink spectral <code>Config</code>."
      },
      "Eirp": {
        "type": "object",
        "required": [
          "units",
          "value"
        ],
        "properties": {
          "units": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EirpUnits"
              },
              {
                "description": "Units of an EIRP."
              }
            ]
          },
          "value": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Double"
              },
              {
                "description": "Value of an EIRP. Valid values are between 20.0 to 50.0 dBW."
              }
            ]
          }
        },
        "description": "Object that represents EIRP."
      },
      "Boolean": {
        "type": "boolean"
      },
      "AnyArn": {
        "type": "string",
        "pattern": "^(arn:aws:)[\\s\\S]{0,1024}$",
        "minLength": 5,
        "maxLength": 1024
      },
      "AuditResults": {
        "type": "string",
        "enum": [
          "HEALTHY",
          "UNHEALTHY"
        ]
      },
      "ConnectionDetails": {
        "type": "object",
        "required": [
          "socketAddress"
        ],
        "properties": {
          "mtu": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Integer"
              },
              {
                "description": "Maximum transmission unit (MTU) size in bytes of a dataflow endpoint."
              }
            ]
          },
          "socketAddress": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SocketAddress"
              },
              {
                "description": "A socket address."
              }
            ]
          }
        },
        "description": "Egress address of AgentEndpoint with an optional mtu."
      },
      "RangedConnectionDetails": {
        "type": "object",
        "required": [
          "socketAddress"
        ],
        "properties": {
          "mtu": {
            "allOf": [
              {
                "$ref": "#/components/schemas/RangedConnectionDetailsMtuInteger"
              },
              {
                "description": "Maximum transmission unit (MTU) size in bytes of a dataflow endpoint."
              }
            ]
          },
          "socketAddress": {
            "allOf": [
              {
                "$ref": "#/components/schemas/RangedSocketAddress"
              },
              {
                "description": "A ranged socket address."
              }
            ]
          }
        },
        "description": "Ingress address of AgentEndpoint with a port range and an optional mtu."
      },
      "SafeName": {
        "type": "string",
        "pattern": "^[ a-zA-Z0-9_:-]{1,256}$",
        "minLength": 1,
        "maxLength": 256
      },
      "AwsGroundStationAgentEndpoint": {
        "type": "object",
        "required": [
          "egressAddress",
          "ingressAddress",
          "name"
        ],
        "properties": {
          "agentStatus": {
            "allOf": [
              {
                "$ref": "#/components/schemas/AgentStatus"
              },
              {
                "description": "The status of AgentEndpoint."
              }
            ]
          },
          "auditResults": {
            "allOf": [
              {
                "$ref": "#/components/schemas/AuditResults"
              },
              {
                "description": "The results of the audit."
              }
            ]
          },
          "egressAddress": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ConnectionDetails"
              },
              {
                "description": "The egress address of AgentEndpoint."
              }
            ]
          },
          "ingressAddress": {
            "allOf": [
              {
                "$ref": "#/components/schemas/RangedConnectionDetails"
              },
              {
                "description": "The ingress address of AgentEndpoint."
              }
            ]
          },
          "name": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SafeName"
              },
              {
                "description": "Name string associated with AgentEndpoint. Used as a human-readable identifier for AgentEndpoint."
              }
            ]
          }
        },
        "description": "Information about AwsGroundStationAgentEndpoint."
      },
      "BandwidthUnits": {
        "type": "string",
        "enum": [
          "GHz",
          "MHz",
          "kHz"
        ]
      },
      "BucketArn": {
        "type": "string"
      },
      "Uuid": {
        "type": "string",
        "pattern": "^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$",
        "minLength": 1,
        "maxLength": 128
      },
      "CancelContactRequest": {
        "type": "object",
        "title": "CancelContactRequest",
        "properties": {},
        "description": "<p/>"
      },
      "CapabilityArn": {
        "type": "string"
      },
      "CapabilityHealth": {
        "type": "string",
        "enum": [
          "UNHEALTHY",
          "HEALTHY"
        ]
      },
      "CapabilityHealthReason": {
        "type": "string",
        "enum": [
          "NO_REGISTERED_AGENT",
          "INVALID_IP_OWNERSHIP",
          "NOT_AUTHORIZED_TO_CREATE_SLR",
          "UNVERIFIED_IP_OWNERSHIP",
          "INITIALIZING_DATAPLANE",
          "DATAPLANE_FAILURE",
          "HEALTHY"
        ]
      },
      "CapabilityHealthReasonList": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/CapabilityHealthReason"
        },
        "minItems": 0,
        "maxItems": 500
      },
      "Long": {
        "type": "integer"
      },
      "ComponentTypeString": {
        "type": "string",
        "pattern": "^[a-zA-Z0-9_]{1,64}$"
      },
      "ComponentStatusList": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/ComponentStatusData"
        },
        "minItems": 0,
        "maxItems": 20
      },
      "VersionStringList": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/VersionString"
        },
        "minItems": 1,
        "maxItems": 20
      },
      "ComponentVersion": {
        "type": "object",
        "required": [
          "componentType",
          "versions"
        ],
        "properties": {
          "componentType": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ComponentTypeString"
              },
              {
                "description": "Component type."
              }
            ]
          },
          "versions": {
            "allOf": [
              {
                "$ref": "#/components/schemas/VersionStringList"
              },
              {
                "description": "List of versions."
              }
            ]
          }
        },
        "description": "Version information for agent components."
      },
      "ConfigArn": {
        "type": "string"
      },
      "ConfigCapabilityType": {
        "type": "string",
        "enum": [
          "antenna-downlink",
          "antenna-downlink-demod-decode",
          "antenna-uplink",
          "dataflow-endpoint",
          "tracking",
          "uplink-echo",
          "s3-recording"
        ]
      },
      "S3RecordingDetails": {
        "type": "object",
        "properties": {
          "bucketArn": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BucketArn"
              },
              {
                "description": "ARN of the bucket used."
              }
            ]
          },
          "keyTemplate": {
            "allOf": [
              {
                "$ref": "#/components/schemas/String"
              },
              {
                "description": "Key template used for the S3 Recording Configuration"
              }
            ]
          }
        },
        "description": "Details about an S3 recording <code>Config</code> used in a contact."
      },
      "ConfigDetails": {
        "type": "object",
        "properties": {
          "antennaDemodDecodeDetails": {
            "allOf": [
              {
                "$ref": "#/components/schemas/AntennaDemodDecodeDetails"
              },
              {
                "description": "Details for antenna demod decode <code>Config</code> in a contact."
              }
            ]
          },
          "endpointDetails": {
            "$ref": "#/components/schemas/EndpointDetails"
          },
          "s3RecordingDetails": {
            "allOf": [
              {
                "$ref": "#/components/schemas/S3RecordingDetails"
              },
              {
                "description": "Details for an S3 recording <code>Config</code> in a contact."
              }
            ]
          }
        },
        "description": "Details for certain <code>Config</code> object types in a contact."
      },
      "ConfigListItem": {
        "type": "object",
        "properties": {
          "configArn": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ConfigArn"
              },
              {
                "description": "ARN of a <code>Config</code>."
              }
            ]
          },
          "configId": {
            "allOf": [
              {
                "$ref": "#/components/schemas/String"
              },
              {
                "description": "UUID of a <code>Config</code>."
              }
            ]
          },
          "configType": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ConfigCapabilityType"
              },
              {
                "description": "Type of a <code>Config</code>."
              }
            ]
          },
          "name": {
            "allOf": [
              {
                "$ref": "#/components/schemas/String"
              },
              {
                "description": "Name of a <code>Config</code>."
              }
            ]
          }
        },
        "description": "An item in a list of <code>Config</code> objects."
      },
      "ConfigList": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/ConfigListItem"
        }
      },
      "ConfigTypeData": {
        "type": "object",
        "properties": {
          "antennaDownlinkConfig": {
            "allOf": [
              {
                "$ref": "#/components/schemas/AntennaDownlinkConfig"
              },
              {
                "description": "Information about how AWS Ground Station should configure an antenna for downlink during a contact."
              }
            ]
          },
          "antennaDownlinkDemodDecodeConfig": {
            "allOf": [
              {
                "$ref": "#/components/schemas/AntennaDownlinkDemodDecodeConfig"
              },
              {
                "description": "Information about how AWS Ground Station should configure an antenna for downlink demod decode during a contact."
              }
            ]
          },
          "antennaUplinkConfig": {
            "allOf": [
              {
                "$ref": "#/components/schemas/AntennaUplinkConfig"
              },
              {
                "description": "Information about how AWS Ground Station should configure an antenna for uplink during a contact."
              }
            ]
          },
          "dataflowEndpointConfig": {
            "allOf": [
              {
                "$ref": "#/components/schemas/DataflowEndpointConfig"
              },
              {
                "description": "Information about the dataflow endpoint <code>Config</code>."
              }
            ]
          },
          "s3RecordingConfig": {
            "allOf": [
              {
                "$ref": "#/components/schemas/S3RecordingConfig"
              },
              {
                "description": "Information about an S3 recording <code>Config</code>."
              }
            ]
          },
          "trackingConfig": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TrackingConfig"
              },
              {
                "description": "Object that determines whether tracking should be used during a contact executed with this <code>Config</code> in the mission profile. "
              }
            ]
          },
          "uplinkEchoConfig": {
            "allOf": [
              {
                "$ref": "#/components/schemas/UplinkEchoConfig"
              },
              {
                "description": "<p>Information about an uplink echo <code>Config</code>.</p> <p>Parameters from the <code>AntennaUplinkConfig</code>, corresponding to the specified <code>AntennaUplinkConfigArn</code>, are used when this <code>UplinkEchoConfig</code> is used in a contact.</p>"
              }
            ]
          }
        },
        "description": "<p>Object containing the parameters of a <code>Config</code>.</p> <p>See the subtype definitions for what each type of <code>Config</code> contains.</p>"
      },
      "SocketAddress": {
        "type": "object",
        "required": [
          "name",
          "port"
        ],
        "properties": {
          "name": {
            "allOf": [
              {
                "$ref": "#/components/schemas/String"
              },
              {
                "description": "Name of a socket address."
              }
            ]
          },
          "port": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Integer"
              },
              {
                "description": "Port of a socket address."
              }
            ]
          }
        },
        "description": "Information about the socket address."
      },
      "Timestamp": {
        "type": "string",
        "format": "date-time"
      },
      "Elevation": {
        "type": "object",
        "required": [
          "unit",
          "value"
        ],
        "properties": {
          "unit": {
            "allOf": [
              {
                "$ref": "#/components/schemas/AngleUnits"
              },
              {
                "description": "Elevation angle units."
              }
            ]
          },
          "value": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Double"
              },
              {
                "description": "Elevation angle value."
              }
            ]
          }
        },
        "description": "Elevation angle of the satellite in the sky during a contact."
      },
      "MissionProfileArn": {
        "type": "string"
      },
      "satelliteArn": {
        "type": "string"
      },
      "TagsMap": {
        "type": "object",
        "additionalProperties": {
          "$ref": "#/components/schemas/String"
        }
      },
      "ContactData": {
        "type": "object",
        "properties": {
          "contactId": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Uuid"
              },
              {
                "description": "UUID of a contact."
              }
            ]
          },
          "contactStatus": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ContactStatus"
              },
              {
                "description": "Status of a contact."
              }
            ]
          },
          "endTime": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Timestamp"
              },
              {
                "description": "End time of a contact in UTC."
              }
            ]
          },
          "errorMessage": {
            "allOf": [
              {
                "$ref": "#/components/schemas/String"
              },
              {
                "description": "Error message of a contact."
              }
            ]
          },
          "groundStation": {
            "allOf": [
              {
                "$ref": "#/components/schemas/String"
              },
              {
                "description": "Name of a ground station."
              }
            ]
          },
          "maximumElevation": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Elevation"
              },
              {
                "description": "Maximum elevation angle of a contact."
              }
            ]
          },
          "missionProfileArn": {
            "allOf": [
              {
                "$ref": "#/components/schemas/MissionProfileArn"
              },
              {
                "description": "ARN of a mission profile."
              }
            ]
          },
          "postPassEndTime": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Timestamp"
              },
              {
                "description": "Amount of time after a contact ends that you’d like to receive a CloudWatch event indicating the pass has finished."
              }
            ]
          },
          "prePassStartTime": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Timestamp"
              },
              {
                "description": "Amount of time prior to contact start you’d like to receive a CloudWatch event indicating an upcoming pass."
              }
            ]
          },
          "region": {
            "allOf": [
              {
                "$ref": "#/components/schemas/String"
              },
              {
                "description": "Region of a contact."
              }
            ]
          },
          "satelliteArn": {
            "allOf": [
              {
                "$ref": "#/components/schemas/satelliteArn"
              },
              {
                "description": "ARN of a satellite."
              }
            ]
          },
          "startTime": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Timestamp"
              },
              {
                "description": "Start time of a contact in UTC."
              }
            ]
          },
          "tags": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TagsMap"
              },
              {
                "description": "Tags assigned to a contact."
              }
            ]
          }
        },
        "description": "Data describing a contact."
      },
      "ContactList": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/ContactData"
        }
      },
      "CreateConfigRequest": {
        "type": "object",
        "required": [
          "configData",
          "name"
        ],
        "title": "CreateConfigRequest",
        "properties": {
          "configData": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ConfigTypeData"
              },
              {
                "description": "Parameters of a <code>Config</code>."
              }
            ]
          },
          "name": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SafeName"
              },
              {
                "description": "Name of a <code>Config</code>."
              }
            ]
          },
          "tags": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TagsMap"
              },
              {
                "description": "Tags assigned to a <code>Config</code>."
              }
            ]
          }
        },
        "description": "<p/>"
      },
      "DataflowEndpointGroupDurationInSeconds": {
        "type": "integer",
        "minimum": 120,
        "maximum": 480
      },
      "EndpointDetailsList": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/EndpointDetails"
        },
        "minItems": 0,
        "maxItems": 500
      },
      "CreateDataflowEndpointGroupRequest": {
        "type": "object",
        "required": [
          "endpointDetails"
        ],
        "title": "CreateDataflowEndpointGroupRequest",
        "properties": {
          "contactPostPassDurationSeconds": {
            "allOf": [
              {
                "$ref": "#/components/schemas/DataflowEndpointGroupDurationInSeconds"
              },
              {
                "description": "Amount of time, in seconds, after a contact ends that the Ground Station Dataflow Endpoint Group will be in a <code>POSTPASS</code> state. A Ground Station Dataflow Endpoint Group State Change event will be emitted when the Dataflow Endpoint Group enters and exits the <code>POSTPASS</code> state."
              }
            ]
          },
          "contactPrePassDurationSeconds": {
            "allOf": [
              {
                "$ref": "#/components/schemas/DataflowEndpointGroupDurationInSeconds"
              },
              {
                "description": "Amount of time, in seconds, before a contact starts that the Ground Station Dataflow Endpoint Group will be in a <code>PREPASS</code> state. A Ground Station Dataflow Endpoint Group State Change event will be emitted when the Dataflow Endpoint Group enters and exits the <code>PREPASS</code> state."
              }
            ]
          },
          "endpointDetails": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EndpointDetailsList"
              },
              {
                "description": "Endpoint details of each endpoint in the dataflow endpoint group."
              }
            ]
          },
          "tags": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TagsMap"
              },
              {
                "description": "Tags of a dataflow endpoint group."
              }
            ]
          }
        },
        "description": "<p/>"
      },
      "EphemerisData": {
        "type": "object",
        "properties": {
          "oem": {
            "$ref": "#/components/schemas/OEMEphemeris"
          },
          "tle": {
            "$ref": "#/components/schemas/TLEEphemeris"
          }
        },
        "description": "Ephemeris data."
      },
      "CustomerEphemerisPriority": {
        "type": "integer",
        "minimum": 1,
        "maximum": 99999
      },
      "CreateEphemerisRequest": {
        "type": "object",
        "required": [
          "name",
          "satelliteId"
        ],
        "title": "CreateEphemerisRequest",
        "properties": {
          "enabled": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Boolean"
              },
              {
                "description": "<p>Whether to set the ephemeris status to <code>ENABLED</code> after validation.</p> <p>Setting this to false will set the ephemeris status to <code>DISABLED</code> after validation.</p>"
              }
            ]
          },
          "ephemeris": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EphemerisData"
              },
              {
                "description": "Ephemeris data."
              }
            ]
          },
          "expirationTime": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Timestamp"
              },
              {
                "description": "An overall expiration time for the ephemeris in UTC, after which it will become <code>EXPIRED</code>."
              }
            ]
          },
          "kmsKeyArn": {
            "allOf": [
              {
                "$ref": "#/components/schemas/KeyArn"
              },
              {
                "description": "The ARN of a KMS key used to encrypt the ephemeris in Ground Station."
              }
            ]
          },
          "name": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SafeName"
              },
              {
                "description": "A name string associated with the ephemeris. Used as a human-readable identifier for the ephemeris."
              }
            ]
          },
          "priority": {
            "allOf": [
              {
                "$ref": "#/components/schemas/CustomerEphemerisPriority"
              },
              {
                "description": "<p>Customer-provided priority score to establish the order in which overlapping ephemerides should be used.</p> <p>The default for customer-provided ephemeris priority is 1, and higher numbers take precedence.</p> <p>Priority must be 1 or greater</p>"
              }
            ]
          },
          "satelliteId": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Uuid"
              },
              {
                "description": "AWS Ground Station satellite ID for this ephemeris."
              }
            ]
          },
          "tags": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TagsMap"
              },
              {
                "description": "Tags assigned to an ephemeris."
              }
            ]
          }
        }
      },
      "DurationInSeconds": {
        "type": "integer",
        "minimum": 0,
        "maximum": 21600
      },
      "DataflowEdgeList": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/DataflowEdge"
        },
        "minItems": 0,
        "maxItems": 500
      },
      "PositiveDurationInSeconds": {
        "type": "integer",
        "minimum": 1,
        "maximum": 21600
      },
      "KmsKey": {
        "type": "object",
        "properties": {
          "kmsAliasArn": {
            "allOf": [
              {
                "$ref": "#/components/schemas/KeyAliasArn"
              },
              {
                "description": "KMS Alias Arn."
              }
            ]
          },
          "kmsKeyArn": {
            "allOf": [
              {
                "$ref": "#/components/schemas/KeyArn"
              },
              {
                "description": "KMS Key Arn."
              }
            ]
          }
        },
        "description": "AWS Key Management Service (KMS) Key."
      },
      "RoleArn": {
        "type": "string"
      },
      "CreateMissionProfileRequest": {
        "type": "object",
        "required": [
          "dataflowEdges",
          "minimumViableContactDurationSeconds",
          "name",
          "trackingConfigArn"
        ],
        "title": "CreateMissionProfileRequest",
        "properties": {
          "contactPostPassDurationSeconds": {
            "allOf": [
              {
                "$ref": "#/components/schemas/DurationInSeconds"
              },
              {
                "description": "Amount of time after a contact ends that you’d like to receive a CloudWatch event indicating the pass has finished."
              }
            ]
          },
          "contactPrePassDurationSeconds": {
            "allOf": [
              {
                "$ref": "#/components/schemas/DurationInSeconds"
              },
              {
                "description": "Amount of time prior to contact start you’d like to receive a CloudWatch event indicating an upcoming pass."
              }
            ]
          },
          "dataflowEdges": {
            "allOf": [
              {
                "$ref": "#/components/schemas/DataflowEdgeList"
              },
              {
                "description": "A list of lists of ARNs. Each list of ARNs is an edge, with a <i>from</i> <code>Config</code> and a <i>to</i> <code>Config</code>."
              }
            ]
          },
          "minimumViableContactDurationSeconds": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PositiveDurationInSeconds"
              },
              {
                "description": "Smallest amount of time in seconds that you’d like to see for an available contact. AWS Ground Station will not present you with contacts shorter than this duration."
              }
            ]
          },
          "name": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SafeName"
              },
              {
                "description": "Name of a mission profile."
              }
            ]
          },
          "streamsKmsKey": {
            "allOf": [
              {
                "$ref": "#/components/schemas/KmsKey"
              },
              {
                "description": "KMS key to use for encrypting streams."
              }
            ]
          },
          "streamsKmsRole": {
            "allOf": [
              {
                "$ref": "#/components/schemas/RoleArn"
              },
              {
                "description": "Role to use for encrypting streams with KMS key."
              }
            ]
          },
          "tags": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TagsMap"
              },
              {
                "description": "Tags assigned to a mission profile."
              }
            ]
          },
          "trackingConfigArn": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ConfigArn"
              },
              {
                "description": "ARN of a tracking <code>Config</code>."
              }
            ]
          }
        },
        "description": "<p/>"
      },
      "Criticality": {
        "type": "string",
        "enum": [
          "PREFERRED",
          "REMOVED",
          "REQUIRED"
        ]
      },
      "Destination": {
        "type": "object",
        "properties": {
          "configDetails": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ConfigDetails"
              },
              {
                "description": "Additional details for a <code>Config</code>, if type is dataflow endpoint or antenna demod decode."
              }
            ]
          },
          "configId": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Uuid"
              },
              {
                "description": "UUID of a <code>Config</code>."
              }
            ]
          },
          "configType": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ConfigCapabilityType"
              },
              {
                "description": "Type of a <code>Config</code>."
              }
            ]
          },
          "dataflowDestinationRegion": {
            "allOf": [
              {
                "$ref": "#/components/schemas/String"
              },
              {
                "description": "Region of a dataflow destination."
              }
            ]
          }
        },
        "description": "Dataflow details for the destination side."
      },
      "Source": {
        "type": "object",
        "properties": {
          "configDetails": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ConfigDetails"
              },
              {
                "description": "Additional details for a <code>Config</code>, if type is <code>dataflow-endpoint</code> or <code>antenna-downlink-demod-decode</code> "
              }
            ]
          },
          "configId": {
            "allOf": [
              {
                "$ref": "#/components/schemas/String"
              },
              {
                "description": "UUID of a <code>Config</code>."
              }
            ]
          },
          "configType": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ConfigCapabilityType"
              },
              {
                "description": "Type of a <code>Config</code>."
              }
            ]
          },
          "dataflowSourceRegion": {
            "allOf": [
              {
                "$ref": "#/components/schemas/String"
              },
              {
                "description": "Region of a dataflow source."
              }
            ]
          }
        },
        "description": "Dataflow details for the source side."
      },
      "DataflowDetail": {
        "type": "object",
        "properties": {
          "destination": {
            "$ref": "#/components/schemas/Destination"
          },
          "errorMessage": {
            "allOf": [
              {
                "$ref": "#/components/schemas/String"
              },
              {
                "description": "Error message for a dataflow."
              }
            ]
          },
          "source": {
            "$ref": "#/components/schemas/Source"
          }
        },
        "description": "Information about a dataflow edge used in a contact."
      },
      "DataflowEndpointMtuInteger": {
        "type": "integer",
        "minimum": 1400,
        "maximum": 1500
      },
      "EndpointStatus": {
        "type": "string",
        "enum": [
          "created",
          "creating",
          "deleted",
          "deleting",
          "failed"
        ]
      },
      "DataflowEndpoint": {
        "type": "object",
        "properties": {
          "address": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SocketAddress"
              },
              {
                "description": "Socket address of a dataflow endpoint."
              }
            ]
          },
          "mtu": {
            "allOf": [
              {
                "$ref": "#/components/schemas/DataflowEndpointMtuInteger"
              },
              {
                "description": "Maximum transmission unit (MTU) size in bytes of a dataflow endpoint."
              }
            ]
          },
          "name": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SafeName"
              },
              {
                "description": "Name of a dataflow endpoint."
              }
            ]
          },
          "status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EndpointStatus"
              },
              {
                "description": "Status of a dataflow endpoint."
              }
            ]
          }
        },
        "description": "Information about a dataflow endpoint."
      },
      "DataflowEndpointGroupArn": {
        "type": "string"
      },
      "DataflowEndpointListItem": {
        "type": "object",
        "properties": {
          "dataflowEndpointGroupArn": {
            "allOf": [
              {
                "$ref": "#/components/schemas/DataflowEndpointGroupArn"
              },
              {
                "description": "ARN of a dataflow endpoint group."
              }
            ]
          },
          "dataflowEndpointGroupId": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Uuid"
              },
              {
                "description": "UUID of a dataflow endpoint group."
              }
            ]
          }
        },
        "description": "Item in a list of <code>DataflowEndpoint</code> groups."
      },
      "DataflowEndpointGroupList": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/DataflowEndpointListItem"
        }
      },
      "DataflowList": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/DataflowDetail"
        }
      },
      "JsonString": {
        "type": "string",
        "pattern": "^[{}\\[\\]:.,\"0-9A-z\\-_\\s]{2,8192}$",
        "minLength": 2,
        "maxLength": 8192
      },
      "DeleteConfigRequest": {
        "type": "object",
        "title": "DeleteConfigRequest",
        "properties": {},
        "description": "<p/>"
      },
      "DeleteDataflowEndpointGroupRequest": {
        "type": "object",
        "title": "DeleteDataflowEndpointGroupRequest",
        "properties": {},
        "description": "<p/>"
      },
      "DeleteEphemerisRequest": {
        "type": "object",
        "title": "DeleteEphemerisRequest",
        "properties": {}
      },
      "DeleteMissionProfileRequest": {
        "type": "object",
        "title": "DeleteMissionProfileRequest",
        "properties": {},
        "description": "<p/>"
      },
      "DescribeContactRequest": {
        "type": "object",
        "title": "DescribeContactRequest",
        "properties": {},
        "description": "<p/>"
      },
      "DescribeEphemerisRequest": {
        "type": "object",
        "title": "DescribeEphemerisRequest",
        "properties": {}
      },
      "EphemerisInvalidReason": {
        "type": "string",
        "enum": [
          "METADATA_INVALID",
          "TIME_RANGE_INVALID",
          "TRAJECTORY_INVALID",
          "KMS_KEY_INVALID",
          "VALIDATION_ERROR"
        ]
      },
      "EphemerisPriority": {
        "type": "integer",
        "minimum": 0,
        "maximum": 99999
      },
      "EphemerisTypeDescription": {
        "type": "object",
        "properties": {
          "oem": {
            "$ref": "#/components/schemas/EphemerisDescription"
          },
          "tle": {
            "$ref": "#/components/schemas/EphemerisDescription"
          }
        },
        "description": "<p/>"
      },
      "DiscoveryData": {
        "type": "object",
        "required": [
          "capabilityArns",
          "privateIpAddresses",
          "publicIpAddresses"
        ],
        "properties": {
          "capabilityArns": {
            "allOf": [
              {
                "$ref": "#/components/schemas/CapabilityArnList"
              },
              {
                "description": "List of capabilities to associate with agent."
              }
            ]
          },
          "privateIpAddresses": {
            "allOf": [
              {
                "$ref": "#/components/schemas/IpAddressList"
              },
              {
                "description": "List of private IP addresses to associate with agent."
              }
            ]
          },
          "publicIpAddresses": {
            "allOf": [
              {
                "$ref": "#/components/schemas/IpAddressList"
              },
              {
                "description": "List of public IP addresses to associate with agent."
              }
            ]
          }
        },
        "description": "Data for agent discovery."
      },
      "Double": {
        "type": "number",
        "format": "double"
      },
      "EirpUnits": {
        "type": "string",
        "enum": [
          "dBW"
        ]
      },
      "SecurityDetails": {
        "type": "object",
        "required": [
          "roleArn",
          "securityGroupIds",
          "subnetIds"
        ],
        "properties": {
          "roleArn": {
            "allOf": [
              {
                "$ref": "#/components/schemas/RoleArn"
              },
              {
                "description": "ARN to a role needed for connecting streams to your instances. "
              }
            ]
          },
          "securityGroupIds": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SecurityGroupIdList"
              },
              {
                "description": "The security groups to attach to the elastic network interfaces."
              }
            ]
          },
          "subnetIds": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SubnetList"
              },
              {
                "description": "A list of subnets where AWS Ground Station places elastic network interfaces to send streams to your instances."
              }
            ]
          }
        },
        "description": "Information about endpoints."
      },
      "EphemerisItem": {
        "type": "object",
        "properties": {
          "creationTime": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Timestamp"
              },
              {
                "description": "The time the ephemeris was uploaded in UTC."
              }
            ]
          },
          "enabled": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Boolean"
              },
              {
                "description": "Whether or not the ephemeris is enabled."
              }
            ]
          },
          "ephemerisId": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Uuid"
              },
              {
                "description": "The AWS Ground Station ephemeris ID."
              }
            ]
          },
          "name": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SafeName"
              },
              {
                "description": "A name string associated with the ephemeris. Used as a human-readable identifier for the ephemeris."
              }
            ]
          },
          "priority": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EphemerisPriority"
              },
              {
                "description": "<p>Customer-provided priority score to establish the order in which overlapping ephemerides should be used.</p> <p>The default for customer-provided ephemeris priority is 1, and higher numbers take precedence.</p> <p>Priority must be 1 or greater</p>"
              }
            ]
          },
          "sourceS3Object": {
            "allOf": [
              {
                "$ref": "#/components/schemas/S3Object"
              },
              {
                "description": "Source S3 object used for the ephemeris."
              }
            ]
          },
          "status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EphemerisStatus"
              },
              {
                "description": "The status of the ephemeris."
              }
            ]
          }
        },
        "description": "Ephemeris item."
      },
      "EphemeridesList": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/EphemerisItem"
        },
        "minItems": 1,
        "maxItems": 500
      },
      "S3Object": {
        "type": "object",
        "properties": {
          "bucket": {
            "allOf": [
              {
                "$ref": "#/components/schemas/S3BucketName"
              },
              {
                "description": "An Amazon S3 Bucket name."
              }
            ]
          },
          "key": {
            "allOf": [
              {
                "$ref": "#/components/schemas/S3ObjectKey"
              },
              {
                "description": "An Amazon S3 key for the ephemeris."
              }
            ]
          },
          "version": {
            "allOf": [
              {
                "$ref": "#/components/schemas/S3VersionId"
              },
              {
                "description": "For versioned S3 objects, the version to use for the ephemeris."
              }
            ]
          }
        },
        "description": "Object stored in S3 containing ephemeris data."
      },
      "EphemerisDescription": {
        "type": "object",
        "properties": {
          "ephemerisData": {
            "allOf": [
              {
                "$ref": "#/components/schemas/UnboundedString"
              },
              {
                "description": "Supplied ephemeris data."
              }
            ]
          },
          "sourceS3Object": {
            "allOf": [
              {
                "$ref": "#/components/schemas/S3Object"
              },
              {
                "description": "Source S3 object used for the ephemeris."
              }
            ]
          }
        },
        "description": "Description of ephemeris."
      },
      "EphemerisSource": {
        "type": "string",
        "enum": [
          "CUSTOMER_PROVIDED",
          "SPACE_TRACK"
        ]
      },
      "EphemerisMetaData": {
        "type": "object",
        "required": [
          "source"
        ],
        "properties": {
          "ephemerisId": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Uuid"
              },
              {
                "description": "<p>UUID of a customer-provided ephemeris.</p> <p>This field is not populated for default ephemerides from Space Track.</p>"
              }
            ]
          },
          "epoch": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Timestamp"
              },
              {
                "description": "<p>The epoch of a default, ephemeris from Space Track in UTC.</p> <p>This field is not populated for customer-provided ephemerides.</p>"
              }
            ]
          },
          "name": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SafeName"
              },
              {
                "description": "<p>A name string associated with the ephemeris. Used as a human-readable identifier for the ephemeris.</p> <p>A name is only returned for customer-provider ephemerides that have a name associated.</p>"
              }
            ]
          },
          "source": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EphemerisSource"
              },
              {
                "description": "The <code>EphemerisSource</code> that generated a given ephemeris."
              }
            ]
          }
        },
        "description": "Metadata describing a particular ephemeris."
      },
      "EphemerisStatusList": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/EphemerisStatus"
        },
        "minItems": 0,
        "maxItems": 500
      },
      "FrequencyUnits": {
        "type": "string",
        "enum": [
          "GHz",
          "MHz",
          "kHz"
        ]
      },
      "Frequency": {
        "type": "object",
        "required": [
          "units",
          "value"
        ],
        "properties": {
          "units": {
            "allOf": [
              {
                "$ref": "#/components/schemas/FrequencyUnits"
              },
              {
                "description": "Frequency units."
              }
            ]
          },
          "value": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Double"
              },
              {
                "description": "Frequency value. Valid values are between 2200 to 2300 MHz and 7750 to 8400 MHz for downlink and 2025 to 2120 MHz for uplink."
              }
            ]
          }
        },
        "description": "Object that describes the frequency."
      },
      "FrequencyBandwidth": {
        "type": "object",
        "required": [
          "units",
          "value"
        ],
        "properties": {
          "units": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BandwidthUnits"
              },
              {
                "description": "Frequency bandwidth units."
              }
            ]
          },
          "value": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Double"
              },
              {
                "description": "<p>Frequency bandwidth value. AWS Ground Station currently has the following bandwidth limitations:</p> <ul> <li> <p>For <code>AntennaDownlinkDemodDecodeconfig</code>, valid values are between 125 kHz to 650 MHz.</p> </li> <li> <p>For <code>AntennaDownlinkconfig</code>, valid values are between 10 kHz to 54 MHz.</p> </li> <li> <p>For <code>AntennaUplinkConfig</code>, valid values are between 10 kHz to 54 MHz.</p> </li> </ul>"
              }
            ]
          }
        },
        "description": "Object that describes the frequency bandwidth. "
      },
      "GetAgentConfigurationRequest": {
        "type": "object",
        "title": "GetAgentConfigurationRequest",
        "properties": {}
      },
      "GetConfigRequest": {
        "type": "object",
        "title": "GetConfigRequest",
        "properties": {},
        "description": "<p/>"
      },
      "GetDataflowEndpointGroupRequest": {
        "type": "object",
        "title": "GetDataflowEndpointGroupRequest",
        "properties": {},
        "description": "<p/>"
      },
      "Month": {
        "type": "integer",
        "minimum": 1,
        "maximum": 12
      },
      "Year": {
        "type": "integer",
        "minimum": 2018,
        "maximum": 3000
      },
      "GetMinuteUsageRequest": {
        "type": "object",
        "required": [
          "month",
          "year"
        ],
        "title": "GetMinuteUsageRequest",
        "properties": {
          "month": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Month"
              },
              {
                "description": "The month being requested, with a value of 1-12."
              }
            ]
          },
          "year": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Year"
              },
              {
                "description": "The year being requested, in the format of YYYY."
              }
            ]
          }
        },
        "description": "<p/>"
      },
      "GetMissionProfileRequest": {
        "type": "object",
        "title": "GetMissionProfileRequest",
        "properties": {},
        "description": "<p/>"
      },
      "GetSatelliteRequest": {
        "type": "object",
        "title": "GetSatelliteRequest",
        "properties": {},
        "description": "<p/>"
      },
      "GroundStationIdList": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/GroundStationName"
        },
        "minItems": 0,
        "maxItems": 500
      },
      "noradSatelliteID": {
        "type": "integer",
        "minimum": 0,
        "maximum": 99999
      },
      "GroundStationName": {
        "type": "string",
        "pattern": "^[ a-zA-Z0-9-._:=]{4,256}$",
        "minLength": 4,
        "maxLength": 500
      },
      "GroundStationData": {
        "type": "object",
        "properties": {
          "groundStationId": {
            "allOf": [
              {
                "$ref": "#/components/schemas/GroundStationName"
              },
              {
                "description": "UUID of a ground station."
              }
            ]
          },
          "groundStationName": {
            "allOf": [
              {
                "$ref": "#/components/schemas/GroundStationName"
              },
              {
                "description": "Name of a ground station."
              }
            ]
          },
          "region": {
            "allOf": [
              {
                "$ref": "#/components/schemas/AWSRegion"
              },
              {
                "description": "Ground station Region."
              }
            ]
          }
        },
        "description": "Information about the ground station data."
      },
      "GroundStationList": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/GroundStationData"
        }
      },
      "IntegerRange": {
        "type": "object",
        "required": [
          "maximum",
          "minimum"
        ],
        "properties": {
          "maximum": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Integer"
              },
              {
                "description": "A maximum value."
              }
            ]
          },
          "minimum": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Integer"
              },
              {
                "description": "A minimum value."
              }
            ]
          }
        },
        "description": "An integer range that has a minimum and maximum value."
      },
      "IpV4Address": {
        "type": "string",
        "pattern": "^\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}$",
        "minLength": 7,
        "maxLength": 16
      },
      "PaginationMaxResults": {
        "type": "integer",
        "minimum": 0,
        "maximum": 100
      },
      "PaginationToken": {
        "type": "string",
        "pattern": "^[A-Za-z0-9-/+_.=]+$",
        "minLength": 3,
        "maxLength": 1000
      },
      "ListConfigsRequest": {
        "type": "object",
        "title": "ListConfigsRequest",
        "properties": {},
        "description": "<p/>"
      },
      "StatusList": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/ContactStatus"
        },
        "minItems": 0,
        "maxItems": 500
      },
      "ListContactsRequest": {
        "type": "object",
        "required": [
          "endTime",
          "startTime",
          "statusList"
        ],
        "title": "ListContactsRequest",
        "properties": {
          "endTime": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Timestamp"
              },
              {
                "description": "End time of a contact in UTC."
              }
            ]
          },
          "groundStation": {
            "allOf": [
              {
                "$ref": "#/components/schemas/GroundStationName"
              },
              {
                "description": "Name of a ground station."
              }
            ]
          },
          "maxResults": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PaginationMaxResults"
              },
              {
                "description": "Maximum number of contacts returned."
              }
            ]
          },
          "missionProfileArn": {
            "allOf": [
              {
                "$ref": "#/components/schemas/MissionProfileArn"
              },
              {
                "description": "ARN of a mission profile."
              }
            ]
          },
          "nextToken": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PaginationToken"
              },
              {
                "description": "Next token returned in the request of a previous <code>ListContacts</code> call. Used to get the next page of results."
              }
            ]
          },
          "satelliteArn": {
            "allOf": [
              {
                "$ref": "#/components/schemas/satelliteArn"
              },
              {
                "description": "ARN of a satellite."
              }
            ]
          },
          "startTime": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Timestamp"
              },
              {
                "description": "Start time of a contact in UTC."
              }
            ]
          },
          "statusList": {
            "allOf": [
              {
                "$ref": "#/components/schemas/StatusList"
              },
              {
                "description": "Status of a contact reservation."
              }
            ]
          }
        },
        "description": "<p/>"
      },
      "ListDataflowEndpointGroupsRequest": {
        "type": "object",
        "title": "ListDataflowEndpointGroupsRequest",
        "properties": {},
        "description": "<p/>"
      },
      "ListEphemeridesRequest": {
        "type": "object",
        "required": [
          "endTime",
          "satelliteId",
          "startTime"
        ],
        "title": "ListEphemeridesRequest",
        "properties": {
          "endTime": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Timestamp"
              },
              {
                "description": "The end time to list in UTC. The operation will return an ephemeris if its expiration time is within the time range defined by the <code>startTime</code> and <code>endTime</code>."
              }
            ]
          },
          "satelliteId": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Uuid"
              },
              {
                "description": "The AWS Ground Station satellite ID to list ephemeris for."
              }
            ]
          },
          "startTime": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Timestamp"
              },
              {
                "description": "The start time to list in UTC. The operation will return an ephemeris if its expiration time is within the time range defined by the <code>startTime</code> and <code>endTime</code>."
              }
            ]
          },
          "statusList": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EphemerisStatusList"
              },
              {
                "description": "The list of ephemeris status to return."
              }
            ]
          }
        }
      },
      "ListGroundStationsRequest": {
        "type": "object",
        "title": "ListGroundStationsRequest",
        "properties": {},
        "description": "<p/>"
      },
      "ListMissionProfilesRequest": {
        "type": "object",
        "title": "ListMissionProfilesRequest",
        "properties": {},
        "description": "<p/>"
      },
      "MissionProfileList": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/MissionProfileListItem"
        }
      },
      "ListSatellitesRequest": {
        "type": "object",
        "title": "ListSatellitesRequest",
        "properties": {},
        "description": "<p/>"
      },
      "SatelliteList": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/SatelliteListItem"
        }
      },
      "ListTagsForResourceRequest": {
        "type": "object",
        "title": "ListTagsForResourceRequest",
        "properties": {},
        "description": "<p/>"
      },
      "MissionProfileListItem": {
        "type": "object",
        "properties": {
          "missionProfileArn": {
            "allOf": [
              {
                "$ref": "#/components/schemas/MissionProfileArn"
              },
              {
                "description": "ARN of a mission profile."
              }
            ]
          },
          "missionProfileId": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Uuid"
              },
              {
                "description": "UUID of a mission profile."
              }
            ]
          },
          "name": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SafeName"
              },
              {
                "description": "Name of a mission profile."
              }
            ]
          },
          "region": {
            "allOf": [
              {
                "$ref": "#/components/schemas/AWSRegion"
              },
              {
                "description": "Region of a mission profile."
              }
            ]
          }
        },
        "description": "Item in a list of mission profiles."
      },
      "Polarization": {
        "type": "string",
        "enum": [
          "LEFT_HAND",
          "NONE",
          "RIGHT_HAND"
        ]
      },
      "RangedConnectionDetailsMtuInteger": {
        "type": "integer",
        "minimum": 1400,
        "maximum": 1500
      },
      "RangedSocketAddress": {
        "type": "object",
        "required": [
          "name",
          "portRange"
        ],
        "properties": {
          "name": {
            "allOf": [
              {
                "$ref": "#/components/schemas/IpV4Address"
              },
              {
                "description": "IPv4 socket address."
              }
            ]
          },
          "portRange": {
            "allOf": [
              {
                "$ref": "#/components/schemas/IntegerRange"
              },
              {
                "description": "Port range of a socket address."
              }
            ]
          }
        },
        "description": "A socket address with a port range."
      },
      "RegisterAgentRequest": {
        "type": "object",
        "required": [
          "agentDetails",
          "discoveryData"
        ],
        "title": "RegisterAgentRequest",
        "properties": {
          "agentDetails": {
            "allOf": [
              {
                "$ref": "#/components/schemas/AgentDetails"
              },
              {
                "description": "Detailed information about the agent being registered."
              }
            ]
          },
          "discoveryData": {
            "allOf": [
              {
                "$ref": "#/components/schemas/DiscoveryData"
              },
              {
                "description": "Data for associating an agent with the capabilities it is managing."
              }
            ]
          }
        }
      },
      "ReserveContactRequest": {
        "type": "object",
        "required": [
          "endTime",
          "groundStation",
          "missionProfileArn",
          "satelliteArn",
          "startTime"
        ],
        "title": "ReserveContactRequest",
        "properties": {
          "endTime": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Timestamp"
              },
              {
                "description": "End time of a contact in UTC."
              }
            ]
          },
          "groundStation": {
            "allOf": [
              {
                "$ref": "#/components/schemas/GroundStationName"
              },
              {
                "description": "Name of a ground station."
              }
            ]
          },
          "missionProfileArn": {
            "allOf": [
              {
                "$ref": "#/components/schemas/MissionProfileArn"
              },
              {
                "description": "ARN of a mission profile."
              }
            ]
          },
          "satelliteArn": {
            "allOf": [
              {
                "$ref": "#/components/schemas/satelliteArn"
              },
              {
                "description": "ARN of a satellite"
              }
            ]
          },
          "startTime": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Timestamp"
              },
              {
                "description": "Start time of a contact in UTC."
              }
            ]
          },
          "tags": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TagsMap"
              },
              {
                "description": "Tags assigned to a contact."
              }
            ]
          }
        },
        "description": "<p/>"
      },
      "S3BucketName": {
        "type": "string",
        "pattern": "^[a-z0-9.-]{3,63}$",
        "minLength": 3,
        "maxLength": 63
      },
      "S3KeyPrefix": {
        "type": "string",
        "pattern": "^([a-zA-Z0-9_\\-=/]|\\{satellite_id\\}|\\{config\\-name}|\\{s3\\-config-id}|\\{year\\}|\\{month\\}|\\{day\\}){1,900}$",
        "minLength": 1,
        "maxLength": 900
      },
      "S3ObjectKey": {
        "type": "string",
        "pattern": "^[a-zA-Z0-9!*'\\)\\(./_-]{1,1024}$",
        "minLength": 1,
        "maxLength": 1024
      },
      "S3VersionId": {
        "type": "string",
        "pattern": "^[\\s\\S]{1,1024}$",
        "minLength": 1,
        "maxLength": 1024
      },
      "SatelliteListItem": {
        "type": "object",
        "properties": {
          "currentEphemeris": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EphemerisMetaData"
              },
              {
                "description": "The current ephemeris being used to compute the trajectory of the satellite."
              }
            ]
          },
          "groundStations": {
            "allOf": [
              {
                "$ref": "#/components/schemas/GroundStationIdList"
              },
              {
                "description": "A list of ground stations to which the satellite is on-boarded."
              }
            ]
          },
          "noradSatelliteID": {
            "allOf": [
              {
                "$ref": "#/components/schemas/noradSatelliteID"
              },
              {
                "description": "NORAD satellite ID number."
              }
            ]
          },
          "satelliteArn": {
            "allOf": [
              {
                "$ref": "#/components/schemas/satelliteArn"
              },
              {
                "description": "ARN of a satellite."
              }
            ]
          },
          "satelliteId": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Uuid"
              },
              {
                "description": "UUID of a satellite."
              }
            ]
          }
        },
        "description": "Item in a list of satellites."
      },
      "SecurityGroupIdList": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/String"
        }
      },
      "SubnetList": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/String"
        }
      },
      "TleLineOne": {
        "type": "string",
        "pattern": "^1 [ 0-9]{5}[A-Z] [ 0-9]{5}[ A-Z]{3} [ 0-9]{5}[.][ 0-9]{8} (?:(?:[ 0+-][.][ 0-9]{8})|(?: [ +-][.][ 0-9]{7})) [ +-][ 0-9]{5}[+-][ 0-9] [ +-][ 0-9]{5}[+-][ 0-9] [ 0-9] [ 0-9]{4}[ 0-9]$",
        "minLength": 69,
        "maxLength": 69
      },
      "TleLineTwo": {
        "type": "string",
        "pattern": "^2 [ 0-9]{5} [ 0-9]{3}[.][ 0-9]{4} [ 0-9]{3}[.][ 0-9]{4} [ 0-9]{7} [ 0-9]{3}[.][ 0-9]{4} [ 0-9]{3}[.][ 0-9]{4} [ 0-9]{2}[.][ 0-9]{13}[ 0-9]$",
        "minLength": 69,
        "maxLength": 69
      },
      "TimeRange": {
        "type": "object",
        "required": [
          "endTime",
          "startTime"
        ],
        "properties": {
          "endTime": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Timestamp"
              },
              {
                "description": "Time in UTC at which the time range ends."
              }
            ]
          },
          "startTime": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Timestamp"
              },
              {
                "description": "Time in UTC at which the time range starts."
              }
            ]
          }
        },
        "description": "A time range with a start and end time."
      },
      "TLEData": {
        "type": "object",
        "required": [
          "tleLine1",
          "tleLine2",
          "validTimeRange"
        ],
        "properties": {
          "tleLine1": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TleLineOne"
              },
              {
                "description": "First line of two-line element set (TLE) data."
              }
            ]
          },
          "tleLine2": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TleLineTwo"
              },
              {
                "description": "Second line of two-line element set (TLE) data."
              }
            ]
          },
          "validTimeRange": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TimeRange"
              },
              {
                "description": "The valid time range for the TLE. Gaps or overlap are not permitted."
              }
            ]
          }
        },
        "description": "Two-line element set (TLE) data."
      },
      "TLEDataList": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/TLEData"
        },
        "minItems": 1,
        "maxItems": 500
      },
      "TagKeys": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/UnboundedString"
        },
        "minItems": 0,
        "maxItems": 500
      },
      "TagResourceRequest": {
        "type": "object",
        "required": [
          "tags"
        ],
        "title": "TagResourceRequest",
        "properties": {
          "tags": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TagsMap"
              },
              {
                "description": "Tags assigned to a resource."
              }
            ]
          }
        },
        "description": "<p/>"
      },
      "UntagResourceRequest": {
        "type": "object",
        "title": "UntagResourceRequest",
        "properties": {},
        "description": "<p/>"
      },
      "UpdateAgentStatusRequest": {
        "type": "object",
        "required": [
          "aggregateStatus",
          "componentStatuses",
          "taskId"
        ],
        "title": "UpdateAgentStatusRequest",
        "properties": {
          "aggregateStatus": {
            "allOf": [
              {
                "$ref": "#/components/schemas/AggregateStatus"
              },
              {
                "description": "Aggregate status for agent."
              }
            ]
          },
          "componentStatuses": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ComponentStatusList"
              },
              {
                "description": "List of component statuses for agent."
              }
            ]
          },
          "taskId": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Uuid"
              },
              {
                "description": "GUID of agent task."
              }
            ]
          }
        }
      },
      "UpdateConfigRequest": {
        "type": "object",
        "required": [
          "configData",
          "name"
        ],
        "title": "UpdateConfigRequest",
        "properties": {
          "configData": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ConfigTypeData"
              },
              {
                "description": "Parameters of a <code>Config</code>."
              }
            ]
          },
          "name": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SafeName"
              },
              {
                "description": "Name of a <code>Config</code>."
              }
            ]
          }
        },
        "description": "<p/>"
      },
      "UpdateEphemerisRequest": {
        "type": "object",
        "required": [
          "enabled"
        ],
        "title": "UpdateEphemerisRequest",
        "properties": {
          "enabled": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Boolean"
              },
              {
                "description": "Whether the ephemeris is enabled or not. Changing this value will not require the ephemeris to be re-validated."
              }
            ]
          },
          "name": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SafeName"
              },
              {
                "description": "A name string associated with the ephemeris. Used as a human-readable identifier for the ephemeris."
              }
            ]
          },
          "priority": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EphemerisPriority"
              },
              {
                "description": "<p>Customer-provided priority score to establish the order in which overlapping ephemerides should be used.</p> <p>The default for customer-provided ephemeris priority is 1, and higher numbers take precedence.</p> <p>Priority must be 1 or greater</p>"
              }
            ]
          }
        }
      },
      "UpdateMissionProfileRequest": {
        "type": "object",
        "title": "UpdateMissionProfileRequest",
        "properties": {
          "contactPostPassDurationSeconds": {
            "allOf": [
              {
                "$ref": "#/components/schemas/DurationInSeconds"
              },
              {
                "description": "Amount of time after a contact ends that you’d like to receive a CloudWatch event indicating the pass has finished."
              }
            ]
          },
          "contactPrePassDurationSeconds": {
            "allOf": [
              {
                "$ref": "#/components/schemas/DurationInSeconds"
              },
              {
                "description": "Amount of time after a contact ends that you’d like to receive a CloudWatch event indicating the pass has finished."
              }
            ]
          },
          "dataflowEdges": {
            "allOf": [
              {
                "$ref": "#/components/schemas/DataflowEdgeList"
              },
              {
                "description": "A list of lists of ARNs. Each list of ARNs is an edge, with a <i>from</i> <code>Config</code> and a <i>to</i> <code>Config</code>."
              }
            ]
          },
          "minimumViableContactDurationSeconds": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PositiveDurationInSeconds"
              },
              {
                "description": "Smallest amount of time in seconds that you’d like to see for an available contact. AWS Ground Station will not present you with contacts shorter than this duration."
              }
            ]
          },
          "name": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SafeName"
              },
              {
                "description": "Name of a mission profile."
              }
            ]
          },
          "streamsKmsKey": {
            "allOf": [
              {
                "$ref": "#/components/schemas/KmsKey"
              },
              {
                "description": "KMS key to use for encrypting streams."
              }
            ]
          },
          "streamsKmsRole": {
            "allOf": [
              {
                "$ref": "#/components/schemas/RoleArn"
              },
              {
                "description": "Role to use for encrypting streams with KMS key."
              }
            ]
          },
          "trackingConfigArn": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ConfigArn"
              },
              {
                "description": "ARN of a tracking <code>Config</code>."
              }
            ]
          }
        },
        "description": "<p/>"
      }
    }
  },
  "security": [
    {
      "hmac": []
    }
  ]
}