{
  "version": "2.0",
  "metadata": {
    "apiVersion": "2018-08-08",
    "endpointPrefix": "globalaccelerator",
    "jsonVersion": "1.1",
    "protocol": "json",
    "serviceFullName": "AWS Global Accelerator",
    "serviceId": "Global Accelerator",
    "signatureVersion": "v4",
    "signingName": "globalaccelerator",
    "targetPrefix": "GlobalAccelerator_V20180706",
    "uid": "globalaccelerator-2018-08-08"
  },
  "operations": {
    "AdvertiseByoipCidr": {
      "input": {
        "type": "structure",
        "required": [
          "Cidr"
        ],
        "members": {
          "Cidr": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "ByoipCidr": {
            "shape": "S4"
          }
        }
      }
    },
    "CreateAccelerator": {
      "input": {
        "type": "structure",
        "required": [
          "Name",
          "IdempotencyToken"
        ],
        "members": {
          "Name": {},
          "IpAddressType": {},
          "IpAddresses": {
            "shape": "Sb"
          },
          "Enabled": {
            "type": "boolean"
          },
          "IdempotencyToken": {
            "idempotencyToken": true
          },
          "Tags": {
            "shape": "Sf"
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "Accelerator": {
            "shape": "Sk"
          }
        }
      }
    },
    "CreateEndpointGroup": {
      "input": {
        "type": "structure",
        "required": [
          "ListenerArn",
          "EndpointGroupRegion",
          "IdempotencyToken"
        ],
        "members": {
          "ListenerArn": {},
          "EndpointGroupRegion": {},
          "EndpointConfigurations": {
            "shape": "Sp"
          },
          "TrafficDialPercentage": {
            "type": "float"
          },
          "HealthCheckPort": {
            "type": "integer"
          },
          "HealthCheckProtocol": {},
          "HealthCheckPath": {},
          "HealthCheckIntervalSeconds": {
            "type": "integer"
          },
          "ThresholdCount": {
            "type": "integer"
          },
          "IdempotencyToken": {
            "idempotencyToken": true
          },
          "PortOverrides": {
            "shape": "Sx"
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "EndpointGroup": {
            "shape": "S11"
          }
        }
      }
    },
    "CreateListener": {
      "input": {
        "type": "structure",
        "required": [
          "AcceleratorArn",
          "PortRanges",
          "Protocol",
          "IdempotencyToken"
        ],
        "members": {
          "AcceleratorArn": {},
          "PortRanges": {
            "shape": "S16"
          },
          "Protocol": {},
          "ClientAffinity": {},
          "IdempotencyToken": {
            "idempotencyToken": true
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "Listener": {
            "shape": "S1b"
          }
        }
      }
    },
    "DeleteAccelerator": {
      "input": {
        "type": "structure",
        "required": [
          "AcceleratorArn"
        ],
        "members": {
          "AcceleratorArn": {}
        }
      }
    },
    "DeleteEndpointGroup": {
      "input": {
        "type": "structure",
        "required": [
          "EndpointGroupArn"
        ],
        "members": {
          "EndpointGroupArn": {}
        }
      }
    },
    "DeleteListener": {
      "input": {
        "type": "structure",
        "required": [
          "ListenerArn"
        ],
        "members": {
          "ListenerArn": {}
        }
      }
    },
    "DeprovisionByoipCidr": {
      "input": {
        "type": "structure",
        "required": [
          "Cidr"
        ],
        "members": {
          "Cidr": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "ByoipCidr": {
            "shape": "S4"
          }
        }
      }
    },
    "DescribeAccelerator": {
      "input": {
        "type": "structure",
        "required": [
          "AcceleratorArn"
        ],
        "members": {
          "AcceleratorArn": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "Accelerator": {
            "shape": "Sk"
          }
        }
      }
    },
    "DescribeAcceleratorAttributes": {
      "input": {
        "type": "structure",
        "required": [
          "AcceleratorArn"
        ],
        "members": {
          "AcceleratorArn": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "AcceleratorAttributes": {
            "shape": "S1l"
          }
        }
      }
    },
    "DescribeEndpointGroup": {
      "input": {
        "type": "structure",
        "required": [
          "EndpointGroupArn"
        ],
        "members": {
          "EndpointGroupArn": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "EndpointGroup": {
            "shape": "S11"
          }
        }
      }
    },
    "DescribeListener": {
      "input": {
        "type": "structure",
        "required": [
          "ListenerArn"
        ],
        "members": {
          "ListenerArn": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "Listener": {
            "shape": "S1b"
          }
        }
      }
    },
    "ListAccelerators": {
      "input": {
        "type": "structure",
        "members": {
          "MaxResults": {
            "type": "integer"
          },
          "NextToken": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "Accelerators": {
            "type": "list",
            "member": {
              "shape": "Sk"
            }
          },
          "NextToken": {}
        }
      }
    },
    "ListByoipCidrs": {
      "input": {
        "type": "structure",
        "members": {
          "MaxResults": {
            "type": "integer"
          },
          "NextToken": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "ByoipCidrs": {
            "type": "list",
            "member": {
              "shape": "S4"
            }
          },
          "NextToken": {}
        }
      }
    },
    "ListEndpointGroups": {
      "input": {
        "type": "structure",
        "required": [
          "ListenerArn"
        ],
        "members": {
          "ListenerArn": {},
          "MaxResults": {
            "type": "integer"
          },
          "NextToken": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "EndpointGroups": {
            "type": "list",
            "member": {
              "shape": "S11"
            }
          },
          "NextToken": {}
        }
      }
    },
    "ListListeners": {
      "input": {
        "type": "structure",
        "required": [
          "AcceleratorArn"
        ],
        "members": {
          "AcceleratorArn": {},
          "MaxResults": {
            "type": "integer"
          },
          "NextToken": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "Listeners": {
            "type": "list",
            "member": {
              "shape": "S1b"
            }
          },
          "NextToken": {}
        }
      }
    },
    "ListTagsForResource": {
      "input": {
        "type": "structure",
        "required": [
          "ResourceArn"
        ],
        "members": {
          "ResourceArn": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "Tags": {
            "shape": "Sf"
          }
        }
      }
    },
    "ProvisionByoipCidr": {
      "input": {
        "type": "structure",
        "required": [
          "Cidr",
          "CidrAuthorizationContext"
        ],
        "members": {
          "Cidr": {},
          "CidrAuthorizationContext": {
            "type": "structure",
            "required": [
              "Message",
              "Signature"
            ],
            "members": {
              "Message": {},
              "Signature": {}
            }
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "ByoipCidr": {
            "shape": "S4"
          }
        }
      }
    },
    "TagResource": {
      "input": {
        "type": "structure",
        "required": [
          "ResourceArn",
          "Tags"
        ],
        "members": {
          "ResourceArn": {},
          "Tags": {
            "shape": "Sf"
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {}
      }
    },
    "UntagResource": {
      "input": {
        "type": "structure",
        "required": [
          "ResourceArn",
          "TagKeys"
        ],
        "members": {
          "ResourceArn": {},
          "TagKeys": {
            "type": "list",
            "member": {}
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {}
      }
    },
    "UpdateAccelerator": {
      "input": {
        "type": "structure",
        "required": [
          "AcceleratorArn"
        ],
        "members": {
          "AcceleratorArn": {},
          "Name": {},
          "IpAddressType": {},
          "Enabled": {
            "type": "boolean"
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "Accelerator": {
            "shape": "Sk"
          }
        }
      }
    },
    "UpdateAcceleratorAttributes": {
      "input": {
        "type": "structure",
        "required": [
          "AcceleratorArn"
        ],
        "members": {
          "AcceleratorArn": {},
          "FlowLogsEnabled": {
            "type": "boolean"
          },
          "FlowLogsS3Bucket": {},
          "FlowLogsS3Prefix": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "AcceleratorAttributes": {
            "shape": "S1l"
          }
        }
      }
    },
    "UpdateEndpointGroup": {
      "input": {
        "type": "structure",
        "required": [
          "EndpointGroupArn"
        ],
        "members": {
          "EndpointGroupArn": {},
          "EndpointConfigurations": {
            "shape": "Sp"
          },
          "TrafficDialPercentage": {
            "type": "float"
          },
          "HealthCheckPort": {
            "type": "integer"
          },
          "HealthCheckProtocol": {},
          "HealthCheckPath": {},
          "HealthCheckIntervalSeconds": {
            "type": "integer"
          },
          "ThresholdCount": {
            "type": "integer"
          },
          "PortOverrides": {
            "shape": "Sx"
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "EndpointGroup": {
            "shape": "S11"
          }
        }
      }
    },
    "UpdateListener": {
      "input": {
        "type": "structure",
        "required": [
          "ListenerArn"
        ],
        "members": {
          "ListenerArn": {},
          "PortRanges": {
            "shape": "S16"
          },
          "Protocol": {},
          "ClientAffinity": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "Listener": {
            "shape": "S1b"
          }
        }
      }
    },
    "WithdrawByoipCidr": {
      "input": {
        "type": "structure",
        "required": [
          "Cidr"
        ],
        "members": {
          "Cidr": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "ByoipCidr": {
            "shape": "S4"
          }
        }
      }
    }
  },
  "shapes": {
    "S4": {
      "type": "structure",
      "members": {
        "Cidr": {},
        "State": {},
        "Events": {
          "type": "list",
          "member": {
            "type": "structure",
            "members": {
              "Message": {},
              "Timestamp": {
                "type": "timestamp"
              }
            }
          }
        }
      }
    },
    "Sb": {
      "type": "list",
      "member": {}
    },
    "Sf": {
      "type": "list",
      "member": {
        "type": "structure",
        "required": [
          "Key",
          "Value"
        ],
        "members": {
          "Key": {},
          "Value": {}
        }
      }
    },
    "Sk": {
      "type": "structure",
      "members": {
        "AcceleratorArn": {},
        "Name": {},
        "IpAddressType": {},
        "Enabled": {
          "type": "boolean"
        },
        "IpSets": {
          "type": "list",
          "member": {
            "type": "structure",
            "members": {
              "IpFamily": {},
              "IpAddresses": {
                "shape": "Sb"
              }
            }
          }
        },
        "DnsName": {},
        "Status": {},
        "CreatedTime": {
          "type": "timestamp"
        },
        "LastModifiedTime": {
          "type": "timestamp"
        }
      }
    },
    "Sp": {
      "type": "list",
      "member": {
        "type": "structure",
        "members": {
          "EndpointId": {},
          "Weight": {
            "type": "integer"
          },
          "ClientIPPreservationEnabled": {
            "type": "boolean"
          }
        }
      }
    },
    "Sx": {
      "type": "list",
      "member": {
        "type": "structure",
        "members": {
          "ListenerPort": {
            "type": "integer"
          },
          "EndpointPort": {
            "type": "integer"
          }
        }
      }
    },
    "S11": {
      "type": "structure",
      "members": {
        "EndpointGroupArn": {},
        "EndpointGroupRegion": {},
        "EndpointDescriptions": {
          "type": "list",
          "member": {
            "type": "structure",
            "members": {
              "EndpointId": {},
              "Weight": {
                "type": "integer"
              },
              "HealthState": {},
              "HealthReason": {},
              "ClientIPPreservationEnabled": {
                "type": "boolean"
              }
            }
          }
        },
        "TrafficDialPercentage": {
          "type": "float"
        },
        "HealthCheckPort": {
          "type": "integer"
        },
        "HealthCheckProtocol": {},
        "HealthCheckPath": {},
        "HealthCheckIntervalSeconds": {
          "type": "integer"
        },
        "ThresholdCount": {
          "type": "integer"
        },
        "PortOverrides": {
          "shape": "Sx"
        }
      }
    },
    "S16": {
      "type": "list",
      "member": {
        "type": "structure",
        "members": {
          "FromPort": {
            "type": "integer"
          },
          "ToPort": {
            "type": "integer"
          }
        }
      }
    },
    "S1b": {
      "type": "structure",
      "members": {
        "ListenerArn": {},
        "PortRanges": {
          "shape": "S16"
        },
        "Protocol": {},
        "ClientAffinity": {}
      }
    },
    "S1l": {
      "type": "structure",
      "members": {
        "FlowLogsEnabled": {
          "type": "boolean"
        },
        "FlowLogsS3Bucket": {},
        "FlowLogsS3Prefix": {}
      }
    }
  }
}