{
  "version": "2.0",
  "metadata": {
    "apiVersion": "2016-11-28",
    "endpointPrefix": "lightsail",
    "jsonVersion": "1.1",
    "protocol": "json",
    "serviceFullName": "Amazon Lightsail",
    "signatureVersion": "v4",
    "targetPrefix": "Lightsail_20161128",
    "uid": "lightsail-2016-11-28"
  },
  "operations": {
    "AllocateStaticIp": {
      "input": {
        "type": "structure",
        "required": [
          "staticIpName"
        ],
        "members": {
          "staticIpName": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "operations": {
            "shape": "S4"
          }
        }
      }
    },
    "AttachStaticIp": {
      "input": {
        "type": "structure",
        "required": [
          "staticIpName",
          "instanceName"
        ],
        "members": {
          "staticIpName": {},
          "instanceName": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "operations": {
            "shape": "S4"
          }
        }
      }
    },
    "CloseInstancePublicPorts": {
      "input": {
        "type": "structure",
        "required": [
          "portInfo",
          "instanceName"
        ],
        "members": {
          "portInfo": {
            "shape": "Si"
          },
          "instanceName": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "operation": {
            "shape": "S5"
          }
        }
      }
    },
    "CreateDomain": {
      "input": {
        "type": "structure",
        "required": [
          "domainName"
        ],
        "members": {
          "domainName": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "operation": {
            "shape": "S5"
          }
        }
      }
    },
    "CreateDomainEntry": {
      "input": {
        "type": "structure",
        "required": [
          "domainName",
          "domainEntry"
        ],
        "members": {
          "domainName": {},
          "domainEntry": {
            "shape": "Sq"
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "operation": {
            "shape": "S5"
          }
        }
      }
    },
    "CreateInstanceSnapshot": {
      "input": {
        "type": "structure",
        "required": [
          "instanceSnapshotName",
          "instanceName"
        ],
        "members": {
          "instanceSnapshotName": {},
          "instanceName": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "operations": {
            "shape": "S4"
          }
        }
      }
    },
    "CreateInstances": {
      "input": {
        "type": "structure",
        "required": [
          "instanceNames",
          "availabilityZone",
          "blueprintId",
          "bundleId"
        ],
        "members": {
          "instanceNames": {
            "shape": "Sy"
          },
          "availabilityZone": {},
          "customImageName": {
            "deprecated": true
          },
          "blueprintId": {},
          "bundleId": {},
          "userData": {},
          "keyPairName": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "operations": {
            "shape": "S4"
          }
        }
      }
    },
    "CreateInstancesFromSnapshot": {
      "input": {
        "type": "structure",
        "required": [
          "instanceNames",
          "availabilityZone",
          "instanceSnapshotName",
          "bundleId"
        ],
        "members": {
          "instanceNames": {
            "shape": "Sy"
          },
          "availabilityZone": {},
          "instanceSnapshotName": {},
          "bundleId": {},
          "userData": {},
          "keyPairName": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "operations": {
            "shape": "S4"
          }
        }
      }
    },
    "CreateKeyPair": {
      "input": {
        "type": "structure",
        "required": [
          "keyPairName"
        ],
        "members": {
          "keyPairName": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "keyPair": {
            "shape": "S14"
          },
          "publicKeyBase64": {},
          "privateKeyBase64": {},
          "operation": {
            "shape": "S5"
          }
        }
      }
    },
    "DeleteDomain": {
      "input": {
        "type": "structure",
        "required": [
          "domainName"
        ],
        "members": {
          "domainName": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "operation": {
            "shape": "S5"
          }
        }
      }
    },
    "DeleteDomainEntry": {
      "input": {
        "type": "structure",
        "required": [
          "domainName",
          "domainEntry"
        ],
        "members": {
          "domainName": {},
          "domainEntry": {
            "shape": "Sq"
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "operation": {
            "shape": "S5"
          }
        }
      }
    },
    "DeleteInstance": {
      "input": {
        "type": "structure",
        "required": [
          "instanceName"
        ],
        "members": {
          "instanceName": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "operations": {
            "shape": "S4"
          }
        }
      }
    },
    "DeleteInstanceSnapshot": {
      "input": {
        "type": "structure",
        "required": [
          "instanceSnapshotName"
        ],
        "members": {
          "instanceSnapshotName": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "operations": {
            "shape": "S4"
          }
        }
      }
    },
    "DeleteKeyPair": {
      "input": {
        "type": "structure",
        "required": [
          "keyPairName"
        ],
        "members": {
          "keyPairName": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "operation": {
            "shape": "S5"
          }
        }
      }
    },
    "DetachStaticIp": {
      "input": {
        "type": "structure",
        "required": [
          "staticIpName"
        ],
        "members": {
          "staticIpName": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "operations": {
            "shape": "S4"
          }
        }
      }
    },
    "DownloadDefaultKeyPair": {
      "input": {
        "type": "structure",
        "members": {}
      },
      "output": {
        "type": "structure",
        "members": {
          "publicKeyBase64": {},
          "privateKeyBase64": {}
        }
      }
    },
    "GetActiveNames": {
      "input": {
        "type": "structure",
        "members": {
          "pageToken": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "activeNames": {
            "shape": "Sy"
          },
          "nextPageToken": {}
        }
      }
    },
    "GetBlueprints": {
      "input": {
        "type": "structure",
        "members": {
          "includeInactive": {
            "type": "boolean"
          },
          "pageToken": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "blueprints": {
            "type": "list",
            "member": {
              "type": "structure",
              "members": {
                "blueprintId": {},
                "name": {},
                "group": {},
                "type": {},
                "description": {},
                "isActive": {
                  "type": "boolean"
                },
                "minPower": {
                  "type": "integer"
                },
                "version": {},
                "versionCode": {},
                "productUrl": {},
                "licenseUrl": {}
              }
            }
          },
          "nextPageToken": {}
        }
      }
    },
    "GetBundles": {
      "input": {
        "type": "structure",
        "members": {
          "includeInactive": {
            "type": "boolean"
          },
          "pageToken": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "bundles": {
            "type": "list",
            "member": {
              "type": "structure",
              "members": {
                "price": {
                  "type": "float"
                },
                "cpuCount": {
                  "type": "integer"
                },
                "diskSizeInGb": {
                  "type": "integer"
                },
                "bundleId": {},
                "instanceType": {},
                "isActive": {
                  "type": "boolean"
                },
                "name": {},
                "power": {
                  "type": "integer"
                },
                "ramSizeInGb": {
                  "type": "float"
                },
                "transferPerMonthInGb": {
                  "type": "integer"
                }
              }
            }
          },
          "nextPageToken": {}
        }
      }
    },
    "GetDomain": {
      "input": {
        "type": "structure",
        "required": [
          "domainName"
        ],
        "members": {
          "domainName": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "domain": {
            "shape": "S1z"
          }
        }
      }
    },
    "GetDomains": {
      "input": {
        "type": "structure",
        "members": {
          "pageToken": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "domains": {
            "type": "list",
            "member": {
              "shape": "S1z"
            }
          },
          "nextPageToken": {}
        }
      }
    },
    "GetInstance": {
      "input": {
        "type": "structure",
        "required": [
          "instanceName"
        ],
        "members": {
          "instanceName": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "instance": {
            "shape": "S26"
          }
        }
      }
    },
    "GetInstanceAccessDetails": {
      "input": {
        "type": "structure",
        "required": [
          "instanceName"
        ],
        "members": {
          "instanceName": {},
          "protocol": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "accessDetails": {
            "type": "structure",
            "members": {
              "certKey": {},
              "expiresAt": {
                "type": "timestamp"
              },
              "ipAddress": {},
              "password": {},
              "privateKey": {},
              "protocol": {},
              "instanceName": {},
              "username": {}
            }
          }
        }
      }
    },
    "GetInstanceMetricData": {
      "input": {
        "type": "structure",
        "required": [
          "instanceName",
          "metricName",
          "period",
          "startTime",
          "endTime",
          "unit",
          "statistics"
        ],
        "members": {
          "instanceName": {},
          "metricName": {},
          "period": {
            "type": "integer"
          },
          "startTime": {
            "type": "timestamp"
          },
          "endTime": {
            "type": "timestamp"
          },
          "unit": {},
          "statistics": {
            "type": "list",
            "member": {}
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "metricName": {},
          "metricData": {
            "type": "list",
            "member": {
              "type": "structure",
              "members": {
                "average": {
                  "type": "double"
                },
                "maximum": {
                  "type": "double"
                },
                "minimum": {
                  "type": "double"
                },
                "sampleCount": {
                  "type": "double"
                },
                "sum": {
                  "type": "double"
                },
                "timestamp": {
                  "type": "timestamp"
                },
                "unit": {}
              }
            }
          }
        }
      }
    },
    "GetInstancePortStates": {
      "input": {
        "type": "structure",
        "required": [
          "instanceName"
        ],
        "members": {
          "instanceName": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "portStates": {
            "type": "list",
            "member": {
              "type": "structure",
              "members": {
                "fromPort": {
                  "type": "integer"
                },
                "toPort": {
                  "type": "integer"
                },
                "protocol": {},
                "state": {}
              }
            }
          }
        }
      }
    },
    "GetInstanceSnapshot": {
      "input": {
        "type": "structure",
        "required": [
          "instanceSnapshotName"
        ],
        "members": {
          "instanceSnapshotName": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "instanceSnapshot": {
            "shape": "S35"
          }
        }
      }
    },
    "GetInstanceSnapshots": {
      "input": {
        "type": "structure",
        "members": {
          "pageToken": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "instanceSnapshots": {
            "type": "list",
            "member": {
              "shape": "S35"
            }
          },
          "nextPageToken": {}
        }
      }
    },
    "GetInstanceState": {
      "input": {
        "type": "structure",
        "required": [
          "instanceName"
        ],
        "members": {
          "instanceName": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "state": {
            "shape": "S2i"
          }
        }
      }
    },
    "GetInstances": {
      "input": {
        "type": "structure",
        "members": {
          "pageToken": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "instances": {
            "type": "list",
            "member": {
              "shape": "S26"
            }
          },
          "nextPageToken": {}
        }
      }
    },
    "GetKeyPair": {
      "input": {
        "type": "structure",
        "required": [
          "keyPairName"
        ],
        "members": {
          "keyPairName": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "keyPair": {
            "shape": "S14"
          }
        }
      }
    },
    "GetKeyPairs": {
      "input": {
        "type": "structure",
        "members": {
          "pageToken": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "keyPairs": {
            "type": "list",
            "member": {
              "shape": "S14"
            }
          },
          "nextPageToken": {}
        }
      }
    },
    "GetOperation": {
      "input": {
        "type": "structure",
        "required": [
          "operationId"
        ],
        "members": {
          "operationId": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "operation": {
            "shape": "S5"
          }
        }
      }
    },
    "GetOperations": {
      "input": {
        "type": "structure",
        "members": {
          "pageToken": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "operations": {
            "shape": "S4"
          },
          "nextPageToken": {}
        }
      }
    },
    "GetOperationsForResource": {
      "input": {
        "type": "structure",
        "required": [
          "resourceName"
        ],
        "members": {
          "resourceName": {},
          "pageToken": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "operations": {
            "shape": "S4"
          },
          "nextPageCount": {
            "deprecated": true
          },
          "nextPageToken": {}
        }
      }
    },
    "GetRegions": {
      "input": {
        "type": "structure",
        "members": {
          "includeAvailabilityZones": {
            "type": "boolean"
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "regions": {
            "type": "list",
            "member": {
              "type": "structure",
              "members": {
                "continentCode": {},
                "description": {},
                "displayName": {},
                "name": {},
                "availabilityZones": {
                  "type": "list",
                  "member": {
                    "type": "structure",
                    "members": {
                      "zoneName": {},
                      "state": {}
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "GetStaticIp": {
      "input": {
        "type": "structure",
        "required": [
          "staticIpName"
        ],
        "members": {
          "staticIpName": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "staticIp": {
            "shape": "S3y"
          }
        }
      }
    },
    "GetStaticIps": {
      "input": {
        "type": "structure",
        "members": {
          "pageToken": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "staticIps": {
            "type": "list",
            "member": {
              "shape": "S3y"
            }
          },
          "nextPageToken": {}
        }
      }
    },
    "ImportKeyPair": {
      "input": {
        "type": "structure",
        "required": [
          "keyPairName",
          "publicKeyBase64"
        ],
        "members": {
          "keyPairName": {},
          "publicKeyBase64": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "operation": {
            "shape": "S5"
          }
        }
      }
    },
    "IsVpcPeered": {
      "input": {
        "type": "structure",
        "members": {}
      },
      "output": {
        "type": "structure",
        "members": {
          "isPeered": {
            "type": "boolean"
          }
        }
      }
    },
    "OpenInstancePublicPorts": {
      "input": {
        "type": "structure",
        "required": [
          "portInfo",
          "instanceName"
        ],
        "members": {
          "portInfo": {
            "shape": "Si"
          },
          "instanceName": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "operation": {
            "shape": "S5"
          }
        }
      }
    },
    "PeerVpc": {
      "input": {
        "type": "structure",
        "members": {}
      },
      "output": {
        "type": "structure",
        "members": {
          "operation": {
            "shape": "S5"
          }
        }
      }
    },
    "PutInstancePublicPorts": {
      "input": {
        "type": "structure",
        "required": [
          "portInfos",
          "instanceName"
        ],
        "members": {
          "portInfos": {
            "type": "list",
            "member": {
              "shape": "Si"
            }
          },
          "instanceName": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "operation": {
            "shape": "S5"
          }
        }
      }
    },
    "RebootInstance": {
      "input": {
        "type": "structure",
        "required": [
          "instanceName"
        ],
        "members": {
          "instanceName": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "operations": {
            "shape": "S4"
          }
        }
      }
    },
    "ReleaseStaticIp": {
      "input": {
        "type": "structure",
        "required": [
          "staticIpName"
        ],
        "members": {
          "staticIpName": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "operations": {
            "shape": "S4"
          }
        }
      }
    },
    "StartInstance": {
      "input": {
        "type": "structure",
        "required": [
          "instanceName"
        ],
        "members": {
          "instanceName": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "operations": {
            "shape": "S4"
          }
        }
      }
    },
    "StopInstance": {
      "input": {
        "type": "structure",
        "required": [
          "instanceName"
        ],
        "members": {
          "instanceName": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "operations": {
            "shape": "S4"
          }
        }
      }
    },
    "UnpeerVpc": {
      "input": {
        "type": "structure",
        "members": {}
      },
      "output": {
        "type": "structure",
        "members": {
          "operation": {
            "shape": "S5"
          }
        }
      }
    },
    "UpdateDomainEntry": {
      "input": {
        "type": "structure",
        "required": [
          "domainName",
          "domainEntry"
        ],
        "members": {
          "domainName": {},
          "domainEntry": {
            "shape": "Sq"
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "operations": {
            "shape": "S4"
          }
        }
      }
    }
  },
  "shapes": {
    "S4": {
      "type": "list",
      "member": {
        "shape": "S5"
      }
    },
    "S5": {
      "type": "structure",
      "members": {
        "id": {},
        "resourceName": {},
        "resourceType": {},
        "createdAt": {
          "type": "timestamp"
        },
        "location": {
          "shape": "S9"
        },
        "isTerminal": {
          "type": "boolean"
        },
        "operationDetails": {},
        "operationType": {},
        "status": {},
        "statusChangedAt": {
          "type": "timestamp"
        },
        "errorCode": {},
        "errorDetails": {}
      }
    },
    "S9": {
      "type": "structure",
      "members": {
        "availabilityZone": {},
        "regionName": {}
      }
    },
    "Si": {
      "type": "structure",
      "members": {
        "fromPort": {
          "type": "integer"
        },
        "toPort": {
          "type": "integer"
        },
        "protocol": {}
      }
    },
    "Sq": {
      "type": "structure",
      "members": {
        "id": {},
        "name": {},
        "target": {},
        "type": {},
        "options": {
          "type": "map",
          "key": {},
          "value": {}
        }
      }
    },
    "Sy": {
      "type": "list",
      "member": {}
    },
    "S14": {
      "type": "structure",
      "members": {
        "name": {},
        "arn": {},
        "supportCode": {},
        "createdAt": {
          "type": "timestamp"
        },
        "location": {
          "shape": "S9"
        },
        "resourceType": {},
        "fingerprint": {}
      }
    },
    "S1z": {
      "type": "structure",
      "members": {
        "name": {},
        "arn": {},
        "supportCode": {},
        "createdAt": {
          "type": "timestamp"
        },
        "location": {
          "shape": "S9"
        },
        "resourceType": {},
        "domainEntries": {
          "type": "list",
          "member": {
            "shape": "Sq"
          }
        }
      }
    },
    "S26": {
      "type": "structure",
      "members": {
        "name": {},
        "arn": {},
        "supportCode": {},
        "createdAt": {
          "type": "timestamp"
        },
        "location": {
          "shape": "S9"
        },
        "resourceType": {},
        "blueprintId": {},
        "blueprintName": {},
        "bundleId": {},
        "isStaticIp": {
          "type": "boolean"
        },
        "privateIpAddress": {},
        "publicIpAddress": {},
        "ipv6Address": {},
        "hardware": {
          "type": "structure",
          "members": {
            "cpuCount": {
              "type": "integer"
            },
            "disks": {
              "type": "list",
              "member": {
                "type": "structure",
                "members": {
                  "name": {},
                  "arn": {},
                  "supportCode": {},
                  "createdAt": {
                    "type": "timestamp"
                  },
                  "location": {
                    "shape": "S9"
                  },
                  "resourceType": {},
                  "sizeInGb": {
                    "type": "integer"
                  },
                  "gbInUse": {
                    "type": "integer"
                  },
                  "isSystemDisk": {
                    "type": "boolean"
                  },
                  "iops": {
                    "type": "integer"
                  },
                  "path": {},
                  "attachedTo": {},
                  "isAttached": {
                    "type": "boolean"
                  },
                  "attachmentState": {}
                }
              }
            },
            "ramSizeInGb": {
              "type": "float"
            }
          }
        },
        "networking": {
          "type": "structure",
          "members": {
            "monthlyTransfer": {
              "type": "structure",
              "members": {
                "gbPerMonthAllocated": {
                  "type": "integer"
                }
              }
            },
            "ports": {
              "type": "list",
              "member": {
                "type": "structure",
                "members": {
                  "fromPort": {
                    "type": "integer"
                  },
                  "toPort": {
                    "type": "integer"
                  },
                  "protocol": {},
                  "accessFrom": {},
                  "accessType": {},
                  "commonName": {},
                  "accessDirection": {}
                }
              }
            }
          }
        },
        "state": {
          "shape": "S2i"
        },
        "username": {},
        "sshKeyName": {}
      }
    },
    "S2i": {
      "type": "structure",
      "members": {
        "code": {
          "type": "integer"
        },
        "name": {}
      }
    },
    "S35": {
      "type": "structure",
      "members": {
        "name": {},
        "arn": {},
        "supportCode": {},
        "createdAt": {
          "type": "timestamp"
        },
        "location": {
          "shape": "S9"
        },
        "resourceType": {},
        "state": {},
        "progress": {},
        "fromInstanceName": {},
        "fromInstanceArn": {},
        "fromBlueprintId": {},
        "fromBundleId": {},
        "sizeInGb": {
          "type": "integer"
        }
      }
    },
    "S3y": {
      "type": "structure",
      "members": {
        "name": {},
        "arn": {},
        "supportCode": {},
        "createdAt": {
          "type": "timestamp"
        },
        "location": {
          "shape": "S9"
        },
        "resourceType": {},
        "ipAddress": {},
        "attachedTo": {},
        "isAttached": {
          "type": "boolean"
        }
      }
    }
  }
}