CLOUDSEARCH

BuildSuggesters

valid {
    input.Body.DomainName == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateDomain

valid {
    input.Body.DomainName == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DefineAnalysisScheme

enum_AlgorithmicStemming := [ "none", "minimal", "light", "full" ]
enum_AnalysisSchemeLanguage := [ "ar", "bg", "ca", "cs", "da", "de", "el", "en", "es", "eu", "fa", "fi", "fr", "ga", "gl", "he", "hi", "hu", "hy", "id", "it", "ja", "ko", "lv", "mul", "nl", "no", "pt", "ro", "ru", "sv", "th", "tr", "zh-Hans", "zh-Hant" ]

valid {
    input.Body.DomainName == STRING
    input.Body.AnalysisScheme.AnalysisSchemeName == STRING
    input.Body.AnalysisScheme.AnalysisSchemeLanguage == enum_AnalysisSchemeLanguage[_]
    input.Body.AnalysisScheme.AnalysisOptions.Synonyms == STRING
    input.Body.AnalysisScheme.AnalysisOptions.Stopwords == STRING
    input.Body.AnalysisScheme.AnalysisOptions.StemmingDictionary == STRING
    input.Body.AnalysisScheme.AnalysisOptions.JapaneseTokenizationDictionary == STRING
    input.Body.AnalysisScheme.AnalysisOptions.AlgorithmicStemming == enum_AlgorithmicStemming[_]
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DefineExpression

valid {
    input.Body.DomainName == STRING
    input.Body.Expression.ExpressionName == STRING
    input.Body.Expression.ExpressionValue == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DefineIndexField

enum_IndexFieldType := [ "int", "double", "literal", "text", "date", "latlon", "int-array", "double-array", "literal-array", "text-array", "date-array" ]

valid {
    input.Body.DomainName == STRING
    input.Body.IndexField.IndexFieldName == STRING
    input.Body.IndexField.IndexFieldType == enum_IndexFieldType[_]
    input.Body.IndexField.IntOptions.DefaultValue == LONG
    input.Body.IndexField.IntOptions.SourceField == STRING
    input.Body.IndexField.IntOptions.FacetEnabled == BOOLEAN
    input.Body.IndexField.IntOptions.SearchEnabled == BOOLEAN
    input.Body.IndexField.IntOptions.ReturnEnabled == BOOLEAN
    input.Body.IndexField.IntOptions.SortEnabled == BOOLEAN
    input.Body.IndexField.DoubleOptions.DefaultValue == DOUBLE
    input.Body.IndexField.DoubleOptions.SourceField == STRING
    input.Body.IndexField.DoubleOptions.FacetEnabled == BOOLEAN
    input.Body.IndexField.DoubleOptions.SearchEnabled == BOOLEAN
    input.Body.IndexField.DoubleOptions.ReturnEnabled == BOOLEAN
    input.Body.IndexField.DoubleOptions.SortEnabled == BOOLEAN
    input.Body.IndexField.LiteralOptions.DefaultValue == STRING
    input.Body.IndexField.LiteralOptions.SourceField == STRING
    input.Body.IndexField.LiteralOptions.FacetEnabled == BOOLEAN
    input.Body.IndexField.LiteralOptions.SearchEnabled == BOOLEAN
    input.Body.IndexField.LiteralOptions.ReturnEnabled == BOOLEAN
    input.Body.IndexField.LiteralOptions.SortEnabled == BOOLEAN
    input.Body.IndexField.TextOptions.DefaultValue == STRING
    input.Body.IndexField.TextOptions.SourceField == STRING
    input.Body.IndexField.TextOptions.ReturnEnabled == BOOLEAN
    input.Body.IndexField.TextOptions.SortEnabled == BOOLEAN
    input.Body.IndexField.TextOptions.HighlightEnabled == BOOLEAN
    input.Body.IndexField.TextOptions.AnalysisScheme == STRING
    input.Body.IndexField.DateOptions.DefaultValue == STRING
    input.Body.IndexField.DateOptions.SourceField == STRING
    input.Body.IndexField.DateOptions.FacetEnabled == BOOLEAN
    input.Body.IndexField.DateOptions.SearchEnabled == BOOLEAN
    input.Body.IndexField.DateOptions.ReturnEnabled == BOOLEAN
    input.Body.IndexField.DateOptions.SortEnabled == BOOLEAN
    input.Body.IndexField.LatLonOptions.DefaultValue == STRING
    input.Body.IndexField.LatLonOptions.SourceField == STRING
    input.Body.IndexField.LatLonOptions.FacetEnabled == BOOLEAN
    input.Body.IndexField.LatLonOptions.SearchEnabled == BOOLEAN
    input.Body.IndexField.LatLonOptions.ReturnEnabled == BOOLEAN
    input.Body.IndexField.LatLonOptions.SortEnabled == BOOLEAN
    input.Body.IndexField.IntArrayOptions.DefaultValue == LONG
    input.Body.IndexField.IntArrayOptions.SourceFields == STRING
    input.Body.IndexField.IntArrayOptions.FacetEnabled == BOOLEAN
    input.Body.IndexField.IntArrayOptions.SearchEnabled == BOOLEAN
    input.Body.IndexField.IntArrayOptions.ReturnEnabled == BOOLEAN
    input.Body.IndexField.DoubleArrayOptions.DefaultValue == DOUBLE
    input.Body.IndexField.DoubleArrayOptions.SourceFields == STRING
    input.Body.IndexField.DoubleArrayOptions.FacetEnabled == BOOLEAN
    input.Body.IndexField.DoubleArrayOptions.SearchEnabled == BOOLEAN
    input.Body.IndexField.DoubleArrayOptions.ReturnEnabled == BOOLEAN
    input.Body.IndexField.LiteralArrayOptions.DefaultValue == STRING
    input.Body.IndexField.LiteralArrayOptions.SourceFields == STRING
    input.Body.IndexField.LiteralArrayOptions.FacetEnabled == BOOLEAN
    input.Body.IndexField.LiteralArrayOptions.SearchEnabled == BOOLEAN
    input.Body.IndexField.LiteralArrayOptions.ReturnEnabled == BOOLEAN
    input.Body.IndexField.TextArrayOptions.DefaultValue == STRING
    input.Body.IndexField.TextArrayOptions.SourceFields == STRING
    input.Body.IndexField.TextArrayOptions.ReturnEnabled == BOOLEAN
    input.Body.IndexField.TextArrayOptions.HighlightEnabled == BOOLEAN
    input.Body.IndexField.TextArrayOptions.AnalysisScheme == STRING
    input.Body.IndexField.DateArrayOptions.DefaultValue == STRING
    input.Body.IndexField.DateArrayOptions.SourceFields == STRING
    input.Body.IndexField.DateArrayOptions.FacetEnabled == BOOLEAN
    input.Body.IndexField.DateArrayOptions.SearchEnabled == BOOLEAN
    input.Body.IndexField.DateArrayOptions.ReturnEnabled == BOOLEAN
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DefineSuggester

enum_SuggesterFuzzyMatching := [ "none", "low", "high" ]

valid {
    input.Body.DomainName == STRING
    input.Body.Suggester.SuggesterName == STRING
    input.Body.Suggester.DocumentSuggesterOptions.SourceField == STRING
    input.Body.Suggester.DocumentSuggesterOptions.FuzzyMatching == enum_SuggesterFuzzyMatching[_]
    input.Body.Suggester.DocumentSuggesterOptions.SortExpression == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DeleteAnalysisScheme

valid {
    input.Body.DomainName == STRING
    input.Body.AnalysisSchemeName == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DeleteDomain

valid {
    input.Body.DomainName == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DeleteExpression

valid {
    input.Body.DomainName == STRING
    input.Body.ExpressionName == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DeleteIndexField

valid {
    input.Body.DomainName == STRING
    input.Body.IndexFieldName == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DeleteSuggester

valid {
    input.Body.DomainName == STRING
    input.Body.SuggesterName == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DescribeAnalysisSchemes

valid {
    input.Body.DomainName == STRING
    input.Body.AnalysisSchemeNames[_] == STRING
    input.Body.Deployed == BOOLEAN
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DescribeAvailabilityOptions

valid {
    input.Body.DomainName == STRING
    input.Body.Deployed == BOOLEAN
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DescribeDomainEndpointOptions

valid {
    input.Body.DomainName == STRING
    input.Body.Deployed == BOOLEAN
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DescribeDomains

valid {
    input.Body.DomainNames[_] == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DescribeExpressions

valid {
    input.Body.DomainName == STRING
    input.Body.ExpressionNames[_] == STRING
    input.Body.Deployed == BOOLEAN
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DescribeIndexFields

valid {
    input.Body.DomainName == STRING
    input.Body.FieldNames[_] == STRING
    input.Body.Deployed == BOOLEAN
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DescribeScalingParameters

valid {
    input.Body.DomainName == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DescribeServiceAccessPolicies

valid {
    input.Body.DomainName == STRING
    input.Body.Deployed == BOOLEAN
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DescribeSuggesters

valid {
    input.Body.DomainName == STRING
    input.Body.SuggesterNames[_] == STRING
    input.Body.Deployed == BOOLEAN
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

IndexDocuments

valid {
    input.Body.DomainName == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListDomainNames

valid {
    input.Body.DomainName == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UpdateAvailabilityOptions

valid {
    input.Body.DomainName == STRING
    input.Body.MultiAZ == BOOLEAN
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UpdateDomainEndpointOptions

enum_TLSSecurityPolicy := [ "Policy-Min-TLS-1-0-2019-07", "Policy-Min-TLS-1-2-2019-07" ]

valid {
    input.Body.DomainName == STRING
    input.Body.DomainEndpointOptions.EnforceHTTPS == BOOLEAN
    input.Body.DomainEndpointOptions.TLSSecurityPolicy == enum_TLSSecurityPolicy[_]
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UpdateScalingParameters

enum_PartitionInstanceType := [ "search.m1.small", "search.m1.large", "search.m2.xlarge", "search.m2.2xlarge", "search.m3.medium", "search.m3.large", "search.m3.xlarge", "search.m3.2xlarge", "search.small", "search.medium", "search.large", "search.xlarge", "search.2xlarge", "search.previousgeneration.small", "search.previousgeneration.large", "search.previousgeneration.xlarge", "search.previousgeneration.2xlarge" ]

valid {
    input.Body.DomainName == STRING
    input.Body.ScalingParameters.DesiredInstanceType == enum_PartitionInstanceType[_]
    input.Body.ScalingParameters.DesiredReplicationCount == INTEGER
    input.Body.ScalingParameters.DesiredPartitionCount == INTEGER
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UpdateServiceAccessPolicies

valid {
    input.Body.DomainName == STRING
    input.Body.AccessPolicies == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}