@lap v0.3
# Machine-readable API spec. Each @endpoint block is one API call.
@api Amazon CloudSearch
@version 2013-01-01
@auth AWS SigV4
@endpoints 26
@hint download_for_search
@toc root(26)

@endpoint POST /
@required {DomainName: str}
@returns(200) {FieldNames: [str]?}

@endpoint POST /
@required {DomainName: str}
@returns(200) {DomainStatus: DomainStatus?{DomainId: str, DomainName: str, ARN: str?, Created: bool?, Deleted: bool?, DocService: ServiceEndpoint?{Endpoint: str?}, SearchService: ServiceEndpoint?{Endpoint: str?}, RequiresIndexDocuments: bool, Processing: bool?, SearchInstanceType: str?, SearchPartitionCount: int?, SearchInstanceCount: int?, Limits: Limits?{MaximumReplicationCount: int, MaximumPartitionCount: int}}}

@endpoint POST /
@required {DomainName: str, AnalysisScheme: AnalysisScheme}
@returns(200) {AnalysisScheme: AnalysisSchemeStatus{Options: AnalysisScheme{AnalysisSchemeName: str, AnalysisSchemeLanguage: str, AnalysisOptions: AnalysisOptions?{Synonyms: str?, Stopwords: str?, StemmingDictionary: str?, JapaneseTokenizationDictionary: str?, AlgorithmicStemming: str?}}, Status: OptionStatus{CreationDate: str(timestamp), UpdateDate: str(timestamp), UpdateVersion: int?, State: str, PendingDeletion: bool?}}}

@endpoint POST /
@required {DomainName: str, Expression: Expression}
@returns(200) {Expression: ExpressionStatus{Options: Expression{ExpressionName: str, ExpressionValue: str}, Status: OptionStatus{CreationDate: str(timestamp), UpdateDate: str(timestamp), UpdateVersion: int?, State: str, PendingDeletion: bool?}}}

@endpoint POST /
@required {DomainName: str, IndexField: IndexField}
@returns(200) {IndexField: IndexFieldStatus{Options: IndexField{IndexFieldName: str, IndexFieldType: str, IntOptions: IntOptions?{DefaultValue: int(i64)?, SourceField: str?, FacetEnabled: bool?, SearchEnabled: bool?, ReturnEnabled: bool?, SortEnabled: bool?}, DoubleOptions: DoubleOptions?{DefaultValue: num(f64)?, SourceField: str?, FacetEnabled: bool?, SearchEnabled: bool?, ReturnEnabled: bool?, SortEnabled: bool?}, LiteralOptions: LiteralOptions?{DefaultValue: str?, SourceField: str?, FacetEnabled: bool?, SearchEnabled: bool?, ReturnEnabled: bool?, SortEnabled: bool?}, TextOptions: TextOptions?{DefaultValue: str?, SourceField: str?, ReturnEnabled: bool?, SortEnabled: bool?, HighlightEnabled: bool?, AnalysisScheme: str?}, DateOptions: DateOptions?{DefaultValue: str?, SourceField: str?, FacetEnabled: bool?, SearchEnabled: bool?, ReturnEnabled: bool?, SortEnabled: bool?}, LatLonOptions: LatLonOptions?{DefaultValue: str?, SourceField: str?, FacetEnabled: bool?, SearchEnabled: bool?, ReturnEnabled: bool?, SortEnabled: bool?}, IntArrayOptions: IntArrayOptions?{DefaultValue: int(i64)?, SourceFields: str?, FacetEnabled: bool?, SearchEnabled: bool?, ReturnEnabled: bool?}, DoubleArrayOptions: DoubleArrayOptions?{DefaultValue: num(f64)?, SourceFields: str?, FacetEnabled: bool?, SearchEnabled: bool?, ReturnEnabled: bool?}, LiteralArrayOptions: LiteralArrayOptions?{DefaultValue: str?, SourceFields: str?, FacetEnabled: bool?, SearchEnabled: bool?, ReturnEnabled: bool?}, TextArrayOptions: TextArrayOptions?{DefaultValue: str?, SourceFields: str?, ReturnEnabled: bool?, HighlightEnabled: bool?, AnalysisScheme: str?}, DateArrayOptions: DateArrayOptions?{DefaultValue: str?, SourceFields: str?, FacetEnabled: bool?, SearchEnabled: bool?, ReturnEnabled: bool?}}, Status: OptionStatus{CreationDate: str(timestamp), UpdateDate: str(timestamp), UpdateVersion: int?, State: str, PendingDeletion: bool?}}}

@endpoint POST /
@required {DomainName: str, Suggester: Suggester}
@returns(200) {Suggester: SuggesterStatus{Options: Suggester{SuggesterName: str, DocumentSuggesterOptions: DocumentSuggesterOptions{SourceField: str, FuzzyMatching: str?, SortExpression: str?}}, Status: OptionStatus{CreationDate: str(timestamp), UpdateDate: str(timestamp), UpdateVersion: int?, State: str, PendingDeletion: bool?}}}

@endpoint POST /
@required {DomainName: str, AnalysisSchemeName: str}
@returns(200) {AnalysisScheme: AnalysisSchemeStatus{Options: AnalysisScheme{AnalysisSchemeName: str, AnalysisSchemeLanguage: str, AnalysisOptions: AnalysisOptions?{Synonyms: str?, Stopwords: str?, StemmingDictionary: str?, JapaneseTokenizationDictionary: str?, AlgorithmicStemming: str?}}, Status: OptionStatus{CreationDate: str(timestamp), UpdateDate: str(timestamp), UpdateVersion: int?, State: str, PendingDeletion: bool?}}}

@endpoint POST /
@required {DomainName: str}
@returns(200) {DomainStatus: DomainStatus?{DomainId: str, DomainName: str, ARN: str?, Created: bool?, Deleted: bool?, DocService: ServiceEndpoint?{Endpoint: str?}, SearchService: ServiceEndpoint?{Endpoint: str?}, RequiresIndexDocuments: bool, Processing: bool?, SearchInstanceType: str?, SearchPartitionCount: int?, SearchInstanceCount: int?, Limits: Limits?{MaximumReplicationCount: int, MaximumPartitionCount: int}}}

@endpoint POST /
@required {DomainName: str, ExpressionName: str}
@returns(200) {Expression: ExpressionStatus{Options: Expression{ExpressionName: str, ExpressionValue: str}, Status: OptionStatus{CreationDate: str(timestamp), UpdateDate: str(timestamp), UpdateVersion: int?, State: str, PendingDeletion: bool?}}}

@endpoint POST /
@required {DomainName: str, IndexFieldName: str}
@returns(200) {IndexField: IndexFieldStatus{Options: IndexField{IndexFieldName: str, IndexFieldType: str, IntOptions: IntOptions?{DefaultValue: int(i64)?, SourceField: str?, FacetEnabled: bool?, SearchEnabled: bool?, ReturnEnabled: bool?, SortEnabled: bool?}, DoubleOptions: DoubleOptions?{DefaultValue: num(f64)?, SourceField: str?, FacetEnabled: bool?, SearchEnabled: bool?, ReturnEnabled: bool?, SortEnabled: bool?}, LiteralOptions: LiteralOptions?{DefaultValue: str?, SourceField: str?, FacetEnabled: bool?, SearchEnabled: bool?, ReturnEnabled: bool?, SortEnabled: bool?}, TextOptions: TextOptions?{DefaultValue: str?, SourceField: str?, ReturnEnabled: bool?, SortEnabled: bool?, HighlightEnabled: bool?, AnalysisScheme: str?}, DateOptions: DateOptions?{DefaultValue: str?, SourceField: str?, FacetEnabled: bool?, SearchEnabled: bool?, ReturnEnabled: bool?, SortEnabled: bool?}, LatLonOptions: LatLonOptions?{DefaultValue: str?, SourceField: str?, FacetEnabled: bool?, SearchEnabled: bool?, ReturnEnabled: bool?, SortEnabled: bool?}, IntArrayOptions: IntArrayOptions?{DefaultValue: int(i64)?, SourceFields: str?, FacetEnabled: bool?, SearchEnabled: bool?, ReturnEnabled: bool?}, DoubleArrayOptions: DoubleArrayOptions?{DefaultValue: num(f64)?, SourceFields: str?, FacetEnabled: bool?, SearchEnabled: bool?, ReturnEnabled: bool?}, LiteralArrayOptions: LiteralArrayOptions?{DefaultValue: str?, SourceFields: str?, FacetEnabled: bool?, SearchEnabled: bool?, ReturnEnabled: bool?}, TextArrayOptions: TextArrayOptions?{DefaultValue: str?, SourceFields: str?, ReturnEnabled: bool?, HighlightEnabled: bool?, AnalysisScheme: str?}, DateArrayOptions: DateArrayOptions?{DefaultValue: str?, SourceFields: str?, FacetEnabled: bool?, SearchEnabled: bool?, ReturnEnabled: bool?}}, Status: OptionStatus{CreationDate: str(timestamp), UpdateDate: str(timestamp), UpdateVersion: int?, State: str, PendingDeletion: bool?}}}

@endpoint POST /
@required {DomainName: str, SuggesterName: str}
@returns(200) {Suggester: SuggesterStatus{Options: Suggester{SuggesterName: str, DocumentSuggesterOptions: DocumentSuggesterOptions{SourceField: str, FuzzyMatching: str?, SortExpression: str?}}, Status: OptionStatus{CreationDate: str(timestamp), UpdateDate: str(timestamp), UpdateVersion: int?, State: str, PendingDeletion: bool?}}}

@endpoint POST /
@required {DomainName: str}
@optional {AnalysisSchemeNames: [str], Deployed: bool}
@returns(200) {AnalysisSchemes: [AnalysisSchemeStatus]}

@endpoint POST /
@required {DomainName: str}
@optional {Deployed: bool}
@returns(200) {AvailabilityOptions: AvailabilityOptionsStatus?{Options: bool, Status: OptionStatus{CreationDate: str(timestamp), UpdateDate: str(timestamp), UpdateVersion: int?, State: str, PendingDeletion: bool?}}}

@endpoint POST /
@required {DomainName: str}
@optional {Deployed: bool}
@returns(200) {DomainEndpointOptions: DomainEndpointOptionsStatus?{Options: DomainEndpointOptions{EnforceHTTPS: bool?, TLSSecurityPolicy: str?}, Status: OptionStatus{CreationDate: str(timestamp), UpdateDate: str(timestamp), UpdateVersion: int?, State: str, PendingDeletion: bool?}}}

@endpoint POST /
@optional {DomainNames: [str]}
@returns(200) {DomainStatusList: [DomainStatus]}

@endpoint POST /
@required {DomainName: str}
@optional {ExpressionNames: [str], Deployed: bool}
@returns(200) {Expressions: [ExpressionStatus]}

@endpoint POST /
@required {DomainName: str}
@optional {FieldNames: [str], Deployed: bool}
@returns(200) {IndexFields: [IndexFieldStatus]}

@endpoint POST /
@required {DomainName: str}
@returns(200) {ScalingParameters: ScalingParametersStatus{Options: ScalingParameters{DesiredInstanceType: str?, DesiredReplicationCount: int?, DesiredPartitionCount: int?}, Status: OptionStatus{CreationDate: str(timestamp), UpdateDate: str(timestamp), UpdateVersion: int?, State: str, PendingDeletion: bool?}}}

@endpoint POST /
@required {DomainName: str}
@optional {Deployed: bool}
@returns(200) {AccessPolicies: AccessPoliciesStatus{Options: str, Status: OptionStatus{CreationDate: str(timestamp), UpdateDate: str(timestamp), UpdateVersion: int?, State: str, PendingDeletion: bool?}}}

@endpoint POST /
@required {DomainName: str}
@optional {SuggesterNames: [str], Deployed: bool}
@returns(200) {Suggesters: [SuggesterStatus]}

@endpoint POST /
@required {DomainName: str}
@returns(200) {FieldNames: [str]?}

@endpoint POST /
@returns(200) {DomainNames: map<str,str>?}

@endpoint POST /
@required {DomainName: str, MultiAZ: bool}
@returns(200) {AvailabilityOptions: AvailabilityOptionsStatus?{Options: bool, Status: OptionStatus{CreationDate: str(timestamp), UpdateDate: str(timestamp), UpdateVersion: int?, State: str, PendingDeletion: bool?}}}

@endpoint POST /
@required {DomainName: str, DomainEndpointOptions: DomainEndpointOptions}
@returns(200) {DomainEndpointOptions: DomainEndpointOptionsStatus?{Options: DomainEndpointOptions{EnforceHTTPS: bool?, TLSSecurityPolicy: str?}, Status: OptionStatus{CreationDate: str(timestamp), UpdateDate: str(timestamp), UpdateVersion: int?, State: str, PendingDeletion: bool?}}}

@endpoint POST /
@required {DomainName: str, ScalingParameters: ScalingParameters}
@returns(200) {ScalingParameters: ScalingParametersStatus{Options: ScalingParameters{DesiredInstanceType: str?, DesiredReplicationCount: int?, DesiredPartitionCount: int?}, Status: OptionStatus{CreationDate: str(timestamp), UpdateDate: str(timestamp), UpdateVersion: int?, State: str, PendingDeletion: bool?}}}

@endpoint POST /
@required {DomainName: str, AccessPolicies: str}
@returns(200) {AccessPolicies: AccessPoliciesStatus{Options: str, Status: OptionStatus{CreationDate: str(timestamp), UpdateDate: str(timestamp), UpdateVersion: int?, State: str, PendingDeletion: bool?}}}

@end
