QUICKSIGHT

CancelIngestion

valid {
    input.ReqMap.AwsAccountId == STRING
    input.ReqMap.DataSetId == STRING
    input.ReqMap.IngestionId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateAccountCustomization

valid {
    input.Body.AccountCustomization.DefaultTheme == STRING
    input.Body.AccountCustomization.DefaultEmailCustomizationTemplate == STRING
    input.Body.Tags[_].Key == STRING
    input.Body.Tags[_].Value == STRING
    input.ReqMap.AwsAccountId == STRING
    input.Qs.namespace == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateAccountSubscription

enum_AuthenticationMethodOption := [ "IAM_AND_QUICKSIGHT", "IAM_ONLY", "ACTIVE_DIRECTORY" ]
enum_Edition := [ "STANDARD", "ENTERPRISE", "ENTERPRISE_AND_Q" ]

valid {
    input.Body.Edition == enum_Edition[_]
    input.Body.AuthenticationMethod == enum_AuthenticationMethodOption[_]
    input.Body.AccountName == STRING
    input.Body.NotificationEmail == STRING
    input.Body.ActiveDirectoryName == STRING
    input.Body.Realm == STRING
    input.Body.DirectoryId == STRING
    input.Body.AdminGroup[_] == STRING
    input.Body.AuthorGroup[_] == STRING
    input.Body.ReaderGroup[_] == STRING
    input.Body.FirstName == STRING
    input.Body.LastName == STRING
    input.Body.EmailAddress == STRING
    input.Body.ContactNumber == STRING
    input.ReqMap.AwsAccountId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateAnalysis

valid {
    input.Body.Name == STRING
    input.Body.Parameters.StringParameters[_].Name == STRING
    input.Body.Parameters.StringParameters[_].Values[_] == STRING
    input.Body.Parameters.IntegerParameters[_].Name == STRING
    input.Body.Parameters.IntegerParameters[_].Values[_] == LONG
    input.Body.Parameters.DecimalParameters[_].Name == STRING
    input.Body.Parameters.DecimalParameters[_].Values[_] == DOUBLE
    input.Body.Parameters.DateTimeParameters[_].Name == STRING
    input.Body.Parameters.DateTimeParameters[_].Values[_] == TIMESTAMP
    input.Body.Permissions[_].Principal == STRING
    input.Body.Permissions[_].Actions[_] == STRING
    input.Body.SourceEntity.SourceTemplate.DataSetReferences[_].DataSetPlaceholder == STRING
    input.Body.SourceEntity.SourceTemplate.DataSetReferences[_].DataSetArn == STRING
    input.Body.SourceEntity.SourceTemplate.Arn == STRING
    input.Body.ThemeArn == STRING
    input.Body.Tags[_].Key == STRING
    input.Body.Tags[_].Value == STRING
    input.ReqMap.AwsAccountId == STRING
    input.ReqMap.AnalysisId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateDashboard

enum_DashboardBehavior := [ "ENABLED", "DISABLED" ]
enum_DashboardUIState := [ "EXPANDED", "COLLAPSED" ]

valid {
    input.Body.Name == STRING
    input.Body.Parameters.StringParameters[_].Name == STRING
    input.Body.Parameters.StringParameters[_].Values[_] == STRING
    input.Body.Parameters.IntegerParameters[_].Name == STRING
    input.Body.Parameters.IntegerParameters[_].Values[_] == LONG
    input.Body.Parameters.DecimalParameters[_].Name == STRING
    input.Body.Parameters.DecimalParameters[_].Values[_] == DOUBLE
    input.Body.Parameters.DateTimeParameters[_].Name == STRING
    input.Body.Parameters.DateTimeParameters[_].Values[_] == TIMESTAMP
    input.Body.Permissions[_].Principal == STRING
    input.Body.Permissions[_].Actions[_] == STRING
    input.Body.SourceEntity.SourceTemplate.DataSetReferences[_].DataSetPlaceholder == STRING
    input.Body.SourceEntity.SourceTemplate.DataSetReferences[_].DataSetArn == STRING
    input.Body.SourceEntity.SourceTemplate.Arn == STRING
    input.Body.Tags[_].Key == STRING
    input.Body.Tags[_].Value == STRING
    input.Body.VersionDescription == STRING
    input.Body.DashboardPublishOptions.AdHocFilteringOption.AvailabilityStatus == enum_DashboardBehavior[_]
    input.Body.DashboardPublishOptions.ExportToCSVOption.AvailabilityStatus == enum_DashboardBehavior[_]
    input.Body.DashboardPublishOptions.SheetControlsOption.VisibilityState == enum_DashboardUIState[_]
    input.Body.ThemeArn == STRING
    input.ReqMap.AwsAccountId == STRING
    input.ReqMap.DashboardId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateDataSet

enum_ColumnDataType := [ "STRING", "INTEGER", "DECIMAL", "DATETIME" ]
enum_ColumnTagName := [ "COLUMN_GEOGRAPHIC_ROLE", "COLUMN_DESCRIPTION" ]
enum_DataSetImportMode := [ "SPICE", "DIRECT_QUERY" ]
enum_FileFormat := [ "CSV", "TSV", "CLF", "ELF", "XLSX", "JSON" ]
enum_GeoSpatialCountryCode := [ "US" ]
enum_GeoSpatialDataRole := [ "COUNTRY", "STATE", "COUNTY", "CITY", "POSTCODE", "LONGITUDE", "LATITUDE" ]
enum_InputColumnDataType := [ "STRING", "INTEGER", "DECIMAL", "DATETIME", "BIT", "BOOLEAN", "JSON" ]
enum_JoinType := [ "INNER", "OUTER", "LEFT", "RIGHT" ]
enum_RowLevelPermissionFormatVersion := [ "VERSION_1", "VERSION_2" ]
enum_RowLevelPermissionPolicy := [ "GRANT_ACCESS", "DENY_ACCESS" ]
enum_Status := [ "ENABLED", "DISABLED" ]
enum_TextQualifier := [ "DOUBLE_QUOTE", "SINGLE_QUOTE" ]

valid {
    input.Body.DataSetId == STRING
    input.Body.Name == STRING
    input.Body.PhysicalTableMap.STRING.RelationalTable.DataSourceArn == STRING
    input.Body.PhysicalTableMap.STRING.RelationalTable.Catalog == STRING
    input.Body.PhysicalTableMap.STRING.RelationalTable.Schema == STRING
    input.Body.PhysicalTableMap.STRING.RelationalTable.Name == STRING
    input.Body.PhysicalTableMap.STRING.RelationalTable.InputColumns[_].Name == STRING
    input.Body.PhysicalTableMap.STRING.RelationalTable.InputColumns[_].Type == enum_InputColumnDataType[_]
    input.Body.PhysicalTableMap.STRING.CustomSql.DataSourceArn == STRING
    input.Body.PhysicalTableMap.STRING.CustomSql.Name == STRING
    input.Body.PhysicalTableMap.STRING.CustomSql.SqlQuery == STRING
    input.Body.PhysicalTableMap.STRING.CustomSql.Columns[_].Name == STRING
    input.Body.PhysicalTableMap.STRING.CustomSql.Columns[_].Type == enum_InputColumnDataType[_]
    input.Body.PhysicalTableMap.STRING.S3Source.DataSourceArn == STRING
    input.Body.PhysicalTableMap.STRING.S3Source.UploadSettings.Format == enum_FileFormat[_]
    input.Body.PhysicalTableMap.STRING.S3Source.UploadSettings.StartFromRow == INTEGER
    input.Body.PhysicalTableMap.STRING.S3Source.UploadSettings.ContainsHeader == BOOLEAN
    input.Body.PhysicalTableMap.STRING.S3Source.UploadSettings.TextQualifier == enum_TextQualifier[_]
    input.Body.PhysicalTableMap.STRING.S3Source.UploadSettings.Delimiter == STRING
    input.Body.PhysicalTableMap.STRING.S3Source.InputColumns[_].Name == STRING
    input.Body.PhysicalTableMap.STRING.S3Source.InputColumns[_].Type == enum_InputColumnDataType[_]
    input.Body.LogicalTableMap.STRING.Alias == STRING
    input.Body.LogicalTableMap.STRING.DataTransforms[_].ProjectOperation.ProjectedColumns[_] == STRING
    input.Body.LogicalTableMap.STRING.DataTransforms[_].FilterOperation.ConditionExpression == STRING
    input.Body.LogicalTableMap.STRING.DataTransforms[_].CreateColumnsOperation.Columns[_].ColumnName == STRING
    input.Body.LogicalTableMap.STRING.DataTransforms[_].CreateColumnsOperation.Columns[_].ColumnId == STRING
    input.Body.LogicalTableMap.STRING.DataTransforms[_].CreateColumnsOperation.Columns[_].Expression == STRING
    input.Body.LogicalTableMap.STRING.DataTransforms[_].RenameColumnOperation.ColumnName == STRING
    input.Body.LogicalTableMap.STRING.DataTransforms[_].RenameColumnOperation.NewColumnName == STRING
    input.Body.LogicalTableMap.STRING.DataTransforms[_].CastColumnTypeOperation.ColumnName == STRING
    input.Body.LogicalTableMap.STRING.DataTransforms[_].CastColumnTypeOperation.NewColumnType == enum_ColumnDataType[_]
    input.Body.LogicalTableMap.STRING.DataTransforms[_].CastColumnTypeOperation.Format == STRING
    input.Body.LogicalTableMap.STRING.DataTransforms[_].TagColumnOperation.ColumnName == STRING
    input.Body.LogicalTableMap.STRING.DataTransforms[_].TagColumnOperation.Tags[_].ColumnGeographicRole == enum_GeoSpatialDataRole[_]
    input.Body.LogicalTableMap.STRING.DataTransforms[_].TagColumnOperation.Tags[_].ColumnDescription.Text == STRING
    input.Body.LogicalTableMap.STRING.DataTransforms[_].UntagColumnOperation.ColumnName == STRING
    input.Body.LogicalTableMap.STRING.DataTransforms[_].UntagColumnOperation.TagNames[_] == enum_ColumnTagName[_]
    input.Body.LogicalTableMap.STRING.Source.JoinInstruction.LeftOperand == STRING
    input.Body.LogicalTableMap.STRING.Source.JoinInstruction.RightOperand == STRING
    input.Body.LogicalTableMap.STRING.Source.JoinInstruction.LeftJoinKeyProperties.UniqueKey == BOOLEAN
    input.Body.LogicalTableMap.STRING.Source.JoinInstruction.RightJoinKeyProperties.UniqueKey == BOOLEAN
    input.Body.LogicalTableMap.STRING.Source.JoinInstruction.Type == enum_JoinType[_]
    input.Body.LogicalTableMap.STRING.Source.JoinInstruction.OnClause == STRING
    input.Body.LogicalTableMap.STRING.Source.PhysicalTableId == STRING
    input.Body.LogicalTableMap.STRING.Source.DataSetArn == STRING
    input.Body.ImportMode == enum_DataSetImportMode[_]
    input.Body.ColumnGroups[_].GeoSpatialColumnGroup.Name == STRING
    input.Body.ColumnGroups[_].GeoSpatialColumnGroup.CountryCode == enum_GeoSpatialCountryCode[_]
    input.Body.ColumnGroups[_].GeoSpatialColumnGroup.Columns[_] == STRING
    input.Body.FieldFolders.STRING.description == STRING
    input.Body.FieldFolders.STRING.columns[_] == STRING
    input.Body.Permissions[_].Principal == STRING
    input.Body.Permissions[_].Actions[_] == STRING
    input.Body.RowLevelPermissionDataSet.Namespace == STRING
    input.Body.RowLevelPermissionDataSet.Arn == STRING
    input.Body.RowLevelPermissionDataSet.PermissionPolicy == enum_RowLevelPermissionPolicy[_]
    input.Body.RowLevelPermissionDataSet.FormatVersion == enum_RowLevelPermissionFormatVersion[_]
    input.Body.RowLevelPermissionDataSet.Status == enum_Status[_]
    input.Body.RowLevelPermissionTagConfiguration.Status == enum_Status[_]
    input.Body.RowLevelPermissionTagConfiguration.TagRules[_].TagKey == STRING
    input.Body.RowLevelPermissionTagConfiguration.TagRules[_].ColumnName == STRING
    input.Body.RowLevelPermissionTagConfiguration.TagRules[_].TagMultiValueDelimiter == STRING
    input.Body.RowLevelPermissionTagConfiguration.TagRules[_].MatchAllValue == STRING
    input.Body.ColumnLevelPermissionRules[_].Principals[_] == STRING
    input.Body.ColumnLevelPermissionRules[_].ColumnNames[_] == STRING
    input.Body.Tags[_].Key == STRING
    input.Body.Tags[_].Value == STRING
    input.Body.DataSetUsageConfiguration.DisableUseAsDirectQuerySource == BOOLEAN
    input.Body.DataSetUsageConfiguration.DisableUseAsImportedSource == BOOLEAN
    input.ReqMap.AwsAccountId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateDataSource

enum_DataSourceType := [ "ADOBE_ANALYTICS", "AMAZON_ELASTICSEARCH", "ATHENA", "AURORA", "AURORA_POSTGRESQL", "AWS_IOT_ANALYTICS", "GITHUB", "JIRA", "MARIADB", "MYSQL", "ORACLE", "POSTGRESQL", "PRESTO", "REDSHIFT", "S3", "SALESFORCE", "SERVICENOW", "SNOWFLAKE", "SPARK", "SQLSERVER", "TERADATA", "TWITTER", "TIMESTREAM", "AMAZON_OPENSEARCH", "EXASOL", "DATABRICKS" ]

valid {
    input.Body.DataSourceId == STRING
    input.Body.Name == STRING
    input.Body.Type == enum_DataSourceType[_]
    input.Body.DataSourceParameters.AmazonElasticsearchParameters.Domain == STRING
    input.Body.DataSourceParameters.AthenaParameters.WorkGroup == STRING
    input.Body.DataSourceParameters.AthenaParameters.RoleArn == STRING
    input.Body.DataSourceParameters.AuroraParameters.Host == STRING
    input.Body.DataSourceParameters.AuroraParameters.Port == INTEGER
    input.Body.DataSourceParameters.AuroraParameters.Database == STRING
    input.Body.DataSourceParameters.AuroraPostgreSqlParameters.Host == STRING
    input.Body.DataSourceParameters.AuroraPostgreSqlParameters.Port == INTEGER
    input.Body.DataSourceParameters.AuroraPostgreSqlParameters.Database == STRING
    input.Body.DataSourceParameters.AwsIotAnalyticsParameters.DataSetName == STRING
    input.Body.DataSourceParameters.JiraParameters.SiteBaseUrl == STRING
    input.Body.DataSourceParameters.MariaDbParameters.Host == STRING
    input.Body.DataSourceParameters.MariaDbParameters.Port == INTEGER
    input.Body.DataSourceParameters.MariaDbParameters.Database == STRING
    input.Body.DataSourceParameters.MySqlParameters.Host == STRING
    input.Body.DataSourceParameters.MySqlParameters.Port == INTEGER
    input.Body.DataSourceParameters.MySqlParameters.Database == STRING
    input.Body.DataSourceParameters.OracleParameters.Host == STRING
    input.Body.DataSourceParameters.OracleParameters.Port == INTEGER
    input.Body.DataSourceParameters.OracleParameters.Database == STRING
    input.Body.DataSourceParameters.PostgreSqlParameters.Host == STRING
    input.Body.DataSourceParameters.PostgreSqlParameters.Port == INTEGER
    input.Body.DataSourceParameters.PostgreSqlParameters.Database == STRING
    input.Body.DataSourceParameters.PrestoParameters.Host == STRING
    input.Body.DataSourceParameters.PrestoParameters.Port == INTEGER
    input.Body.DataSourceParameters.PrestoParameters.Catalog == STRING
    input.Body.DataSourceParameters.RdsParameters.InstanceId == STRING
    input.Body.DataSourceParameters.RdsParameters.Database == STRING
    input.Body.DataSourceParameters.RedshiftParameters.Host == STRING
    input.Body.DataSourceParameters.RedshiftParameters.Port == INTEGER
    input.Body.DataSourceParameters.RedshiftParameters.Database == STRING
    input.Body.DataSourceParameters.RedshiftParameters.ClusterId == STRING
    input.Body.DataSourceParameters.S3Parameters.ManifestFileLocation.Bucket == STRING
    input.Body.DataSourceParameters.S3Parameters.ManifestFileLocation.Key == STRING
    input.Body.DataSourceParameters.ServiceNowParameters.SiteBaseUrl == STRING
    input.Body.DataSourceParameters.SnowflakeParameters.Host == STRING
    input.Body.DataSourceParameters.SnowflakeParameters.Database == STRING
    input.Body.DataSourceParameters.SnowflakeParameters.Warehouse == STRING
    input.Body.DataSourceParameters.SparkParameters.Host == STRING
    input.Body.DataSourceParameters.SparkParameters.Port == INTEGER
    input.Body.DataSourceParameters.SqlServerParameters.Host == STRING
    input.Body.DataSourceParameters.SqlServerParameters.Port == INTEGER
    input.Body.DataSourceParameters.SqlServerParameters.Database == STRING
    input.Body.DataSourceParameters.TeradataParameters.Host == STRING
    input.Body.DataSourceParameters.TeradataParameters.Port == INTEGER
    input.Body.DataSourceParameters.TeradataParameters.Database == STRING
    input.Body.DataSourceParameters.TwitterParameters.Query == STRING
    input.Body.DataSourceParameters.TwitterParameters.MaxRows == INTEGER
    input.Body.DataSourceParameters.AmazonOpenSearchParameters.Domain == STRING
    input.Body.DataSourceParameters.ExasolParameters.Host == STRING
    input.Body.DataSourceParameters.ExasolParameters.Port == INTEGER
    input.Body.DataSourceParameters.DatabricksParameters.Host == STRING
    input.Body.DataSourceParameters.DatabricksParameters.Port == INTEGER
    input.Body.DataSourceParameters.DatabricksParameters.SqlEndpointPath == STRING
    input.Body.Credentials.CredentialPair.Username == STRING
    input.Body.Credentials.CredentialPair.Password == STRING
    input.Body.Credentials.CredentialPair.AlternateDataSourceParameters[_].AmazonElasticsearchParameters.Domain == STRING
    input.Body.Credentials.CredentialPair.AlternateDataSourceParameters[_].AthenaParameters.WorkGroup == STRING
    input.Body.Credentials.CredentialPair.AlternateDataSourceParameters[_].AthenaParameters.RoleArn == STRING
    input.Body.Credentials.CredentialPair.AlternateDataSourceParameters[_].AuroraParameters.Host == STRING
    input.Body.Credentials.CredentialPair.AlternateDataSourceParameters[_].AuroraParameters.Port == INTEGER
    input.Body.Credentials.CredentialPair.AlternateDataSourceParameters[_].AuroraParameters.Database == STRING
    input.Body.Credentials.CredentialPair.AlternateDataSourceParameters[_].AuroraPostgreSqlParameters.Host == STRING
    input.Body.Credentials.CredentialPair.AlternateDataSourceParameters[_].AuroraPostgreSqlParameters.Port == INTEGER
    input.Body.Credentials.CredentialPair.AlternateDataSourceParameters[_].AuroraPostgreSqlParameters.Database == STRING
    input.Body.Credentials.CredentialPair.AlternateDataSourceParameters[_].AwsIotAnalyticsParameters.DataSetName == STRING
    input.Body.Credentials.CredentialPair.AlternateDataSourceParameters[_].JiraParameters.SiteBaseUrl == STRING
    input.Body.Credentials.CredentialPair.AlternateDataSourceParameters[_].MariaDbParameters.Host == STRING
    input.Body.Credentials.CredentialPair.AlternateDataSourceParameters[_].MariaDbParameters.Port == INTEGER
    input.Body.Credentials.CredentialPair.AlternateDataSourceParameters[_].MariaDbParameters.Database == STRING
    input.Body.Credentials.CredentialPair.AlternateDataSourceParameters[_].MySqlParameters.Host == STRING
    input.Body.Credentials.CredentialPair.AlternateDataSourceParameters[_].MySqlParameters.Port == INTEGER
    input.Body.Credentials.CredentialPair.AlternateDataSourceParameters[_].MySqlParameters.Database == STRING
    input.Body.Credentials.CredentialPair.AlternateDataSourceParameters[_].OracleParameters.Host == STRING
    input.Body.Credentials.CredentialPair.AlternateDataSourceParameters[_].OracleParameters.Port == INTEGER
    input.Body.Credentials.CredentialPair.AlternateDataSourceParameters[_].OracleParameters.Database == STRING
    input.Body.Credentials.CredentialPair.AlternateDataSourceParameters[_].PostgreSqlParameters.Host == STRING
    input.Body.Credentials.CredentialPair.AlternateDataSourceParameters[_].PostgreSqlParameters.Port == INTEGER
    input.Body.Credentials.CredentialPair.AlternateDataSourceParameters[_].PostgreSqlParameters.Database == STRING
    input.Body.Credentials.CredentialPair.AlternateDataSourceParameters[_].PrestoParameters.Host == STRING
    input.Body.Credentials.CredentialPair.AlternateDataSourceParameters[_].PrestoParameters.Port == INTEGER
    input.Body.Credentials.CredentialPair.AlternateDataSourceParameters[_].PrestoParameters.Catalog == STRING
    input.Body.Credentials.CredentialPair.AlternateDataSourceParameters[_].RdsParameters.InstanceId == STRING
    input.Body.Credentials.CredentialPair.AlternateDataSourceParameters[_].RdsParameters.Database == STRING
    input.Body.Credentials.CredentialPair.AlternateDataSourceParameters[_].RedshiftParameters.Host == STRING
    input.Body.Credentials.CredentialPair.AlternateDataSourceParameters[_].RedshiftParameters.Port == INTEGER
    input.Body.Credentials.CredentialPair.AlternateDataSourceParameters[_].RedshiftParameters.Database == STRING
    input.Body.Credentials.CredentialPair.AlternateDataSourceParameters[_].RedshiftParameters.ClusterId == STRING
    input.Body.Credentials.CredentialPair.AlternateDataSourceParameters[_].S3Parameters.ManifestFileLocation.Bucket == STRING
    input.Body.Credentials.CredentialPair.AlternateDataSourceParameters[_].S3Parameters.ManifestFileLocation.Key == STRING
    input.Body.Credentials.CredentialPair.AlternateDataSourceParameters[_].ServiceNowParameters.SiteBaseUrl == STRING
    input.Body.Credentials.CredentialPair.AlternateDataSourceParameters[_].SnowflakeParameters.Host == STRING
    input.Body.Credentials.CredentialPair.AlternateDataSourceParameters[_].SnowflakeParameters.Database == STRING
    input.Body.Credentials.CredentialPair.AlternateDataSourceParameters[_].SnowflakeParameters.Warehouse == STRING
    input.Body.Credentials.CredentialPair.AlternateDataSourceParameters[_].SparkParameters.Host == STRING
    input.Body.Credentials.CredentialPair.AlternateDataSourceParameters[_].SparkParameters.Port == INTEGER
    input.Body.Credentials.CredentialPair.AlternateDataSourceParameters[_].SqlServerParameters.Host == STRING
    input.Body.Credentials.CredentialPair.AlternateDataSourceParameters[_].SqlServerParameters.Port == INTEGER
    input.Body.Credentials.CredentialPair.AlternateDataSourceParameters[_].SqlServerParameters.Database == STRING
    input.Body.Credentials.CredentialPair.AlternateDataSourceParameters[_].TeradataParameters.Host == STRING
    input.Body.Credentials.CredentialPair.AlternateDataSourceParameters[_].TeradataParameters.Port == INTEGER
    input.Body.Credentials.CredentialPair.AlternateDataSourceParameters[_].TeradataParameters.Database == STRING
    input.Body.Credentials.CredentialPair.AlternateDataSourceParameters[_].TwitterParameters.Query == STRING
    input.Body.Credentials.CredentialPair.AlternateDataSourceParameters[_].TwitterParameters.MaxRows == INTEGER
    input.Body.Credentials.CredentialPair.AlternateDataSourceParameters[_].AmazonOpenSearchParameters.Domain == STRING
    input.Body.Credentials.CredentialPair.AlternateDataSourceParameters[_].ExasolParameters.Host == STRING
    input.Body.Credentials.CredentialPair.AlternateDataSourceParameters[_].ExasolParameters.Port == INTEGER
    input.Body.Credentials.CredentialPair.AlternateDataSourceParameters[_].DatabricksParameters.Host == STRING
    input.Body.Credentials.CredentialPair.AlternateDataSourceParameters[_].DatabricksParameters.Port == INTEGER
    input.Body.Credentials.CredentialPair.AlternateDataSourceParameters[_].DatabricksParameters.SqlEndpointPath == STRING
    input.Body.Credentials.CopySourceArn == STRING
    input.Body.Credentials.SecretArn == STRING
    input.Body.Permissions[_].Principal == STRING
    input.Body.Permissions[_].Actions[_] == STRING
    input.Body.VpcConnectionProperties.VpcConnectionArn == STRING
    input.Body.SslProperties.DisableSsl == BOOLEAN
    input.Body.Tags[_].Key == STRING
    input.Body.Tags[_].Value == STRING
    input.ReqMap.AwsAccountId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateFolder

enum_FolderType := [ "SHARED" ]

valid {
    input.Body.Name == STRING
    input.Body.FolderType == enum_FolderType[_]
    input.Body.ParentFolderArn == STRING
    input.Body.Permissions[_].Principal == STRING
    input.Body.Permissions[_].Actions[_] == STRING
    input.Body.Tags[_].Key == STRING
    input.Body.Tags[_].Value == STRING
    input.ReqMap.AwsAccountId == STRING
    input.ReqMap.FolderId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateFolderMembership

enum_MemberType := [ "DASHBOARD", "ANALYSIS", "DATASET" ]

valid {
    input.ReqMap.AwsAccountId == STRING
    input.ReqMap.FolderId == STRING
    input.ReqMap.MemberId == STRING
    input.ReqMap.MemberType == enum_MemberType[_]
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateGroup

valid {
    input.Body.GroupName == STRING
    input.Body.Description == STRING
    input.ReqMap.AwsAccountId == STRING
    input.ReqMap.Namespace == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateGroupMembership

valid {
    input.ReqMap.MemberName == STRING
    input.ReqMap.GroupName == STRING
    input.ReqMap.AwsAccountId == STRING
    input.ReqMap.Namespace == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateIAMPolicyAssignment

enum_AssignmentStatus := [ "ENABLED", "DRAFT", "DISABLED" ]

valid {
    input.Body.AssignmentName == STRING
    input.Body.AssignmentStatus == enum_AssignmentStatus[_]
    input.Body.PolicyArn == STRING
    input.Body.Identities.STRING[_] == STRING
    input.ReqMap.AwsAccountId == STRING
    input.ReqMap.Namespace == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateIngestion

enum_IngestionType := [ "INCREMENTAL_REFRESH", "FULL_REFRESH" ]

valid {
    input.Body.IngestionType == enum_IngestionType[_]
    input.ReqMap.DataSetId == STRING
    input.ReqMap.IngestionId == STRING
    input.ReqMap.AwsAccountId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateNamespace

enum_IdentityStore := [ "QUICKSIGHT" ]

valid {
    input.Body.Namespace == STRING
    input.Body.IdentityStore == enum_IdentityStore[_]
    input.Body.Tags[_].Key == STRING
    input.Body.Tags[_].Value == STRING
    input.ReqMap.AwsAccountId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateTemplate

valid {
    input.Body.Name == STRING
    input.Body.Permissions[_].Principal == STRING
    input.Body.Permissions[_].Actions[_] == STRING
    input.Body.SourceEntity.SourceAnalysis.Arn == STRING
    input.Body.SourceEntity.SourceAnalysis.DataSetReferences[_].DataSetPlaceholder == STRING
    input.Body.SourceEntity.SourceAnalysis.DataSetReferences[_].DataSetArn == STRING
    input.Body.SourceEntity.SourceTemplate.Arn == STRING
    input.Body.Tags[_].Key == STRING
    input.Body.Tags[_].Value == STRING
    input.Body.VersionDescription == STRING
    input.ReqMap.AwsAccountId == STRING
    input.ReqMap.TemplateId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateTemplateAlias

valid {
    input.Body.TemplateVersionNumber == LONG
    input.ReqMap.AwsAccountId == STRING
    input.ReqMap.TemplateId == STRING
    input.ReqMap.AliasName == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateTheme

valid {
    input.Body.Name == STRING
    input.Body.BaseThemeId == STRING
    input.Body.VersionDescription == STRING
    input.Body.Configuration.DataColorPalette.Colors[_] == STRING
    input.Body.Configuration.DataColorPalette.MinMaxGradient[_] == STRING
    input.Body.Configuration.DataColorPalette.EmptyFillColor == STRING
    input.Body.Configuration.UIColorPalette.PrimaryForeground == STRING
    input.Body.Configuration.UIColorPalette.PrimaryBackground == STRING
    input.Body.Configuration.UIColorPalette.SecondaryForeground == STRING
    input.Body.Configuration.UIColorPalette.SecondaryBackground == STRING
    input.Body.Configuration.UIColorPalette.Accent == STRING
    input.Body.Configuration.UIColorPalette.AccentForeground == STRING
    input.Body.Configuration.UIColorPalette.Danger == STRING
    input.Body.Configuration.UIColorPalette.DangerForeground == STRING
    input.Body.Configuration.UIColorPalette.Warning == STRING
    input.Body.Configuration.UIColorPalette.WarningForeground == STRING
    input.Body.Configuration.UIColorPalette.Success == STRING
    input.Body.Configuration.UIColorPalette.SuccessForeground == STRING
    input.Body.Configuration.UIColorPalette.Dimension == STRING
    input.Body.Configuration.UIColorPalette.DimensionForeground == STRING
    input.Body.Configuration.UIColorPalette.Measure == STRING
    input.Body.Configuration.UIColorPalette.MeasureForeground == STRING
    input.Body.Configuration.Sheet.Tile.Border.Show == BOOLEAN
    input.Body.Configuration.Sheet.TileLayout.Gutter.Show == BOOLEAN
    input.Body.Configuration.Sheet.TileLayout.Margin.Show == BOOLEAN
    input.Body.Permissions[_].Principal == STRING
    input.Body.Permissions[_].Actions[_] == STRING
    input.Body.Tags[_].Key == STRING
    input.Body.Tags[_].Value == STRING
    input.ReqMap.AwsAccountId == STRING
    input.ReqMap.ThemeId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateThemeAlias

valid {
    input.Body.ThemeVersionNumber == LONG
    input.ReqMap.AwsAccountId == STRING
    input.ReqMap.ThemeId == STRING
    input.ReqMap.AliasName == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DeleteAccountCustomization

valid {
    input.ReqMap.AwsAccountId == STRING
    input.Qs.namespace == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DeleteAccountSubscription

valid {
    input.ReqMap.AwsAccountId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DeleteAnalysis

valid {
    input.ReqMap.AwsAccountId == STRING
    input.ReqMap.AnalysisId == STRING
    input.Qs.recovery-window-in-days == LONG
    input.Qs.force-delete-without-recovery == BOOLEAN
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DeleteDashboard

valid {
    input.ReqMap.AwsAccountId == STRING
    input.ReqMap.DashboardId == STRING
    input.Qs.version-number == LONG
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DeleteDataSet

valid {
    input.ReqMap.AwsAccountId == STRING
    input.ReqMap.DataSetId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DeleteDataSource

valid {
    input.ReqMap.AwsAccountId == STRING
    input.ReqMap.DataSourceId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DeleteFolder

valid {
    input.ReqMap.AwsAccountId == STRING
    input.ReqMap.FolderId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DeleteFolderMembership

enum_MemberType := [ "DASHBOARD", "ANALYSIS", "DATASET" ]

valid {
    input.ReqMap.AwsAccountId == STRING
    input.ReqMap.FolderId == STRING
    input.ReqMap.MemberId == STRING
    input.ReqMap.MemberType == enum_MemberType[_]
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DeleteGroup

valid {
    input.ReqMap.GroupName == STRING
    input.ReqMap.AwsAccountId == STRING
    input.ReqMap.Namespace == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DeleteGroupMembership

valid {
    input.ReqMap.MemberName == STRING
    input.ReqMap.GroupName == STRING
    input.ReqMap.AwsAccountId == STRING
    input.ReqMap.Namespace == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DeleteIAMPolicyAssignment

valid {
    input.ReqMap.AwsAccountId == STRING
    input.ReqMap.AssignmentName == STRING
    input.ReqMap.Namespace == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DeleteNamespace

valid {
    input.ReqMap.AwsAccountId == STRING
    input.ReqMap.Namespace == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DeleteTemplate

valid {
    input.ReqMap.AwsAccountId == STRING
    input.ReqMap.TemplateId == STRING
    input.Qs.version-number == LONG
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DeleteTemplateAlias

valid {
    input.ReqMap.AwsAccountId == STRING
    input.ReqMap.TemplateId == STRING
    input.ReqMap.AliasName == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DeleteTheme

valid {
    input.ReqMap.AwsAccountId == STRING
    input.ReqMap.ThemeId == STRING
    input.Qs.version-number == LONG
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DeleteThemeAlias

valid {
    input.ReqMap.AwsAccountId == STRING
    input.ReqMap.ThemeId == STRING
    input.ReqMap.AliasName == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DeleteUser

valid {
    input.ReqMap.UserName == STRING
    input.ReqMap.AwsAccountId == STRING
    input.ReqMap.Namespace == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DeleteUserByPrincipalId

valid {
    input.ReqMap.PrincipalId == STRING
    input.ReqMap.AwsAccountId == STRING
    input.ReqMap.Namespace == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DescribeAccountCustomization

valid {
    input.ReqMap.AwsAccountId == STRING
    input.Qs.namespace == STRING
    input.Qs.resolved == BOOLEAN
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DescribeAccountSettings

valid {
    input.ReqMap.AwsAccountId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DescribeAccountSubscription

valid {
    input.ReqMap.AwsAccountId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DescribeAnalysis

valid {
    input.ReqMap.AwsAccountId == STRING
    input.ReqMap.AnalysisId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DescribeAnalysisPermissions

valid {
    input.ReqMap.AwsAccountId == STRING
    input.ReqMap.AnalysisId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DescribeDashboard

valid {
    input.ReqMap.AwsAccountId == STRING
    input.ReqMap.DashboardId == STRING
    input.Qs.version-number == LONG
    input.Qs.alias-name == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DescribeDashboardPermissions

valid {
    input.ReqMap.AwsAccountId == STRING
    input.ReqMap.DashboardId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DescribeDataSet

valid {
    input.ReqMap.AwsAccountId == STRING
    input.ReqMap.DataSetId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DescribeDataSetPermissions

valid {
    input.ReqMap.AwsAccountId == STRING
    input.ReqMap.DataSetId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DescribeDataSource

valid {
    input.ReqMap.AwsAccountId == STRING
    input.ReqMap.DataSourceId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DescribeDataSourcePermissions

valid {
    input.ReqMap.AwsAccountId == STRING
    input.ReqMap.DataSourceId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DescribeFolder

valid {
    input.ReqMap.AwsAccountId == STRING
    input.ReqMap.FolderId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DescribeFolderPermissions

valid {
    input.ReqMap.AwsAccountId == STRING
    input.ReqMap.FolderId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DescribeFolderResolvedPermissions

valid {
    input.ReqMap.AwsAccountId == STRING
    input.ReqMap.FolderId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DescribeGroup

valid {
    input.ReqMap.GroupName == STRING
    input.ReqMap.AwsAccountId == STRING
    input.ReqMap.Namespace == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DescribeGroupMembership

valid {
    input.ReqMap.MemberName == STRING
    input.ReqMap.GroupName == STRING
    input.ReqMap.AwsAccountId == STRING
    input.ReqMap.Namespace == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DescribeIAMPolicyAssignment

valid {
    input.ReqMap.AwsAccountId == STRING
    input.ReqMap.AssignmentName == STRING
    input.ReqMap.Namespace == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DescribeIngestion

valid {
    input.ReqMap.AwsAccountId == STRING
    input.ReqMap.DataSetId == STRING
    input.ReqMap.IngestionId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DescribeIpRestriction

valid {
    input.ReqMap.AwsAccountId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DescribeNamespace

valid {
    input.ReqMap.AwsAccountId == STRING
    input.ReqMap.Namespace == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DescribeTemplate

valid {
    input.ReqMap.AwsAccountId == STRING
    input.ReqMap.TemplateId == STRING
    input.Qs.version-number == LONG
    input.Qs.alias-name == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DescribeTemplateAlias

valid {
    input.ReqMap.AwsAccountId == STRING
    input.ReqMap.TemplateId == STRING
    input.ReqMap.AliasName == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DescribeTemplatePermissions

valid {
    input.ReqMap.AwsAccountId == STRING
    input.ReqMap.TemplateId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DescribeTheme

valid {
    input.ReqMap.AwsAccountId == STRING
    input.ReqMap.ThemeId == STRING
    input.Qs.version-number == LONG
    input.Qs.alias-name == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DescribeThemeAlias

valid {
    input.ReqMap.AwsAccountId == STRING
    input.ReqMap.ThemeId == STRING
    input.ReqMap.AliasName == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DescribeThemePermissions

valid {
    input.ReqMap.AwsAccountId == STRING
    input.ReqMap.ThemeId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DescribeUser

valid {
    input.ReqMap.UserName == STRING
    input.ReqMap.AwsAccountId == STRING
    input.ReqMap.Namespace == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

GenerateEmbedUrlForAnonymousUser

valid {
    input.Body.SessionLifetimeInMinutes == LONG
    input.Body.Namespace == STRING
    input.Body.SessionTags[_].Key == STRING
    input.Body.SessionTags[_].Value == STRING
    input.Body.AuthorizedResourceArns[_] == STRING
    input.Body.ExperienceConfiguration.Dashboard.InitialDashboardId == STRING
    input.Body.ExperienceConfiguration.DashboardVisual.InitialDashboardVisualId.DashboardId == STRING
    input.Body.ExperienceConfiguration.DashboardVisual.InitialDashboardVisualId.SheetId == STRING
    input.Body.ExperienceConfiguration.DashboardVisual.InitialDashboardVisualId.VisualId == STRING
    input.Body.ExperienceConfiguration.QSearchBar.InitialTopicId == STRING
    input.Body.AllowedDomains[_] == STRING
    input.ReqMap.AwsAccountId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

GenerateEmbedUrlForRegisteredUser

valid {
    input.Body.SessionLifetimeInMinutes == LONG
    input.Body.UserArn == STRING
    input.Body.ExperienceConfiguration.Dashboard.InitialDashboardId == STRING
    input.Body.ExperienceConfiguration.QuickSightConsole.InitialPath == STRING
    input.Body.ExperienceConfiguration.QSearchBar.InitialTopicId == STRING
    input.Body.ExperienceConfiguration.DashboardVisual.InitialDashboardVisualId.DashboardId == STRING
    input.Body.ExperienceConfiguration.DashboardVisual.InitialDashboardVisualId.SheetId == STRING
    input.Body.ExperienceConfiguration.DashboardVisual.InitialDashboardVisualId.VisualId == STRING
    input.Body.AllowedDomains[_] == STRING
    input.ReqMap.AwsAccountId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

GetDashboardEmbedUrl

enum_EmbeddingIdentityType := [ "IAM", "QUICKSIGHT", "ANONYMOUS" ]

valid {
    input.ReqMap.AwsAccountId == STRING
    input.ReqMap.DashboardId == STRING
    input.Qs.creds-type == enum_EmbeddingIdentityType[_]
    input.Qs.session-lifetime == LONG
    input.Qs.undo-redo-disabled == BOOLEAN
    input.Qs.reset-disabled == BOOLEAN
    input.Qs.state-persistence-enabled == BOOLEAN
    input.Qs.user-arn == STRING
    input.Qs.namespace == STRING
    input.Qs.additional-dashboard-ids[_] == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

GetSessionEmbedUrl

valid {
    input.ReqMap.AwsAccountId == STRING
    input.Qs.entry-point == STRING
    input.Qs.session-lifetime == LONG
    input.Qs.user-arn == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListAnalyses

valid {
    input.ReqMap.AwsAccountId == STRING
    input.Qs.next-token == STRING
    input.Qs.max-results == INTEGER
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListDashboardVersions

valid {
    input.ReqMap.AwsAccountId == STRING
    input.ReqMap.DashboardId == STRING
    input.Qs.next-token == STRING
    input.Qs.max-results == INTEGER
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListDashboards

valid {
    input.ReqMap.AwsAccountId == STRING
    input.Qs.next-token == STRING
    input.Qs.max-results == INTEGER
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListDataSets

valid {
    input.ReqMap.AwsAccountId == STRING
    input.Qs.next-token == STRING
    input.Qs.max-results == INTEGER
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListDataSources

valid {
    input.ReqMap.AwsAccountId == STRING
    input.Qs.next-token == STRING
    input.Qs.max-results == INTEGER
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListFolderMembers

valid {
    input.ReqMap.AwsAccountId == STRING
    input.ReqMap.FolderId == STRING
    input.Qs.next-token == STRING
    input.Qs.max-results == INTEGER
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListFolders

valid {
    input.ReqMap.AwsAccountId == STRING
    input.Qs.next-token == STRING
    input.Qs.max-results == INTEGER
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListGroupMemberships

valid {
    input.ReqMap.GroupName == STRING
    input.ReqMap.AwsAccountId == STRING
    input.ReqMap.Namespace == STRING
    input.Qs.next-token == STRING
    input.Qs.max-results == INTEGER
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListGroups

valid {
    input.ReqMap.AwsAccountId == STRING
    input.ReqMap.Namespace == STRING
    input.Qs.next-token == STRING
    input.Qs.max-results == INTEGER
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListIAMPolicyAssignments

enum_AssignmentStatus := [ "ENABLED", "DRAFT", "DISABLED" ]

valid {
    input.Body.AssignmentStatus == enum_AssignmentStatus[_]
    input.ReqMap.AwsAccountId == STRING
    input.ReqMap.Namespace == STRING
    input.Qs.next-token == STRING
    input.Qs.max-results == INTEGER
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListIAMPolicyAssignmentsForUser

valid {
    input.ReqMap.AwsAccountId == STRING
    input.ReqMap.UserName == STRING
    input.ReqMap.Namespace == STRING
    input.Qs.next-token == STRING
    input.Qs.max-results == INTEGER
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListIngestions

valid {
    input.ReqMap.DataSetId == STRING
    input.ReqMap.AwsAccountId == STRING
    input.Qs.next-token == STRING
    input.Qs.max-results == INTEGER
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListNamespaces

valid {
    input.ReqMap.AwsAccountId == STRING
    input.Qs.next-token == STRING
    input.Qs.max-results == INTEGER
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListTagsForResource

valid {
    input.ReqMap.ResourceArn == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListTemplateAliases

valid {
    input.ReqMap.AwsAccountId == STRING
    input.ReqMap.TemplateId == STRING
    input.Qs.next-token == STRING
    input.Qs.max-result == INTEGER
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListTemplateVersions

valid {
    input.ReqMap.AwsAccountId == STRING
    input.ReqMap.TemplateId == STRING
    input.Qs.next-token == STRING
    input.Qs.max-results == INTEGER
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListTemplates

valid {
    input.ReqMap.AwsAccountId == STRING
    input.Qs.next-token == STRING
    input.Qs.max-result == INTEGER
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListThemeAliases

valid {
    input.ReqMap.AwsAccountId == STRING
    input.ReqMap.ThemeId == STRING
    input.Qs.next-token == STRING
    input.Qs.max-result == INTEGER
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListThemeVersions

valid {
    input.ReqMap.AwsAccountId == STRING
    input.ReqMap.ThemeId == STRING
    input.Qs.next-token == STRING
    input.Qs.max-results == INTEGER
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListThemes

enum_ThemeType := [ "QUICKSIGHT", "CUSTOM", "ALL" ]

valid {
    input.ReqMap.AwsAccountId == STRING
    input.Qs.next-token == STRING
    input.Qs.max-results == INTEGER
    input.Qs.type == enum_ThemeType[_]
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListUserGroups

valid {
    input.ReqMap.UserName == STRING
    input.ReqMap.AwsAccountId == STRING
    input.ReqMap.Namespace == STRING
    input.Qs.next-token == STRING
    input.Qs.max-results == INTEGER
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListUsers

valid {
    input.ReqMap.AwsAccountId == STRING
    input.ReqMap.Namespace == STRING
    input.Qs.next-token == STRING
    input.Qs.max-results == INTEGER
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

RegisterUser

enum_IdentityType := [ "IAM", "QUICKSIGHT" ]
enum_UserRole := [ "ADMIN", "AUTHOR", "READER", "RESTRICTED_AUTHOR", "RESTRICTED_READER" ]

valid {
    input.Body.IdentityType == enum_IdentityType[_]
    input.Body.Email == STRING
    input.Body.UserRole == enum_UserRole[_]
    input.Body.IamArn == STRING
    input.Body.SessionName == STRING
    input.Body.UserName == STRING
    input.Body.CustomPermissionsName == STRING
    input.Body.ExternalLoginFederationProviderType == STRING
    input.Body.CustomFederationProviderUrl == STRING
    input.Body.ExternalLoginId == STRING
    input.ReqMap.AwsAccountId == STRING
    input.ReqMap.Namespace == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

RestoreAnalysis

valid {
    input.ReqMap.AwsAccountId == STRING
    input.ReqMap.AnalysisId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

SearchAnalyses

enum_AnalysisFilterAttribute := [ "QUICKSIGHT_USER", "QUICKSIGHT_VIEWER_OR_OWNER", "DIRECT_QUICKSIGHT_VIEWER_OR_OWNER", "QUICKSIGHT_OWNER", "DIRECT_QUICKSIGHT_OWNER", "DIRECT_QUICKSIGHT_SOLE_OWNER", "ANALYSIS_NAME" ]
enum_FilterOperator := [ "StringEquals", "StringLike" ]

valid {
    input.Body.Filters[_].Operator == enum_FilterOperator[_]
    input.Body.Filters[_].Name == enum_AnalysisFilterAttribute[_]
    input.Body.Filters[_].Value == STRING
    input.Body.NextToken == STRING
    input.Body.MaxResults == INTEGER
    input.ReqMap.AwsAccountId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

SearchDashboards

enum_DashboardFilterAttribute := [ "QUICKSIGHT_USER", "QUICKSIGHT_VIEWER_OR_OWNER", "DIRECT_QUICKSIGHT_VIEWER_OR_OWNER", "QUICKSIGHT_OWNER", "DIRECT_QUICKSIGHT_OWNER", "DIRECT_QUICKSIGHT_SOLE_OWNER", "DASHBOARD_NAME" ]
enum_FilterOperator := [ "StringEquals", "StringLike" ]

valid {
    input.Body.Filters[_].Operator == enum_FilterOperator[_]
    input.Body.Filters[_].Name == enum_DashboardFilterAttribute[_]
    input.Body.Filters[_].Value == STRING
    input.Body.NextToken == STRING
    input.Body.MaxResults == INTEGER
    input.ReqMap.AwsAccountId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

SearchDataSets

enum_DataSetFilterAttribute := [ "QUICKSIGHT_VIEWER_OR_OWNER", "QUICKSIGHT_OWNER", "DIRECT_QUICKSIGHT_VIEWER_OR_OWNER", "DIRECT_QUICKSIGHT_OWNER", "DIRECT_QUICKSIGHT_SOLE_OWNER", "DATASET_NAME" ]
enum_FilterOperator := [ "StringEquals", "StringLike" ]

valid {
    input.Body.Filters[_].Operator == enum_FilterOperator[_]
    input.Body.Filters[_].Name == enum_DataSetFilterAttribute[_]
    input.Body.Filters[_].Value == STRING
    input.Body.NextToken == STRING
    input.Body.MaxResults == INTEGER
    input.ReqMap.AwsAccountId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

SearchDataSources

enum_DataSourceFilterAttribute := [ "DIRECT_QUICKSIGHT_VIEWER_OR_OWNER", "DIRECT_QUICKSIGHT_OWNER", "DIRECT_QUICKSIGHT_SOLE_OWNER", "DATASOURCE_NAME" ]
enum_FilterOperator := [ "StringEquals", "StringLike" ]

valid {
    input.Body.Filters[_].Operator == enum_FilterOperator[_]
    input.Body.Filters[_].Name == enum_DataSourceFilterAttribute[_]
    input.Body.Filters[_].Value == STRING
    input.Body.NextToken == STRING
    input.Body.MaxResults == INTEGER
    input.ReqMap.AwsAccountId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

SearchFolders

enum_FilterOperator := [ "StringEquals", "StringLike" ]
enum_FolderFilterAttribute := [ "PARENT_FOLDER_ARN", "DIRECT_QUICKSIGHT_OWNER", "DIRECT_QUICKSIGHT_SOLE_OWNER", "DIRECT_QUICKSIGHT_VIEWER_OR_OWNER", "QUICKSIGHT_OWNER", "QUICKSIGHT_VIEWER_OR_OWNER", "FOLDER_NAME" ]

valid {
    input.Body.Filters[_].Operator == enum_FilterOperator[_]
    input.Body.Filters[_].Name == enum_FolderFilterAttribute[_]
    input.Body.Filters[_].Value == STRING
    input.Body.NextToken == STRING
    input.Body.MaxResults == INTEGER
    input.ReqMap.AwsAccountId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

SearchGroups

enum_GroupFilterAttribute := [ "GROUP_NAME" ]
enum_GroupFilterOperator := [ "StartsWith" ]

valid {
    input.Body.Filters[_].Operator == enum_GroupFilterOperator[_]
    input.Body.Filters[_].Name == enum_GroupFilterAttribute[_]
    input.Body.Filters[_].Value == STRING
    input.ReqMap.AwsAccountId == STRING
    input.ReqMap.Namespace == STRING
    input.Qs.next-token == STRING
    input.Qs.max-results == INTEGER
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

TagResource

valid {
    input.Body.Tags[_].Key == STRING
    input.Body.Tags[_].Value == STRING
    input.ReqMap.ResourceArn == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UntagResource

valid {
    input.ReqMap.ResourceArn == STRING
    input.Qs.keys[_] == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UpdateAccountCustomization

valid {
    input.Body.AccountCustomization.DefaultTheme == STRING
    input.Body.AccountCustomization.DefaultEmailCustomizationTemplate == STRING
    input.ReqMap.AwsAccountId == STRING
    input.Qs.namespace == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UpdateAccountSettings

valid {
    input.Body.DefaultNamespace == STRING
    input.Body.NotificationEmail == STRING
    input.Body.TerminationProtectionEnabled == BOOLEAN
    input.ReqMap.AwsAccountId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UpdateAnalysis

valid {
    input.Body.Name == STRING
    input.Body.Parameters.StringParameters[_].Name == STRING
    input.Body.Parameters.StringParameters[_].Values[_] == STRING
    input.Body.Parameters.IntegerParameters[_].Name == STRING
    input.Body.Parameters.IntegerParameters[_].Values[_] == LONG
    input.Body.Parameters.DecimalParameters[_].Name == STRING
    input.Body.Parameters.DecimalParameters[_].Values[_] == DOUBLE
    input.Body.Parameters.DateTimeParameters[_].Name == STRING
    input.Body.Parameters.DateTimeParameters[_].Values[_] == TIMESTAMP
    input.Body.SourceEntity.SourceTemplate.DataSetReferences[_].DataSetPlaceholder == STRING
    input.Body.SourceEntity.SourceTemplate.DataSetReferences[_].DataSetArn == STRING
    input.Body.SourceEntity.SourceTemplate.Arn == STRING
    input.Body.ThemeArn == STRING
    input.ReqMap.AwsAccountId == STRING
    input.ReqMap.AnalysisId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UpdateAnalysisPermissions

valid {
    input.Body.GrantPermissions[_].Principal == STRING
    input.Body.GrantPermissions[_].Actions[_] == STRING
    input.Body.RevokePermissions[_].Principal == STRING
    input.Body.RevokePermissions[_].Actions[_] == STRING
    input.ReqMap.AwsAccountId == STRING
    input.ReqMap.AnalysisId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UpdateDashboard

enum_DashboardBehavior := [ "ENABLED", "DISABLED" ]
enum_DashboardUIState := [ "EXPANDED", "COLLAPSED" ]

valid {
    input.Body.Name == STRING
    input.Body.SourceEntity.SourceTemplate.DataSetReferences[_].DataSetPlaceholder == STRING
    input.Body.SourceEntity.SourceTemplate.DataSetReferences[_].DataSetArn == STRING
    input.Body.SourceEntity.SourceTemplate.Arn == STRING
    input.Body.Parameters.StringParameters[_].Name == STRING
    input.Body.Parameters.StringParameters[_].Values[_] == STRING
    input.Body.Parameters.IntegerParameters[_].Name == STRING
    input.Body.Parameters.IntegerParameters[_].Values[_] == LONG
    input.Body.Parameters.DecimalParameters[_].Name == STRING
    input.Body.Parameters.DecimalParameters[_].Values[_] == DOUBLE
    input.Body.Parameters.DateTimeParameters[_].Name == STRING
    input.Body.Parameters.DateTimeParameters[_].Values[_] == TIMESTAMP
    input.Body.VersionDescription == STRING
    input.Body.DashboardPublishOptions.AdHocFilteringOption.AvailabilityStatus == enum_DashboardBehavior[_]
    input.Body.DashboardPublishOptions.ExportToCSVOption.AvailabilityStatus == enum_DashboardBehavior[_]
    input.Body.DashboardPublishOptions.SheetControlsOption.VisibilityState == enum_DashboardUIState[_]
    input.Body.ThemeArn == STRING
    input.ReqMap.AwsAccountId == STRING
    input.ReqMap.DashboardId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UpdateDashboardPermissions

valid {
    input.Body.GrantPermissions[_].Principal == STRING
    input.Body.GrantPermissions[_].Actions[_] == STRING
    input.Body.RevokePermissions[_].Principal == STRING
    input.Body.RevokePermissions[_].Actions[_] == STRING
    input.Body.GrantLinkPermissions[_].Principal == STRING
    input.Body.GrantLinkPermissions[_].Actions[_] == STRING
    input.Body.RevokeLinkPermissions[_].Principal == STRING
    input.Body.RevokeLinkPermissions[_].Actions[_] == STRING
    input.ReqMap.AwsAccountId == STRING
    input.ReqMap.DashboardId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UpdateDashboardPublishedVersion

valid {
    input.ReqMap.AwsAccountId == STRING
    input.ReqMap.DashboardId == STRING
    input.ReqMap.VersionNumber == LONG
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UpdateDataSet

enum_ColumnDataType := [ "STRING", "INTEGER", "DECIMAL", "DATETIME" ]
enum_ColumnTagName := [ "COLUMN_GEOGRAPHIC_ROLE", "COLUMN_DESCRIPTION" ]
enum_DataSetImportMode := [ "SPICE", "DIRECT_QUERY" ]
enum_FileFormat := [ "CSV", "TSV", "CLF", "ELF", "XLSX", "JSON" ]
enum_GeoSpatialCountryCode := [ "US" ]
enum_GeoSpatialDataRole := [ "COUNTRY", "STATE", "COUNTY", "CITY", "POSTCODE", "LONGITUDE", "LATITUDE" ]
enum_InputColumnDataType := [ "STRING", "INTEGER", "DECIMAL", "DATETIME", "BIT", "BOOLEAN", "JSON" ]
enum_JoinType := [ "INNER", "OUTER", "LEFT", "RIGHT" ]
enum_RowLevelPermissionFormatVersion := [ "VERSION_1", "VERSION_2" ]
enum_RowLevelPermissionPolicy := [ "GRANT_ACCESS", "DENY_ACCESS" ]
enum_Status := [ "ENABLED", "DISABLED" ]
enum_TextQualifier := [ "DOUBLE_QUOTE", "SINGLE_QUOTE" ]

valid {
    input.Body.Name == STRING
    input.Body.PhysicalTableMap.STRING.RelationalTable.DataSourceArn == STRING
    input.Body.PhysicalTableMap.STRING.RelationalTable.Catalog == STRING
    input.Body.PhysicalTableMap.STRING.RelationalTable.Schema == STRING
    input.Body.PhysicalTableMap.STRING.RelationalTable.Name == STRING
    input.Body.PhysicalTableMap.STRING.RelationalTable.InputColumns[_].Name == STRING
    input.Body.PhysicalTableMap.STRING.RelationalTable.InputColumns[_].Type == enum_InputColumnDataType[_]
    input.Body.PhysicalTableMap.STRING.CustomSql.DataSourceArn == STRING
    input.Body.PhysicalTableMap.STRING.CustomSql.Name == STRING
    input.Body.PhysicalTableMap.STRING.CustomSql.SqlQuery == STRING
    input.Body.PhysicalTableMap.STRING.CustomSql.Columns[_].Name == STRING
    input.Body.PhysicalTableMap.STRING.CustomSql.Columns[_].Type == enum_InputColumnDataType[_]
    input.Body.PhysicalTableMap.STRING.S3Source.DataSourceArn == STRING
    input.Body.PhysicalTableMap.STRING.S3Source.UploadSettings.Format == enum_FileFormat[_]
    input.Body.PhysicalTableMap.STRING.S3Source.UploadSettings.StartFromRow == INTEGER
    input.Body.PhysicalTableMap.STRING.S3Source.UploadSettings.ContainsHeader == BOOLEAN
    input.Body.PhysicalTableMap.STRING.S3Source.UploadSettings.TextQualifier == enum_TextQualifier[_]
    input.Body.PhysicalTableMap.STRING.S3Source.UploadSettings.Delimiter == STRING
    input.Body.PhysicalTableMap.STRING.S3Source.InputColumns[_].Name == STRING
    input.Body.PhysicalTableMap.STRING.S3Source.InputColumns[_].Type == enum_InputColumnDataType[_]
    input.Body.LogicalTableMap.STRING.Alias == STRING
    input.Body.LogicalTableMap.STRING.DataTransforms[_].ProjectOperation.ProjectedColumns[_] == STRING
    input.Body.LogicalTableMap.STRING.DataTransforms[_].FilterOperation.ConditionExpression == STRING
    input.Body.LogicalTableMap.STRING.DataTransforms[_].CreateColumnsOperation.Columns[_].ColumnName == STRING
    input.Body.LogicalTableMap.STRING.DataTransforms[_].CreateColumnsOperation.Columns[_].ColumnId == STRING
    input.Body.LogicalTableMap.STRING.DataTransforms[_].CreateColumnsOperation.Columns[_].Expression == STRING
    input.Body.LogicalTableMap.STRING.DataTransforms[_].RenameColumnOperation.ColumnName == STRING
    input.Body.LogicalTableMap.STRING.DataTransforms[_].RenameColumnOperation.NewColumnName == STRING
    input.Body.LogicalTableMap.STRING.DataTransforms[_].CastColumnTypeOperation.ColumnName == STRING
    input.Body.LogicalTableMap.STRING.DataTransforms[_].CastColumnTypeOperation.NewColumnType == enum_ColumnDataType[_]
    input.Body.LogicalTableMap.STRING.DataTransforms[_].CastColumnTypeOperation.Format == STRING
    input.Body.LogicalTableMap.STRING.DataTransforms[_].TagColumnOperation.ColumnName == STRING
    input.Body.LogicalTableMap.STRING.DataTransforms[_].TagColumnOperation.Tags[_].ColumnGeographicRole == enum_GeoSpatialDataRole[_]
    input.Body.LogicalTableMap.STRING.DataTransforms[_].TagColumnOperation.Tags[_].ColumnDescription.Text == STRING
    input.Body.LogicalTableMap.STRING.DataTransforms[_].UntagColumnOperation.ColumnName == STRING
    input.Body.LogicalTableMap.STRING.DataTransforms[_].UntagColumnOperation.TagNames[_] == enum_ColumnTagName[_]
    input.Body.LogicalTableMap.STRING.Source.JoinInstruction.LeftOperand == STRING
    input.Body.LogicalTableMap.STRING.Source.JoinInstruction.RightOperand == STRING
    input.Body.LogicalTableMap.STRING.Source.JoinInstruction.LeftJoinKeyProperties.UniqueKey == BOOLEAN
    input.Body.LogicalTableMap.STRING.Source.JoinInstruction.RightJoinKeyProperties.UniqueKey == BOOLEAN
    input.Body.LogicalTableMap.STRING.Source.JoinInstruction.Type == enum_JoinType[_]
    input.Body.LogicalTableMap.STRING.Source.JoinInstruction.OnClause == STRING
    input.Body.LogicalTableMap.STRING.Source.PhysicalTableId == STRING
    input.Body.LogicalTableMap.STRING.Source.DataSetArn == STRING
    input.Body.ImportMode == enum_DataSetImportMode[_]
    input.Body.ColumnGroups[_].GeoSpatialColumnGroup.Name == STRING
    input.Body.ColumnGroups[_].GeoSpatialColumnGroup.CountryCode == enum_GeoSpatialCountryCode[_]
    input.Body.ColumnGroups[_].GeoSpatialColumnGroup.Columns[_] == STRING
    input.Body.FieldFolders.STRING.description == STRING
    input.Body.FieldFolders.STRING.columns[_] == STRING
    input.Body.RowLevelPermissionDataSet.Namespace == STRING
    input.Body.RowLevelPermissionDataSet.Arn == STRING
    input.Body.RowLevelPermissionDataSet.PermissionPolicy == enum_RowLevelPermissionPolicy[_]
    input.Body.RowLevelPermissionDataSet.FormatVersion == enum_RowLevelPermissionFormatVersion[_]
    input.Body.RowLevelPermissionDataSet.Status == enum_Status[_]
    input.Body.RowLevelPermissionTagConfiguration.Status == enum_Status[_]
    input.Body.RowLevelPermissionTagConfiguration.TagRules[_].TagKey == STRING
    input.Body.RowLevelPermissionTagConfiguration.TagRules[_].ColumnName == STRING
    input.Body.RowLevelPermissionTagConfiguration.TagRules[_].TagMultiValueDelimiter == STRING
    input.Body.RowLevelPermissionTagConfiguration.TagRules[_].MatchAllValue == STRING
    input.Body.ColumnLevelPermissionRules[_].Principals[_] == STRING
    input.Body.ColumnLevelPermissionRules[_].ColumnNames[_] == STRING
    input.Body.DataSetUsageConfiguration.DisableUseAsDirectQuerySource == BOOLEAN
    input.Body.DataSetUsageConfiguration.DisableUseAsImportedSource == BOOLEAN
    input.ReqMap.AwsAccountId == STRING
    input.ReqMap.DataSetId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UpdateDataSetPermissions

valid {
    input.Body.GrantPermissions[_].Principal == STRING
    input.Body.GrantPermissions[_].Actions[_] == STRING
    input.Body.RevokePermissions[_].Principal == STRING
    input.Body.RevokePermissions[_].Actions[_] == STRING
    input.ReqMap.AwsAccountId == STRING
    input.ReqMap.DataSetId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UpdateDataSource

valid {
    input.Body.Name == STRING
    input.Body.DataSourceParameters.AmazonElasticsearchParameters.Domain == STRING
    input.Body.DataSourceParameters.AthenaParameters.WorkGroup == STRING
    input.Body.DataSourceParameters.AthenaParameters.RoleArn == STRING
    input.Body.DataSourceParameters.AuroraParameters.Host == STRING
    input.Body.DataSourceParameters.AuroraParameters.Port == INTEGER
    input.Body.DataSourceParameters.AuroraParameters.Database == STRING
    input.Body.DataSourceParameters.AuroraPostgreSqlParameters.Host == STRING
    input.Body.DataSourceParameters.AuroraPostgreSqlParameters.Port == INTEGER
    input.Body.DataSourceParameters.AuroraPostgreSqlParameters.Database == STRING
    input.Body.DataSourceParameters.AwsIotAnalyticsParameters.DataSetName == STRING
    input.Body.DataSourceParameters.JiraParameters.SiteBaseUrl == STRING
    input.Body.DataSourceParameters.MariaDbParameters.Host == STRING
    input.Body.DataSourceParameters.MariaDbParameters.Port == INTEGER
    input.Body.DataSourceParameters.MariaDbParameters.Database == STRING
    input.Body.DataSourceParameters.MySqlParameters.Host == STRING
    input.Body.DataSourceParameters.MySqlParameters.Port == INTEGER
    input.Body.DataSourceParameters.MySqlParameters.Database == STRING
    input.Body.DataSourceParameters.OracleParameters.Host == STRING
    input.Body.DataSourceParameters.OracleParameters.Port == INTEGER
    input.Body.DataSourceParameters.OracleParameters.Database == STRING
    input.Body.DataSourceParameters.PostgreSqlParameters.Host == STRING
    input.Body.DataSourceParameters.PostgreSqlParameters.Port == INTEGER
    input.Body.DataSourceParameters.PostgreSqlParameters.Database == STRING
    input.Body.DataSourceParameters.PrestoParameters.Host == STRING
    input.Body.DataSourceParameters.PrestoParameters.Port == INTEGER
    input.Body.DataSourceParameters.PrestoParameters.Catalog == STRING
    input.Body.DataSourceParameters.RdsParameters.InstanceId == STRING
    input.Body.DataSourceParameters.RdsParameters.Database == STRING
    input.Body.DataSourceParameters.RedshiftParameters.Host == STRING
    input.Body.DataSourceParameters.RedshiftParameters.Port == INTEGER
    input.Body.DataSourceParameters.RedshiftParameters.Database == STRING
    input.Body.DataSourceParameters.RedshiftParameters.ClusterId == STRING
    input.Body.DataSourceParameters.S3Parameters.ManifestFileLocation.Bucket == STRING
    input.Body.DataSourceParameters.S3Parameters.ManifestFileLocation.Key == STRING
    input.Body.DataSourceParameters.ServiceNowParameters.SiteBaseUrl == STRING
    input.Body.DataSourceParameters.SnowflakeParameters.Host == STRING
    input.Body.DataSourceParameters.SnowflakeParameters.Database == STRING
    input.Body.DataSourceParameters.SnowflakeParameters.Warehouse == STRING
    input.Body.DataSourceParameters.SparkParameters.Host == STRING
    input.Body.DataSourceParameters.SparkParameters.Port == INTEGER
    input.Body.DataSourceParameters.SqlServerParameters.Host == STRING
    input.Body.DataSourceParameters.SqlServerParameters.Port == INTEGER
    input.Body.DataSourceParameters.SqlServerParameters.Database == STRING
    input.Body.DataSourceParameters.TeradataParameters.Host == STRING
    input.Body.DataSourceParameters.TeradataParameters.Port == INTEGER
    input.Body.DataSourceParameters.TeradataParameters.Database == STRING
    input.Body.DataSourceParameters.TwitterParameters.Query == STRING
    input.Body.DataSourceParameters.TwitterParameters.MaxRows == INTEGER
    input.Body.DataSourceParameters.AmazonOpenSearchParameters.Domain == STRING
    input.Body.DataSourceParameters.ExasolParameters.Host == STRING
    input.Body.DataSourceParameters.ExasolParameters.Port == INTEGER
    input.Body.DataSourceParameters.DatabricksParameters.Host == STRING
    input.Body.DataSourceParameters.DatabricksParameters.Port == INTEGER
    input.Body.DataSourceParameters.DatabricksParameters.SqlEndpointPath == STRING
    input.Body.Credentials.CredentialPair.Username == STRING
    input.Body.Credentials.CredentialPair.Password == STRING
    input.Body.Credentials.CredentialPair.AlternateDataSourceParameters[_].AmazonElasticsearchParameters.Domain == STRING
    input.Body.Credentials.CredentialPair.AlternateDataSourceParameters[_].AthenaParameters.WorkGroup == STRING
    input.Body.Credentials.CredentialPair.AlternateDataSourceParameters[_].AthenaParameters.RoleArn == STRING
    input.Body.Credentials.CredentialPair.AlternateDataSourceParameters[_].AuroraParameters.Host == STRING
    input.Body.Credentials.CredentialPair.AlternateDataSourceParameters[_].AuroraParameters.Port == INTEGER
    input.Body.Credentials.CredentialPair.AlternateDataSourceParameters[_].AuroraParameters.Database == STRING
    input.Body.Credentials.CredentialPair.AlternateDataSourceParameters[_].AuroraPostgreSqlParameters.Host == STRING
    input.Body.Credentials.CredentialPair.AlternateDataSourceParameters[_].AuroraPostgreSqlParameters.Port == INTEGER
    input.Body.Credentials.CredentialPair.AlternateDataSourceParameters[_].AuroraPostgreSqlParameters.Database == STRING
    input.Body.Credentials.CredentialPair.AlternateDataSourceParameters[_].AwsIotAnalyticsParameters.DataSetName == STRING
    input.Body.Credentials.CredentialPair.AlternateDataSourceParameters[_].JiraParameters.SiteBaseUrl == STRING
    input.Body.Credentials.CredentialPair.AlternateDataSourceParameters[_].MariaDbParameters.Host == STRING
    input.Body.Credentials.CredentialPair.AlternateDataSourceParameters[_].MariaDbParameters.Port == INTEGER
    input.Body.Credentials.CredentialPair.AlternateDataSourceParameters[_].MariaDbParameters.Database == STRING
    input.Body.Credentials.CredentialPair.AlternateDataSourceParameters[_].MySqlParameters.Host == STRING
    input.Body.Credentials.CredentialPair.AlternateDataSourceParameters[_].MySqlParameters.Port == INTEGER
    input.Body.Credentials.CredentialPair.AlternateDataSourceParameters[_].MySqlParameters.Database == STRING
    input.Body.Credentials.CredentialPair.AlternateDataSourceParameters[_].OracleParameters.Host == STRING
    input.Body.Credentials.CredentialPair.AlternateDataSourceParameters[_].OracleParameters.Port == INTEGER
    input.Body.Credentials.CredentialPair.AlternateDataSourceParameters[_].OracleParameters.Database == STRING
    input.Body.Credentials.CredentialPair.AlternateDataSourceParameters[_].PostgreSqlParameters.Host == STRING
    input.Body.Credentials.CredentialPair.AlternateDataSourceParameters[_].PostgreSqlParameters.Port == INTEGER
    input.Body.Credentials.CredentialPair.AlternateDataSourceParameters[_].PostgreSqlParameters.Database == STRING
    input.Body.Credentials.CredentialPair.AlternateDataSourceParameters[_].PrestoParameters.Host == STRING
    input.Body.Credentials.CredentialPair.AlternateDataSourceParameters[_].PrestoParameters.Port == INTEGER
    input.Body.Credentials.CredentialPair.AlternateDataSourceParameters[_].PrestoParameters.Catalog == STRING
    input.Body.Credentials.CredentialPair.AlternateDataSourceParameters[_].RdsParameters.InstanceId == STRING
    input.Body.Credentials.CredentialPair.AlternateDataSourceParameters[_].RdsParameters.Database == STRING
    input.Body.Credentials.CredentialPair.AlternateDataSourceParameters[_].RedshiftParameters.Host == STRING
    input.Body.Credentials.CredentialPair.AlternateDataSourceParameters[_].RedshiftParameters.Port == INTEGER
    input.Body.Credentials.CredentialPair.AlternateDataSourceParameters[_].RedshiftParameters.Database == STRING
    input.Body.Credentials.CredentialPair.AlternateDataSourceParameters[_].RedshiftParameters.ClusterId == STRING
    input.Body.Credentials.CredentialPair.AlternateDataSourceParameters[_].S3Parameters.ManifestFileLocation.Bucket == STRING
    input.Body.Credentials.CredentialPair.AlternateDataSourceParameters[_].S3Parameters.ManifestFileLocation.Key == STRING
    input.Body.Credentials.CredentialPair.AlternateDataSourceParameters[_].ServiceNowParameters.SiteBaseUrl == STRING
    input.Body.Credentials.CredentialPair.AlternateDataSourceParameters[_].SnowflakeParameters.Host == STRING
    input.Body.Credentials.CredentialPair.AlternateDataSourceParameters[_].SnowflakeParameters.Database == STRING
    input.Body.Credentials.CredentialPair.AlternateDataSourceParameters[_].SnowflakeParameters.Warehouse == STRING
    input.Body.Credentials.CredentialPair.AlternateDataSourceParameters[_].SparkParameters.Host == STRING
    input.Body.Credentials.CredentialPair.AlternateDataSourceParameters[_].SparkParameters.Port == INTEGER
    input.Body.Credentials.CredentialPair.AlternateDataSourceParameters[_].SqlServerParameters.Host == STRING
    input.Body.Credentials.CredentialPair.AlternateDataSourceParameters[_].SqlServerParameters.Port == INTEGER
    input.Body.Credentials.CredentialPair.AlternateDataSourceParameters[_].SqlServerParameters.Database == STRING
    input.Body.Credentials.CredentialPair.AlternateDataSourceParameters[_].TeradataParameters.Host == STRING
    input.Body.Credentials.CredentialPair.AlternateDataSourceParameters[_].TeradataParameters.Port == INTEGER
    input.Body.Credentials.CredentialPair.AlternateDataSourceParameters[_].TeradataParameters.Database == STRING
    input.Body.Credentials.CredentialPair.AlternateDataSourceParameters[_].TwitterParameters.Query == STRING
    input.Body.Credentials.CredentialPair.AlternateDataSourceParameters[_].TwitterParameters.MaxRows == INTEGER
    input.Body.Credentials.CredentialPair.AlternateDataSourceParameters[_].AmazonOpenSearchParameters.Domain == STRING
    input.Body.Credentials.CredentialPair.AlternateDataSourceParameters[_].ExasolParameters.Host == STRING
    input.Body.Credentials.CredentialPair.AlternateDataSourceParameters[_].ExasolParameters.Port == INTEGER
    input.Body.Credentials.CredentialPair.AlternateDataSourceParameters[_].DatabricksParameters.Host == STRING
    input.Body.Credentials.CredentialPair.AlternateDataSourceParameters[_].DatabricksParameters.Port == INTEGER
    input.Body.Credentials.CredentialPair.AlternateDataSourceParameters[_].DatabricksParameters.SqlEndpointPath == STRING
    input.Body.Credentials.CopySourceArn == STRING
    input.Body.Credentials.SecretArn == STRING
    input.Body.VpcConnectionProperties.VpcConnectionArn == STRING
    input.Body.SslProperties.DisableSsl == BOOLEAN
    input.ReqMap.AwsAccountId == STRING
    input.ReqMap.DataSourceId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UpdateDataSourcePermissions

valid {
    input.Body.GrantPermissions[_].Principal == STRING
    input.Body.GrantPermissions[_].Actions[_] == STRING
    input.Body.RevokePermissions[_].Principal == STRING
    input.Body.RevokePermissions[_].Actions[_] == STRING
    input.ReqMap.AwsAccountId == STRING
    input.ReqMap.DataSourceId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UpdateFolder

valid {
    input.Body.Name == STRING
    input.ReqMap.AwsAccountId == STRING
    input.ReqMap.FolderId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UpdateFolderPermissions

valid {
    input.Body.GrantPermissions[_].Principal == STRING
    input.Body.GrantPermissions[_].Actions[_] == STRING
    input.Body.RevokePermissions[_].Principal == STRING
    input.Body.RevokePermissions[_].Actions[_] == STRING
    input.ReqMap.AwsAccountId == STRING
    input.ReqMap.FolderId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UpdateGroup

valid {
    input.Body.Description == STRING
    input.ReqMap.GroupName == STRING
    input.ReqMap.AwsAccountId == STRING
    input.ReqMap.Namespace == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UpdateIAMPolicyAssignment

enum_AssignmentStatus := [ "ENABLED", "DRAFT", "DISABLED" ]

valid {
    input.Body.AssignmentStatus == enum_AssignmentStatus[_]
    input.Body.PolicyArn == STRING
    input.Body.Identities.STRING[_] == STRING
    input.ReqMap.AwsAccountId == STRING
    input.ReqMap.AssignmentName == STRING
    input.ReqMap.Namespace == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UpdateIpRestriction

valid {
    input.Body.IpRestrictionRuleMap.STRING == STRING
    input.Body.Enabled == BOOLEAN
    input.ReqMap.AwsAccountId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UpdatePublicSharingSettings

valid {
    input.Body.PublicSharingEnabled == BOOLEAN
    input.ReqMap.AwsAccountId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UpdateTemplate

valid {
    input.Body.SourceEntity.SourceAnalysis.Arn == STRING
    input.Body.SourceEntity.SourceAnalysis.DataSetReferences[_].DataSetPlaceholder == STRING
    input.Body.SourceEntity.SourceAnalysis.DataSetReferences[_].DataSetArn == STRING
    input.Body.SourceEntity.SourceTemplate.Arn == STRING
    input.Body.VersionDescription == STRING
    input.Body.Name == STRING
    input.ReqMap.AwsAccountId == STRING
    input.ReqMap.TemplateId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UpdateTemplateAlias

valid {
    input.Body.TemplateVersionNumber == LONG
    input.ReqMap.AwsAccountId == STRING
    input.ReqMap.TemplateId == STRING
    input.ReqMap.AliasName == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UpdateTemplatePermissions

valid {
    input.Body.GrantPermissions[_].Principal == STRING
    input.Body.GrantPermissions[_].Actions[_] == STRING
    input.Body.RevokePermissions[_].Principal == STRING
    input.Body.RevokePermissions[_].Actions[_] == STRING
    input.ReqMap.AwsAccountId == STRING
    input.ReqMap.TemplateId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UpdateTheme

valid {
    input.Body.Name == STRING
    input.Body.BaseThemeId == STRING
    input.Body.VersionDescription == STRING
    input.Body.Configuration.DataColorPalette.Colors[_] == STRING
    input.Body.Configuration.DataColorPalette.MinMaxGradient[_] == STRING
    input.Body.Configuration.DataColorPalette.EmptyFillColor == STRING
    input.Body.Configuration.UIColorPalette.PrimaryForeground == STRING
    input.Body.Configuration.UIColorPalette.PrimaryBackground == STRING
    input.Body.Configuration.UIColorPalette.SecondaryForeground == STRING
    input.Body.Configuration.UIColorPalette.SecondaryBackground == STRING
    input.Body.Configuration.UIColorPalette.Accent == STRING
    input.Body.Configuration.UIColorPalette.AccentForeground == STRING
    input.Body.Configuration.UIColorPalette.Danger == STRING
    input.Body.Configuration.UIColorPalette.DangerForeground == STRING
    input.Body.Configuration.UIColorPalette.Warning == STRING
    input.Body.Configuration.UIColorPalette.WarningForeground == STRING
    input.Body.Configuration.UIColorPalette.Success == STRING
    input.Body.Configuration.UIColorPalette.SuccessForeground == STRING
    input.Body.Configuration.UIColorPalette.Dimension == STRING
    input.Body.Configuration.UIColorPalette.DimensionForeground == STRING
    input.Body.Configuration.UIColorPalette.Measure == STRING
    input.Body.Configuration.UIColorPalette.MeasureForeground == STRING
    input.Body.Configuration.Sheet.Tile.Border.Show == BOOLEAN
    input.Body.Configuration.Sheet.TileLayout.Gutter.Show == BOOLEAN
    input.Body.Configuration.Sheet.TileLayout.Margin.Show == BOOLEAN
    input.ReqMap.AwsAccountId == STRING
    input.ReqMap.ThemeId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UpdateThemeAlias

valid {
    input.Body.ThemeVersionNumber == LONG
    input.ReqMap.AwsAccountId == STRING
    input.ReqMap.ThemeId == STRING
    input.ReqMap.AliasName == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UpdateThemePermissions

valid {
    input.Body.GrantPermissions[_].Principal == STRING
    input.Body.GrantPermissions[_].Actions[_] == STRING
    input.Body.RevokePermissions[_].Principal == STRING
    input.Body.RevokePermissions[_].Actions[_] == STRING
    input.ReqMap.AwsAccountId == STRING
    input.ReqMap.ThemeId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UpdateUser

enum_UserRole := [ "ADMIN", "AUTHOR", "READER", "RESTRICTED_AUTHOR", "RESTRICTED_READER" ]

valid {
    input.Body.Email == STRING
    input.Body.Role == enum_UserRole[_]
    input.Body.CustomPermissionsName == STRING
    input.Body.UnapplyCustomPermissions == BOOLEAN
    input.Body.ExternalLoginFederationProviderType == STRING
    input.Body.CustomFederationProviderUrl == STRING
    input.Body.ExternalLoginId == STRING
    input.ReqMap.UserName == STRING
    input.ReqMap.AwsAccountId == STRING
    input.ReqMap.Namespace == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}