{
  "version": "2.0",
  "metadata": {
    "apiVersion": "2015-08-14",
    "endpointPrefix": "kinesisanalytics",
    "jsonVersion": "1.1",
    "protocol": "json",
    "serviceAbbreviation": "Kinesis Analytics",
    "serviceFullName": "Amazon Kinesis Analytics",
    "signatureVersion": "v4",
    "targetPrefix": "KinesisAnalytics_20150814",
    "timestampFormat": "unixTimestamp"
  },
  "operations": {
    "AddApplicationInput": {
      "input": {
        "type": "structure",
        "required": [
          "ApplicationName",
          "CurrentApplicationVersionId",
          "Input"
        ],
        "members": {
          "ApplicationName": {},
          "CurrentApplicationVersionId": {
            "type": "long"
          },
          "Input": {
            "shape": "S4"
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {}
      }
    },
    "AddApplicationOutput": {
      "input": {
        "type": "structure",
        "required": [
          "ApplicationName",
          "CurrentApplicationVersionId",
          "Output"
        ],
        "members": {
          "ApplicationName": {},
          "CurrentApplicationVersionId": {
            "type": "long"
          },
          "Output": {
            "shape": "St"
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {}
      }
    },
    "AddApplicationReferenceDataSource": {
      "input": {
        "type": "structure",
        "required": [
          "ApplicationName",
          "CurrentApplicationVersionId",
          "ReferenceDataSource"
        ],
        "members": {
          "ApplicationName": {},
          "CurrentApplicationVersionId": {
            "type": "long"
          },
          "ReferenceDataSource": {
            "type": "structure",
            "required": [
              "TableName",
              "ReferenceSchema"
            ],
            "members": {
              "TableName": {},
              "S3ReferenceDataSource": {
                "type": "structure",
                "required": [
                  "BucketARN",
                  "FileKey",
                  "ReferenceRoleARN"
                ],
                "members": {
                  "BucketARN": {},
                  "FileKey": {},
                  "ReferenceRoleARN": {}
                }
              },
              "ReferenceSchema": {
                "shape": "Sc"
              }
            }
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {}
      }
    },
    "CreateApplication": {
      "input": {
        "type": "structure",
        "required": [
          "ApplicationName"
        ],
        "members": {
          "ApplicationName": {},
          "ApplicationDescription": {},
          "Inputs": {
            "type": "list",
            "member": {
              "shape": "S4"
            }
          },
          "Outputs": {
            "type": "list",
            "member": {
              "shape": "St"
            }
          },
          "ApplicationCode": {}
        }
      },
      "output": {
        "type": "structure",
        "required": [
          "ApplicationSummary"
        ],
        "members": {
          "ApplicationSummary": {
            "shape": "S1b"
          }
        }
      }
    },
    "DeleteApplication": {
      "input": {
        "type": "structure",
        "required": [
          "ApplicationName",
          "CreateTimestamp"
        ],
        "members": {
          "ApplicationName": {},
          "CreateTimestamp": {
            "type": "timestamp"
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {}
      }
    },
    "DeleteApplicationOutput": {
      "input": {
        "type": "structure",
        "required": [
          "ApplicationName",
          "CurrentApplicationVersionId",
          "OutputId"
        ],
        "members": {
          "ApplicationName": {},
          "CurrentApplicationVersionId": {
            "type": "long"
          },
          "OutputId": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {}
      }
    },
    "DeleteApplicationReferenceDataSource": {
      "input": {
        "type": "structure",
        "required": [
          "ApplicationName",
          "CurrentApplicationVersionId",
          "ReferenceId"
        ],
        "members": {
          "ApplicationName": {},
          "CurrentApplicationVersionId": {
            "type": "long"
          },
          "ReferenceId": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {}
      }
    },
    "DescribeApplication": {
      "input": {
        "type": "structure",
        "required": [
          "ApplicationName"
        ],
        "members": {
          "ApplicationName": {}
        }
      },
      "output": {
        "type": "structure",
        "required": [
          "ApplicationDetail"
        ],
        "members": {
          "ApplicationDetail": {
            "type": "structure",
            "required": [
              "ApplicationName",
              "ApplicationARN",
              "ApplicationStatus",
              "ApplicationVersionId"
            ],
            "members": {
              "ApplicationName": {},
              "ApplicationDescription": {},
              "ApplicationARN": {},
              "ApplicationStatus": {},
              "CreateTimestamp": {
                "type": "timestamp"
              },
              "LastUpdateTimestamp": {
                "type": "timestamp"
              },
              "InputDescriptions": {
                "type": "list",
                "member": {
                  "type": "structure",
                  "members": {
                    "InputId": {},
                    "NamePrefix": {},
                    "InAppStreamNames": {
                      "type": "list",
                      "member": {}
                    },
                    "KinesisStreamsInputDescription": {
                      "type": "structure",
                      "members": {
                        "ResourceARN": {},
                        "RoleARN": {}
                      }
                    },
                    "KinesisFirehoseInputDescription": {
                      "type": "structure",
                      "members": {
                        "ResourceARN": {},
                        "RoleARN": {}
                      }
                    },
                    "InputSchema": {
                      "shape": "Sc"
                    },
                    "InputParallelism": {
                      "shape": "Sa"
                    },
                    "InputStartingPositionConfiguration": {
                      "shape": "S1t"
                    }
                  }
                }
              },
              "OutputDescriptions": {
                "type": "list",
                "member": {
                  "type": "structure",
                  "members": {
                    "OutputId": {},
                    "Name": {},
                    "KinesisStreamsOutputDescription": {
                      "type": "structure",
                      "members": {
                        "ResourceARN": {},
                        "RoleARN": {}
                      }
                    },
                    "KinesisFirehoseOutputDescription": {
                      "type": "structure",
                      "members": {
                        "ResourceARN": {},
                        "RoleARN": {}
                      }
                    },
                    "DestinationSchema": {
                      "shape": "Sw"
                    }
                  }
                }
              },
              "ReferenceDataSourceDescriptions": {
                "type": "list",
                "member": {
                  "type": "structure",
                  "required": [
                    "ReferenceId",
                    "TableName",
                    "S3ReferenceDataSourceDescription"
                  ],
                  "members": {
                    "ReferenceId": {},
                    "TableName": {},
                    "S3ReferenceDataSourceDescription": {
                      "type": "structure",
                      "required": [
                        "BucketARN",
                        "FileKey",
                        "ReferenceRoleARN"
                      ],
                      "members": {
                        "BucketARN": {},
                        "FileKey": {},
                        "ReferenceRoleARN": {}
                      }
                    },
                    "ReferenceSchema": {
                      "shape": "Sc"
                    }
                  }
                }
              },
              "ApplicationCode": {},
              "ApplicationVersionId": {
                "type": "long"
              }
            }
          }
        }
      }
    },
    "DiscoverInputSchema": {
      "input": {
        "type": "structure",
        "required": [
          "ResourceARN",
          "RoleARN",
          "InputStartingPositionConfiguration"
        ],
        "members": {
          "ResourceARN": {},
          "RoleARN": {},
          "InputStartingPositionConfiguration": {
            "shape": "S1t"
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "InputSchema": {
            "shape": "Sc"
          },
          "ParsedInputRecords": {
            "type": "list",
            "member": {
              "type": "list",
              "member": {}
            }
          },
          "RawInputRecords": {
            "type": "list",
            "member": {}
          }
        }
      }
    },
    "ListApplications": {
      "input": {
        "type": "structure",
        "members": {
          "Limit": {
            "type": "integer"
          },
          "ExclusiveStartApplicationName": {}
        }
      },
      "output": {
        "type": "structure",
        "required": [
          "ApplicationSummaries",
          "HasMoreApplications"
        ],
        "members": {
          "ApplicationSummaries": {
            "type": "list",
            "member": {
              "shape": "S1b"
            }
          },
          "HasMoreApplications": {
            "type": "boolean"
          }
        }
      }
    },
    "StartApplication": {
      "input": {
        "type": "structure",
        "required": [
          "ApplicationName",
          "InputConfigurations"
        ],
        "members": {
          "ApplicationName": {},
          "InputConfigurations": {
            "type": "list",
            "member": {
              "type": "structure",
              "required": [
                "Id",
                "InputStartingPositionConfiguration"
              ],
              "members": {
                "Id": {},
                "InputStartingPositionConfiguration": {
                  "shape": "S1t"
                }
              }
            }
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {}
      }
    },
    "StopApplication": {
      "input": {
        "type": "structure",
        "required": [
          "ApplicationName"
        ],
        "members": {
          "ApplicationName": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {}
      }
    },
    "UpdateApplication": {
      "input": {
        "type": "structure",
        "required": [
          "ApplicationName",
          "CurrentApplicationVersionId",
          "ApplicationUpdate"
        ],
        "members": {
          "ApplicationName": {},
          "CurrentApplicationVersionId": {
            "type": "long"
          },
          "ApplicationUpdate": {
            "type": "structure",
            "members": {
              "InputUpdates": {
                "type": "list",
                "member": {
                  "type": "structure",
                  "required": [
                    "InputId"
                  ],
                  "members": {
                    "InputId": {},
                    "NamePrefixUpdate": {},
                    "KinesisStreamsInputUpdate": {
                      "type": "structure",
                      "members": {
                        "ResourceARNUpdate": {},
                        "RoleARNUpdate": {}
                      }
                    },
                    "KinesisFirehoseInputUpdate": {
                      "type": "structure",
                      "members": {
                        "ResourceARNUpdate": {},
                        "RoleARNUpdate": {}
                      }
                    },
                    "InputSchemaUpdate": {
                      "type": "structure",
                      "members": {
                        "RecordFormatUpdate": {
                          "shape": "Sd"
                        },
                        "RecordEncodingUpdate": {},
                        "RecordColumnUpdates": {
                          "shape": "Sm"
                        }
                      }
                    },
                    "InputParallelismUpdate": {
                      "type": "structure",
                      "members": {
                        "CountUpdate": {
                          "type": "integer"
                        }
                      }
                    }
                  }
                }
              },
              "ApplicationCodeUpdate": {},
              "OutputUpdates": {
                "type": "list",
                "member": {
                  "type": "structure",
                  "required": [
                    "OutputId"
                  ],
                  "members": {
                    "OutputId": {},
                    "NameUpdate": {},
                    "KinesisStreamsOutputUpdate": {
                      "type": "structure",
                      "members": {
                        "ResourceARNUpdate": {},
                        "RoleARNUpdate": {}
                      }
                    },
                    "KinesisFirehoseOutputUpdate": {
                      "type": "structure",
                      "members": {
                        "ResourceARNUpdate": {},
                        "RoleARNUpdate": {}
                      }
                    },
                    "DestinationSchemaUpdate": {
                      "shape": "Sw"
                    }
                  }
                }
              },
              "ReferenceDataSourceUpdates": {
                "type": "list",
                "member": {
                  "type": "structure",
                  "required": [
                    "ReferenceId"
                  ],
                  "members": {
                    "ReferenceId": {},
                    "TableNameUpdate": {},
                    "S3ReferenceDataSourceUpdate": {
                      "type": "structure",
                      "members": {
                        "BucketARNUpdate": {},
                        "FileKeyUpdate": {},
                        "ReferenceRoleARNUpdate": {}
                      }
                    },
                    "ReferenceSchemaUpdate": {
                      "shape": "Sc"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {}
      }
    }
  },
  "shapes": {
    "S4": {
      "type": "structure",
      "required": [
        "NamePrefix",
        "InputSchema"
      ],
      "members": {
        "NamePrefix": {},
        "KinesisStreamsInput": {
          "type": "structure",
          "required": [
            "ResourceARN",
            "RoleARN"
          ],
          "members": {
            "ResourceARN": {},
            "RoleARN": {}
          }
        },
        "KinesisFirehoseInput": {
          "type": "structure",
          "required": [
            "ResourceARN",
            "RoleARN"
          ],
          "members": {
            "ResourceARN": {},
            "RoleARN": {}
          }
        },
        "InputParallelism": {
          "shape": "Sa"
        },
        "InputSchema": {
          "shape": "Sc"
        }
      }
    },
    "Sa": {
      "type": "structure",
      "members": {
        "Count": {
          "type": "integer"
        }
      }
    },
    "Sc": {
      "type": "structure",
      "required": [
        "RecordFormat",
        "RecordColumns"
      ],
      "members": {
        "RecordFormat": {
          "shape": "Sd"
        },
        "RecordEncoding": {},
        "RecordColumns": {
          "shape": "Sm"
        }
      }
    },
    "Sd": {
      "type": "structure",
      "required": [
        "RecordFormatType"
      ],
      "members": {
        "RecordFormatType": {},
        "MappingParameters": {
          "type": "structure",
          "members": {
            "JSONMappingParameters": {
              "type": "structure",
              "required": [
                "RecordRowPath"
              ],
              "members": {
                "RecordRowPath": {}
              }
            },
            "CSVMappingParameters": {
              "type": "structure",
              "required": [
                "RecordRowDelimiter",
                "RecordColumnDelimiter"
              ],
              "members": {
                "RecordRowDelimiter": {},
                "RecordColumnDelimiter": {}
              }
            }
          }
        }
      }
    },
    "Sm": {
      "type": "list",
      "member": {
        "type": "structure",
        "required": [
          "Name",
          "SqlType"
        ],
        "members": {
          "Name": {},
          "Mapping": {},
          "SqlType": {}
        }
      }
    },
    "St": {
      "type": "structure",
      "required": [
        "Name",
        "DestinationSchema"
      ],
      "members": {
        "Name": {},
        "KinesisStreamsOutput": {
          "type": "structure",
          "required": [
            "ResourceARN",
            "RoleARN"
          ],
          "members": {
            "ResourceARN": {},
            "RoleARN": {}
          }
        },
        "KinesisFirehoseOutput": {
          "type": "structure",
          "required": [
            "ResourceARN",
            "RoleARN"
          ],
          "members": {
            "ResourceARN": {},
            "RoleARN": {}
          }
        },
        "DestinationSchema": {
          "shape": "Sw"
        }
      }
    },
    "Sw": {
      "type": "structure",
      "members": {
        "RecordFormatType": {}
      }
    },
    "S1b": {
      "type": "structure",
      "required": [
        "ApplicationName",
        "ApplicationARN",
        "ApplicationStatus"
      ],
      "members": {
        "ApplicationName": {},
        "ApplicationARN": {},
        "ApplicationStatus": {}
      }
    },
    "S1t": {
      "type": "structure",
      "members": {
        "InputStartingPosition": {}
      }
    }
  }
}