DOCDB-ELASTIC

ApplyPendingMaintenanceAction

enum_OptInType := [ "IMMEDIATE", "NEXT_MAINTENANCE", "APPLY_ON", "UNDO_OPT_IN" ]

valid {
    input.Body.applyAction == STRING
    input.Body.applyOn == STRING
    input.Body.optInType == enum_OptInType[_]
    input.Body.resourceArn == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CopyClusterSnapshot

valid {
    input.Body.copyTags == BOOLEAN
    input.Body.kmsKeyId == STRING
    input.Body.tags.STRING == STRING
    input.Body.targetSnapshotName == STRING
    input.ReqMap.snapshotArn == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateCluster

enum_Auth := [ "PLAIN_TEXT", "SECRET_ARN" ]

valid {
    input.Body.adminUserName == STRING
    input.Body.adminUserPassword == STRING
    input.Body.authType == enum_Auth[_]
    input.Body.backupRetentionPeriod == INTEGER
    input.Body.clientToken == STRING
    input.Body.clusterName == STRING
    input.Body.kmsKeyId == STRING
    input.Body.preferredBackupWindow == STRING
    input.Body.preferredMaintenanceWindow == STRING
    input.Body.shardCapacity == INTEGER
    input.Body.shardCount == INTEGER
    input.Body.shardInstanceCount == INTEGER
    input.Body.subnetIds[_] == STRING
    input.Body.tags.STRING == STRING
    input.Body.vpcSecurityGroupIds[_] == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateClusterSnapshot

valid {
    input.Body.clusterArn == STRING
    input.Body.snapshotName == STRING
    input.Body.tags.STRING == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DeleteCluster

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

DeleteClusterSnapshot

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

GetCluster

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

GetClusterSnapshot

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

GetPendingMaintenanceAction

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

ListClusterSnapshots

valid {
    input.Qs.clusterArn == STRING
    input.Qs.maxResults == INTEGER
    input.Qs.nextToken == STRING
    input.Qs.snapshotType == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListClusters

valid {
    input.Qs.maxResults == INTEGER
    input.Qs.nextToken == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListPendingMaintenanceActions

valid {
    input.Qs.maxResults == INTEGER
    input.Qs.nextToken == STRING
    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
}

RestoreClusterFromSnapshot

valid {
    input.Body.clusterName == STRING
    input.Body.kmsKeyId == STRING
    input.Body.shardCapacity == INTEGER
    input.Body.shardInstanceCount == INTEGER
    input.Body.subnetIds[_] == STRING
    input.Body.tags.STRING == STRING
    input.Body.vpcSecurityGroupIds[_] == STRING
    input.ReqMap.snapshotArn == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

StartCluster

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

StopCluster

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

TagResource

valid {
    input.Body.tags.STRING == 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.tagKeys[_] == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UpdateCluster

enum_Auth := [ "PLAIN_TEXT", "SECRET_ARN" ]

valid {
    input.Body.adminUserPassword == STRING
    input.Body.authType == enum_Auth[_]
    input.Body.backupRetentionPeriod == INTEGER
    input.Body.clientToken == STRING
    input.Body.preferredBackupWindow == STRING
    input.Body.preferredMaintenanceWindow == STRING
    input.Body.shardCapacity == INTEGER
    input.Body.shardCount == INTEGER
    input.Body.shardInstanceCount == INTEGER
    input.Body.subnetIds[_] == STRING
    input.Body.vpcSecurityGroupIds[_] == STRING
    input.ReqMap.clusterArn == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}