{
  "version": "2.0",
  "metadata": {
    "apiVersion": "2016-12-01",
    "endpointPrefix": "appstream2",
    "jsonVersion": "1.1",
    "protocol": "json",
    "serviceFullName": "Amazon AppStream",
    "signatureVersion": "v4",
    "signingName": "appstream",
    "targetPrefix": "PhotonAdminProxyService",
    "uid": "appstream-2016-12-01"
  },
  "operations": {
    "AssociateFleet": {
      "input": {
        "type": "structure",
        "required": [
          "FleetName",
          "StackName"
        ],
        "members": {
          "FleetName": {},
          "StackName": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {}
      }
    },
    "CreateFleet": {
      "input": {
        "type": "structure",
        "required": [
          "Name",
          "ImageName",
          "InstanceType",
          "ComputeCapacity"
        ],
        "members": {
          "Name": {},
          "ImageName": {},
          "InstanceType": {},
          "ComputeCapacity": {
            "shape": "S6"
          },
          "VpcConfig": {
            "shape": "S8"
          },
          "MaxUserDurationInSeconds": {
            "type": "integer"
          },
          "DisconnectTimeoutInSeconds": {
            "type": "integer"
          },
          "Description": {},
          "DisplayName": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "Fleet": {
            "shape": "Sd"
          }
        }
      }
    },
    "CreateStack": {
      "input": {
        "type": "structure",
        "required": [
          "Name"
        ],
        "members": {
          "Name": {},
          "Description": {},
          "DisplayName": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "Stack": {
            "shape": "Sn"
          }
        }
      }
    },
    "CreateStreamingURL": {
      "input": {
        "type": "structure",
        "required": [
          "StackName",
          "FleetName",
          "UserId"
        ],
        "members": {
          "StackName": {},
          "FleetName": {},
          "UserId": {},
          "ApplicationId": {},
          "Validity": {
            "type": "long"
          },
          "SessionContext": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "StreamingURL": {},
          "Expires": {
            "type": "timestamp"
          }
        }
      }
    },
    "DeleteFleet": {
      "input": {
        "type": "structure",
        "required": [
          "Name"
        ],
        "members": {
          "Name": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {}
      }
    },
    "DeleteStack": {
      "input": {
        "type": "structure",
        "required": [
          "Name"
        ],
        "members": {
          "Name": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {}
      }
    },
    "DescribeFleets": {
      "input": {
        "type": "structure",
        "members": {
          "Names": {
            "shape": "Sx"
          },
          "NextToken": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "Fleets": {
            "type": "list",
            "member": {
              "shape": "Sd"
            }
          },
          "NextToken": {}
        }
      }
    },
    "DescribeImages": {
      "input": {
        "type": "structure",
        "members": {
          "Names": {
            "shape": "Sx"
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "Images": {
            "type": "list",
            "member": {
              "type": "structure",
              "required": [
                "Name"
              ],
              "members": {
                "Name": {},
                "Arn": {},
                "BaseImageArn": {},
                "DisplayName": {},
                "State": {},
                "Visibility": {},
                "Platform": {},
                "Description": {},
                "StateChangeReason": {
                  "type": "structure",
                  "members": {
                    "Code": {},
                    "Message": {}
                  }
                },
                "Applications": {
                  "type": "list",
                  "member": {
                    "type": "structure",
                    "members": {
                      "Name": {},
                      "DisplayName": {},
                      "IconURL": {},
                      "LaunchPath": {},
                      "LaunchParameters": {},
                      "Enabled": {
                        "type": "boolean"
                      },
                      "Metadata": {
                        "type": "map",
                        "key": {},
                        "value": {}
                      }
                    }
                  }
                },
                "CreatedTime": {
                  "type": "timestamp"
                }
              }
            }
          }
        }
      }
    },
    "DescribeSessions": {
      "input": {
        "type": "structure",
        "required": [
          "StackName",
          "FleetName"
        ],
        "members": {
          "StackName": {},
          "FleetName": {},
          "UserId": {},
          "NextToken": {},
          "Limit": {
            "type": "integer"
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "Sessions": {
            "type": "list",
            "member": {
              "type": "structure",
              "required": [
                "Id",
                "UserId",
                "StackName",
                "FleetName",
                "State"
              ],
              "members": {
                "Id": {},
                "UserId": {},
                "StackName": {},
                "FleetName": {},
                "State": {}
              }
            }
          },
          "NextToken": {}
        }
      }
    },
    "DescribeStacks": {
      "input": {
        "type": "structure",
        "members": {
          "Names": {
            "shape": "Sx"
          },
          "NextToken": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "Stacks": {
            "type": "list",
            "member": {
              "shape": "Sn"
            }
          },
          "NextToken": {}
        }
      }
    },
    "DisassociateFleet": {
      "input": {
        "type": "structure",
        "required": [
          "FleetName",
          "StackName"
        ],
        "members": {
          "FleetName": {},
          "StackName": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {}
      }
    },
    "ExpireSession": {
      "input": {
        "type": "structure",
        "required": [
          "SessionId"
        ],
        "members": {
          "SessionId": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {}
      }
    },
    "ListAssociatedFleets": {
      "input": {
        "type": "structure",
        "required": [
          "StackName"
        ],
        "members": {
          "StackName": {},
          "NextToken": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "Names": {
            "shape": "Sx"
          },
          "NextToken": {}
        }
      }
    },
    "ListAssociatedStacks": {
      "input": {
        "type": "structure",
        "required": [
          "FleetName"
        ],
        "members": {
          "FleetName": {},
          "NextToken": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "Names": {
            "shape": "Sx"
          },
          "NextToken": {}
        }
      }
    },
    "StartFleet": {
      "input": {
        "type": "structure",
        "required": [
          "Name"
        ],
        "members": {
          "Name": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {}
      }
    },
    "StopFleet": {
      "input": {
        "type": "structure",
        "required": [
          "Name"
        ],
        "members": {
          "Name": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {}
      }
    },
    "UpdateFleet": {
      "input": {
        "type": "structure",
        "required": [
          "Name"
        ],
        "members": {
          "ImageName": {},
          "Name": {},
          "InstanceType": {},
          "ComputeCapacity": {
            "shape": "S6"
          },
          "VpcConfig": {
            "shape": "S8"
          },
          "MaxUserDurationInSeconds": {
            "type": "integer"
          },
          "DisconnectTimeoutInSeconds": {
            "type": "integer"
          },
          "DeleteVpcConfig": {
            "type": "boolean"
          },
          "Description": {},
          "DisplayName": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "Fleet": {
            "shape": "Sd"
          }
        }
      }
    },
    "UpdateStack": {
      "input": {
        "type": "structure",
        "required": [
          "Name"
        ],
        "members": {
          "DisplayName": {},
          "Description": {},
          "Name": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "Stack": {
            "shape": "Sn"
          }
        }
      }
    }
  },
  "shapes": {
    "S6": {
      "type": "structure",
      "required": [
        "DesiredInstances"
      ],
      "members": {
        "DesiredInstances": {
          "type": "integer"
        }
      }
    },
    "S8": {
      "type": "structure",
      "required": [
        "SubnetIds"
      ],
      "members": {
        "SubnetIds": {
          "type": "list",
          "member": {}
        }
      }
    },
    "Sd": {
      "type": "structure",
      "required": [
        "Arn",
        "Name",
        "ImageName",
        "InstanceType",
        "ComputeCapacityStatus",
        "State"
      ],
      "members": {
        "Arn": {},
        "Name": {},
        "DisplayName": {},
        "Description": {},
        "ImageName": {},
        "InstanceType": {},
        "ComputeCapacityStatus": {
          "type": "structure",
          "required": [
            "Desired"
          ],
          "members": {
            "Desired": {
              "type": "integer"
            },
            "Running": {
              "type": "integer"
            },
            "InUse": {
              "type": "integer"
            },
            "Available": {
              "type": "integer"
            }
          }
        },
        "MaxUserDurationInSeconds": {
          "type": "integer"
        },
        "DisconnectTimeoutInSeconds": {
          "type": "integer"
        },
        "State": {},
        "VpcConfig": {
          "shape": "S8"
        },
        "CreatedTime": {
          "type": "timestamp"
        },
        "FleetErrors": {
          "type": "list",
          "member": {
            "type": "structure",
            "members": {
              "ErrorCode": {},
              "ErrorMessage": {}
            }
          }
        }
      }
    },
    "Sn": {
      "type": "structure",
      "required": [
        "Name"
      ],
      "members": {
        "Arn": {},
        "Name": {},
        "Description": {},
        "DisplayName": {},
        "CreatedTime": {
          "type": "timestamp"
        }
      }
    },
    "Sx": {
      "type": "list",
      "member": {}
    }
  }
}