{
  "version": "2.0",
  "metadata": {
    "apiVersion": "2018-05-10",
    "endpointPrefix": "controltower",
    "jsonVersion": "1.1",
    "protocol": "rest-json",
    "serviceFullName": "AWS Control Tower",
    "serviceId": "ControlTower",
    "signatureVersion": "v4",
    "signingName": "controltower",
    "uid": "controltower-2018-05-10"
  },
  "operations": {
    "CreateLandingZone": {
      "http": {
        "requestUri": "/create-landingzone",
        "responseCode": 200
      },
      "input": {
        "type": "structure",
        "required": [
          "manifest",
          "version"
        ],
        "members": {
          "manifest": {
            "shape": "S2"
          },
          "tags": {
            "shape": "S3"
          },
          "version": {}
        }
      },
      "output": {
        "type": "structure",
        "required": [
          "arn",
          "operationIdentifier"
        ],
        "members": {
          "arn": {},
          "operationIdentifier": {}
        }
      }
    },
    "DeleteLandingZone": {
      "http": {
        "requestUri": "/delete-landingzone",
        "responseCode": 200
      },
      "input": {
        "type": "structure",
        "required": [
          "landingZoneIdentifier"
        ],
        "members": {
          "landingZoneIdentifier": {}
        }
      },
      "output": {
        "type": "structure",
        "required": [
          "operationIdentifier"
        ],
        "members": {
          "operationIdentifier": {}
        }
      },
      "idempotent": true
    },
    "DisableControl": {
      "http": {
        "requestUri": "/disable-control",
        "responseCode": 200
      },
      "input": {
        "type": "structure",
        "required": [
          "controlIdentifier",
          "targetIdentifier"
        ],
        "members": {
          "controlIdentifier": {},
          "targetIdentifier": {}
        }
      },
      "output": {
        "type": "structure",
        "required": [
          "operationIdentifier"
        ],
        "members": {
          "operationIdentifier": {}
        }
      }
    },
    "EnableControl": {
      "http": {
        "requestUri": "/enable-control",
        "responseCode": 200
      },
      "input": {
        "type": "structure",
        "required": [
          "controlIdentifier",
          "targetIdentifier"
        ],
        "members": {
          "controlIdentifier": {},
          "parameters": {
            "shape": "Si"
          },
          "tags": {
            "shape": "S3"
          },
          "targetIdentifier": {}
        }
      },
      "output": {
        "type": "structure",
        "required": [
          "operationIdentifier"
        ],
        "members": {
          "arn": {},
          "operationIdentifier": {}
        }
      }
    },
    "GetControlOperation": {
      "http": {
        "requestUri": "/get-control-operation",
        "responseCode": 200
      },
      "input": {
        "type": "structure",
        "required": [
          "operationIdentifier"
        ],
        "members": {
          "operationIdentifier": {}
        }
      },
      "output": {
        "type": "structure",
        "required": [
          "controlOperation"
        ],
        "members": {
          "controlOperation": {
            "type": "structure",
            "members": {
              "endTime": {
                "shape": "Sp"
              },
              "operationType": {},
              "startTime": {
                "shape": "Sp"
              },
              "status": {},
              "statusMessage": {}
            }
          }
        }
      }
    },
    "GetEnabledControl": {
      "http": {
        "requestUri": "/get-enabled-control",
        "responseCode": 200
      },
      "input": {
        "type": "structure",
        "required": [
          "enabledControlIdentifier"
        ],
        "members": {
          "enabledControlIdentifier": {}
        }
      },
      "output": {
        "type": "structure",
        "required": [
          "enabledControlDetails"
        ],
        "members": {
          "enabledControlDetails": {
            "type": "structure",
            "members": {
              "arn": {},
              "controlIdentifier": {},
              "driftStatusSummary": {
                "shape": "Sv"
              },
              "parameters": {
                "type": "list",
                "member": {
                  "type": "structure",
                  "required": [
                    "key",
                    "value"
                  ],
                  "members": {
                    "key": {},
                    "value": {
                      "shape": "Sk"
                    }
                  }
                }
              },
              "statusSummary": {
                "shape": "Sz"
              },
              "targetIdentifier": {},
              "targetRegions": {
                "type": "list",
                "member": {
                  "type": "structure",
                  "members": {
                    "name": {}
                  }
                }
              }
            }
          }
        }
      }
    },
    "GetLandingZone": {
      "http": {
        "requestUri": "/get-landingzone",
        "responseCode": 200
      },
      "input": {
        "type": "structure",
        "required": [
          "landingZoneIdentifier"
        ],
        "members": {
          "landingZoneIdentifier": {}
        }
      },
      "output": {
        "type": "structure",
        "required": [
          "landingZone"
        ],
        "members": {
          "landingZone": {
            "type": "structure",
            "required": [
              "manifest",
              "version"
            ],
            "members": {
              "arn": {},
              "driftStatus": {
                "type": "structure",
                "members": {
                  "status": {}
                }
              },
              "latestAvailableVersion": {},
              "manifest": {
                "shape": "S2"
              },
              "status": {},
              "version": {}
            }
          }
        }
      }
    },
    "GetLandingZoneOperation": {
      "http": {
        "requestUri": "/get-landingzone-operation",
        "responseCode": 200
      },
      "input": {
        "type": "structure",
        "required": [
          "operationIdentifier"
        ],
        "members": {
          "operationIdentifier": {}
        }
      },
      "output": {
        "type": "structure",
        "required": [
          "operationDetails"
        ],
        "members": {
          "operationDetails": {
            "type": "structure",
            "members": {
              "endTime": {
                "shape": "S1d"
              },
              "operationType": {},
              "startTime": {
                "shape": "S1d"
              },
              "status": {},
              "statusMessage": {}
            }
          }
        }
      }
    },
    "ListEnabledControls": {
      "http": {
        "requestUri": "/list-enabled-controls",
        "responseCode": 200
      },
      "input": {
        "type": "structure",
        "required": [
          "targetIdentifier"
        ],
        "members": {
          "maxResults": {
            "type": "integer"
          },
          "nextToken": {},
          "targetIdentifier": {}
        }
      },
      "output": {
        "type": "structure",
        "required": [
          "enabledControls"
        ],
        "members": {
          "enabledControls": {
            "type": "list",
            "member": {
              "type": "structure",
              "members": {
                "arn": {},
                "controlIdentifier": {},
                "driftStatusSummary": {
                  "shape": "Sv"
                },
                "statusSummary": {
                  "shape": "Sz"
                },
                "targetIdentifier": {}
              }
            }
          },
          "nextToken": {}
        }
      }
    },
    "ListLandingZones": {
      "http": {
        "requestUri": "/list-landingzones",
        "responseCode": 200
      },
      "input": {
        "type": "structure",
        "members": {
          "maxResults": {
            "type": "integer"
          },
          "nextToken": {}
        }
      },
      "output": {
        "type": "structure",
        "required": [
          "landingZones"
        ],
        "members": {
          "landingZones": {
            "type": "list",
            "member": {
              "type": "structure",
              "members": {
                "arn": {}
              }
            }
          },
          "nextToken": {}
        }
      }
    },
    "ListTagsForResource": {
      "http": {
        "method": "GET",
        "requestUri": "/tags/{resourceArn}",
        "responseCode": 200
      },
      "input": {
        "type": "structure",
        "required": [
          "resourceArn"
        ],
        "members": {
          "resourceArn": {
            "location": "uri",
            "locationName": "resourceArn"
          }
        }
      },
      "output": {
        "type": "structure",
        "required": [
          "tags"
        ],
        "members": {
          "tags": {
            "shape": "S3"
          }
        }
      }
    },
    "ResetLandingZone": {
      "http": {
        "requestUri": "/reset-landingzone",
        "responseCode": 200
      },
      "input": {
        "type": "structure",
        "required": [
          "landingZoneIdentifier"
        ],
        "members": {
          "landingZoneIdentifier": {}
        }
      },
      "output": {
        "type": "structure",
        "required": [
          "operationIdentifier"
        ],
        "members": {
          "operationIdentifier": {}
        }
      }
    },
    "TagResource": {
      "http": {
        "requestUri": "/tags/{resourceArn}",
        "responseCode": 204
      },
      "input": {
        "type": "structure",
        "required": [
          "resourceArn",
          "tags"
        ],
        "members": {
          "resourceArn": {
            "location": "uri",
            "locationName": "resourceArn"
          },
          "tags": {
            "shape": "S3"
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {}
      }
    },
    "UntagResource": {
      "http": {
        "method": "DELETE",
        "requestUri": "/tags/{resourceArn}",
        "responseCode": 204
      },
      "input": {
        "type": "structure",
        "required": [
          "resourceArn",
          "tagKeys"
        ],
        "members": {
          "resourceArn": {
            "location": "uri",
            "locationName": "resourceArn"
          },
          "tagKeys": {
            "location": "querystring",
            "locationName": "tagKeys",
            "type": "list",
            "member": {}
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {}
      }
    },
    "UpdateEnabledControl": {
      "http": {
        "requestUri": "/update-enabled-control",
        "responseCode": 200
      },
      "input": {
        "type": "structure",
        "required": [
          "enabledControlIdentifier",
          "parameters"
        ],
        "members": {
          "enabledControlIdentifier": {},
          "parameters": {
            "shape": "Si"
          }
        }
      },
      "output": {
        "type": "structure",
        "required": [
          "operationIdentifier"
        ],
        "members": {
          "operationIdentifier": {}
        }
      }
    },
    "UpdateLandingZone": {
      "http": {
        "requestUri": "/update-landingzone",
        "responseCode": 200
      },
      "input": {
        "type": "structure",
        "required": [
          "landingZoneIdentifier",
          "manifest",
          "version"
        ],
        "members": {
          "landingZoneIdentifier": {},
          "manifest": {
            "shape": "S2"
          },
          "version": {}
        }
      },
      "output": {
        "type": "structure",
        "required": [
          "operationIdentifier"
        ],
        "members": {
          "operationIdentifier": {}
        }
      }
    }
  },
  "shapes": {
    "S2": {
      "type": "structure",
      "members": {},
      "document": true
    },
    "S3": {
      "type": "map",
      "key": {},
      "value": {}
    },
    "Si": {
      "type": "list",
      "member": {
        "type": "structure",
        "required": [
          "key",
          "value"
        ],
        "members": {
          "key": {},
          "value": {
            "shape": "Sk"
          }
        }
      }
    },
    "Sk": {
      "type": "structure",
      "members": {},
      "document": true
    },
    "Sp": {
      "type": "timestamp",
      "timestampFormat": "iso8601"
    },
    "Sv": {
      "type": "structure",
      "members": {
        "driftStatus": {}
      }
    },
    "Sz": {
      "type": "structure",
      "members": {
        "lastOperationIdentifier": {},
        "status": {}
      }
    },
    "S1d": {
      "type": "timestamp",
      "timestampFormat": "iso8601"
    }
  }
}