@lap v0.3
# Machine-readable API spec. Each @endpoint block is one API call.
@api Amazon DynamoDB Accelerator (DAX)
@version 2017-04-19
@auth AWS SigV4
@endpoints 21
@hint download_for_search
@toc root(21)

@endpoint POST /
@required {ClusterName: str, NodeType: str, ReplicationFactor: int, IamRoleArn: str}
@optional {Description: str, AvailabilityZones: [str], SubnetGroupName: str, SecurityGroupIds: [str], PreferredMaintenanceWindow: str, NotificationTopicArn: str, ParameterGroupName: str, Tags: [Tag], SSESpecification: SSESpecification, ClusterEndpointEncryptionType: str}
@returns(200) {Cluster: Cluster?{ClusterName: str?, Description: str?, ClusterArn: str?, TotalNodes: int?, ActiveNodes: int?, NodeType: str?, Status: str?, ClusterDiscoveryEndpoint: Endpoint?{Address: str?, Port: int?, URL: str?}, NodeIdsToRemove: [str]?, Nodes: [Node]?, PreferredMaintenanceWindow: str?, NotificationConfiguration: NotificationConfiguration?{TopicArn: str?, TopicStatus: str?}, SubnetGroup: str?, SecurityGroups: [SecurityGroupMembership]?, IamRoleArn: str?, ParameterGroup: ParameterGroupStatus?{ParameterGroupName: str?, ParameterApplyStatus: str?, NodeIdsToReboot: [str]?}, SSEDescription: SSEDescription?{Status: str?}, ClusterEndpointEncryptionType: str?}}

@endpoint POST /
@required {ParameterGroupName: str}
@optional {Description: str}
@returns(200) {ParameterGroup: ParameterGroup?{ParameterGroupName: str?, Description: str?}}

@endpoint POST /
@required {SubnetGroupName: str, SubnetIds: [str]}
@optional {Description: str}
@returns(200) {SubnetGroup: SubnetGroup?{SubnetGroupName: str?, Description: str?, VpcId: str?, Subnets: [Subnet]?}}

@endpoint POST /
@required {ClusterName: str, NewReplicationFactor: int}
@optional {AvailabilityZones: [str], NodeIdsToRemove: [str]}
@returns(200) {Cluster: Cluster?{ClusterName: str?, Description: str?, ClusterArn: str?, TotalNodes: int?, ActiveNodes: int?, NodeType: str?, Status: str?, ClusterDiscoveryEndpoint: Endpoint?{Address: str?, Port: int?, URL: str?}, NodeIdsToRemove: [str]?, Nodes: [Node]?, PreferredMaintenanceWindow: str?, NotificationConfiguration: NotificationConfiguration?{TopicArn: str?, TopicStatus: str?}, SubnetGroup: str?, SecurityGroups: [SecurityGroupMembership]?, IamRoleArn: str?, ParameterGroup: ParameterGroupStatus?{ParameterGroupName: str?, ParameterApplyStatus: str?, NodeIdsToReboot: [str]?}, SSEDescription: SSEDescription?{Status: str?}, ClusterEndpointEncryptionType: str?}}

@endpoint POST /
@required {ClusterName: str}
@returns(200) {Cluster: Cluster?{ClusterName: str?, Description: str?, ClusterArn: str?, TotalNodes: int?, ActiveNodes: int?, NodeType: str?, Status: str?, ClusterDiscoveryEndpoint: Endpoint?{Address: str?, Port: int?, URL: str?}, NodeIdsToRemove: [str]?, Nodes: [Node]?, PreferredMaintenanceWindow: str?, NotificationConfiguration: NotificationConfiguration?{TopicArn: str?, TopicStatus: str?}, SubnetGroup: str?, SecurityGroups: [SecurityGroupMembership]?, IamRoleArn: str?, ParameterGroup: ParameterGroupStatus?{ParameterGroupName: str?, ParameterApplyStatus: str?, NodeIdsToReboot: [str]?}, SSEDescription: SSEDescription?{Status: str?}, ClusterEndpointEncryptionType: str?}}

@endpoint POST /
@required {ParameterGroupName: str}
@returns(200) {DeletionMessage: str?}

@endpoint POST /
@required {SubnetGroupName: str}
@returns(200) {DeletionMessage: str?}

@endpoint POST /
@optional {ClusterNames: [str], MaxResults: int, NextToken: str}
@returns(200) {NextToken: str?, Clusters: [Cluster]?}

@endpoint POST /
@optional {MaxResults: int, NextToken: str}
@returns(200) {NextToken: str?, Parameters: [Parameter]?}

@endpoint POST /
@optional {SourceName: str, SourceType: str, StartTime: str(timestamp), EndTime: str(timestamp), Duration: int, MaxResults: int, NextToken: str}
@returns(200) {NextToken: str?, Events: [Event]?}

@endpoint POST /
@optional {ParameterGroupNames: [str], MaxResults: int, NextToken: str}
@returns(200) {NextToken: str?, ParameterGroups: [ParameterGroup]?}

@endpoint POST /
@required {ParameterGroupName: str}
@optional {Source: str, MaxResults: int, NextToken: str}
@returns(200) {NextToken: str?, Parameters: [Parameter]?}

@endpoint POST /
@optional {SubnetGroupNames: [str], MaxResults: int, NextToken: str}
@returns(200) {NextToken: str?, SubnetGroups: [SubnetGroup]?}

@endpoint POST /
@required {ClusterName: str, NewReplicationFactor: int}
@optional {AvailabilityZones: [str]}
@returns(200) {Cluster: Cluster?{ClusterName: str?, Description: str?, ClusterArn: str?, TotalNodes: int?, ActiveNodes: int?, NodeType: str?, Status: str?, ClusterDiscoveryEndpoint: Endpoint?{Address: str?, Port: int?, URL: str?}, NodeIdsToRemove: [str]?, Nodes: [Node]?, PreferredMaintenanceWindow: str?, NotificationConfiguration: NotificationConfiguration?{TopicArn: str?, TopicStatus: str?}, SubnetGroup: str?, SecurityGroups: [SecurityGroupMembership]?, IamRoleArn: str?, ParameterGroup: ParameterGroupStatus?{ParameterGroupName: str?, ParameterApplyStatus: str?, NodeIdsToReboot: [str]?}, SSEDescription: SSEDescription?{Status: str?}, ClusterEndpointEncryptionType: str?}}

@endpoint POST /
@required {ResourceName: str}
@optional {NextToken: str}
@returns(200) {Tags: [Tag]?, NextToken: str?}

@endpoint POST /
@required {ClusterName: str, NodeId: str}
@returns(200) {Cluster: Cluster?{ClusterName: str?, Description: str?, ClusterArn: str?, TotalNodes: int?, ActiveNodes: int?, NodeType: str?, Status: str?, ClusterDiscoveryEndpoint: Endpoint?{Address: str?, Port: int?, URL: str?}, NodeIdsToRemove: [str]?, Nodes: [Node]?, PreferredMaintenanceWindow: str?, NotificationConfiguration: NotificationConfiguration?{TopicArn: str?, TopicStatus: str?}, SubnetGroup: str?, SecurityGroups: [SecurityGroupMembership]?, IamRoleArn: str?, ParameterGroup: ParameterGroupStatus?{ParameterGroupName: str?, ParameterApplyStatus: str?, NodeIdsToReboot: [str]?}, SSEDescription: SSEDescription?{Status: str?}, ClusterEndpointEncryptionType: str?}}

@endpoint POST /
@required {ResourceName: str, Tags: [Tag]}
@returns(200) {Tags: [Tag]?}

@endpoint POST /
@required {ResourceName: str, TagKeys: [str]}
@returns(200) {Tags: [Tag]?}

@endpoint POST /
@required {ClusterName: str}
@optional {Description: str, PreferredMaintenanceWindow: str, NotificationTopicArn: str, NotificationTopicStatus: str, ParameterGroupName: str, SecurityGroupIds: [str]}
@returns(200) {Cluster: Cluster?{ClusterName: str?, Description: str?, ClusterArn: str?, TotalNodes: int?, ActiveNodes: int?, NodeType: str?, Status: str?, ClusterDiscoveryEndpoint: Endpoint?{Address: str?, Port: int?, URL: str?}, NodeIdsToRemove: [str]?, Nodes: [Node]?, PreferredMaintenanceWindow: str?, NotificationConfiguration: NotificationConfiguration?{TopicArn: str?, TopicStatus: str?}, SubnetGroup: str?, SecurityGroups: [SecurityGroupMembership]?, IamRoleArn: str?, ParameterGroup: ParameterGroupStatus?{ParameterGroupName: str?, ParameterApplyStatus: str?, NodeIdsToReboot: [str]?}, SSEDescription: SSEDescription?{Status: str?}, ClusterEndpointEncryptionType: str?}}

@endpoint POST /
@required {ParameterGroupName: str, ParameterNameValues: [ParameterNameValue]}
@returns(200) {ParameterGroup: ParameterGroup?{ParameterGroupName: str?, Description: str?}}

@endpoint POST /
@required {SubnetGroupName: str}
@optional {Description: str, SubnetIds: [str]}
@returns(200) {SubnetGroup: SubnetGroup?{SubnetGroupName: str?, Description: str?, VpcId: str?, Subnets: [Subnet]?}}

@end
