CreateBroker

enum_AuthenticationStrategy := [ "SIMPLE", "LDAP" ]
enum_BrokerStorageType := [ "EBS", "EFS" ]
enum_DataReplicationMode := [ "NONE", "CRDR" ]
enum_DayOfWeek := [ "MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY", "SATURDAY", "SUNDAY" ]
enum_DeploymentMode := [ "SINGLE_INSTANCE", "ACTIVE_STANDBY_MULTI_AZ", "CLUSTER_MULTI_AZ" ]
enum_EngineType := [ "ACTIVEMQ", "RABBITMQ" ]

valid {
    input.Body.authenticationStrategy == enum_AuthenticationStrategy[_]
    input.Body.autoMinorVersionUpgrade == BOOLEAN
    input.Body.brokerName == STRING
    input.Body.configuration.id == STRING
    input.Body.configuration.revision == INTEGER
    input.Body.creatorRequestId == STRING
    input.Body.deploymentMode == enum_DeploymentMode[_]
    input.Body.encryptionOptions.kmsKeyId == STRING
    input.Body.encryptionOptions.useAwsOwnedKey == BOOLEAN
    input.Body.engineType == enum_EngineType[_]
    input.Body.engineVersion == STRING
    input.Body.hostInstanceType == STRING
    input.Body.ldapServerMetadata.hosts[_] == STRING
    input.Body.ldapServerMetadata.roleBase == STRING
    input.Body.ldapServerMetadata.roleName == STRING
    input.Body.ldapServerMetadata.roleSearchMatching == STRING
    input.Body.ldapServerMetadata.roleSearchSubtree == BOOLEAN
    input.Body.ldapServerMetadata.serviceAccountPassword == STRING
    input.Body.ldapServerMetadata.serviceAccountUsername == STRING
    input.Body.ldapServerMetadata.userBase == STRING
    input.Body.ldapServerMetadata.userRoleName == STRING
    input.Body.ldapServerMetadata.userSearchMatching == STRING
    input.Body.ldapServerMetadata.userSearchSubtree == BOOLEAN
    input.Body.logs.audit == BOOLEAN
    input.Body.logs.general == BOOLEAN
    input.Body.maintenanceWindowStartTime.dayOfWeek == enum_DayOfWeek[_]
    input.Body.maintenanceWindowStartTime.timeOfDay == STRING
    input.Body.maintenanceWindowStartTime.timeZone == STRING
    input.Body.publiclyAccessible == BOOLEAN
    input.Body.securityGroups[_] == STRING
    input.Body.storageType == enum_BrokerStorageType[_]
    input.Body.subnetIds[_] == STRING
    input.Body.tags.STRING == STRING
    input.Body.users[_].consoleAccess == BOOLEAN
    input.Body.users[_].groups[_] == STRING
    input.Body.users[_].password == STRING
    input.Body.users[_].username == STRING
    input.Body.users[_].replicationUser == BOOLEAN
    input.Body.dataReplicationMode == enum_DataReplicationMode[_]
    input.Body.dataReplicationPrimaryBrokerArn == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateConfiguration

enum_AuthenticationStrategy := [ "SIMPLE", "LDAP" ]
enum_EngineType := [ "ACTIVEMQ", "RABBITMQ" ]

valid {
    input.Body.authenticationStrategy == enum_AuthenticationStrategy[_]
    input.Body.engineType == enum_EngineType[_]
    input.Body.engineVersion == STRING
    input.Body.name == STRING
    input.Body.tags.STRING == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateTags

valid {
    input.Body.tags.STRING == STRING
    input.ReqMap.resource-arn == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateUser

valid {
    input.Body.consoleAccess == BOOLEAN
    input.Body.groups[_] == STRING
    input.Body.password == STRING
    input.Body.replicationUser == BOOLEAN
    input.ReqMap.broker-id == STRING
    input.ReqMap.username == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DeleteBroker

valid {
    input.ReqMap.broker-id == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DeleteTags

valid {
    input.ReqMap.resource-arn == STRING
    input.Qs.tagKeys[_] == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DeleteUser

valid {
    input.ReqMap.broker-id == STRING
    input.ReqMap.username == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DescribeBroker

valid {
    input.ReqMap.broker-id == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DescribeBrokerEngineTypes

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

DescribeBrokerInstanceOptions

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

DescribeConfiguration

valid {
    input.ReqMap.configuration-id == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DescribeConfigurationRevision

valid {
    input.ReqMap.configuration-id == STRING
    input.ReqMap.configuration-revision == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DescribeUser

valid {
    input.ReqMap.broker-id == STRING
    input.ReqMap.username == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListBrokers

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

ListConfigurationRevisions

valid {
    input.ReqMap.configuration-id == STRING
    input.Qs.maxResults == INTEGER
    input.Qs.nextToken == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListConfigurations

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

ListTags

valid {
    input.ReqMap.resource-arn == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListUsers

valid {
    input.ReqMap.broker-id == STRING
    input.Qs.maxResults == INTEGER
    input.Qs.nextToken == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

Promote

enum_PromoteMode := [ "SWITCHOVER", "FAILOVER" ]

valid {
    input.Body.mode == enum_PromoteMode[_]
    input.ReqMap.broker-id == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

RebootBroker

valid {
    input.ReqMap.broker-id == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UpdateBroker

enum_AuthenticationStrategy := [ "SIMPLE", "LDAP" ]
enum_DataReplicationMode := [ "NONE", "CRDR" ]
enum_DayOfWeek := [ "MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY", "SATURDAY", "SUNDAY" ]

valid {
    input.Body.authenticationStrategy == enum_AuthenticationStrategy[_]
    input.Body.autoMinorVersionUpgrade == BOOLEAN
    input.Body.configuration.id == STRING
    input.Body.configuration.revision == INTEGER
    input.Body.engineVersion == STRING
    input.Body.hostInstanceType == STRING
    input.Body.ldapServerMetadata.hosts[_] == STRING
    input.Body.ldapServerMetadata.roleBase == STRING
    input.Body.ldapServerMetadata.roleName == STRING
    input.Body.ldapServerMetadata.roleSearchMatching == STRING
    input.Body.ldapServerMetadata.roleSearchSubtree == BOOLEAN
    input.Body.ldapServerMetadata.serviceAccountPassword == STRING
    input.Body.ldapServerMetadata.serviceAccountUsername == STRING
    input.Body.ldapServerMetadata.userBase == STRING
    input.Body.ldapServerMetadata.userRoleName == STRING
    input.Body.ldapServerMetadata.userSearchMatching == STRING
    input.Body.ldapServerMetadata.userSearchSubtree == BOOLEAN
    input.Body.logs.audit == BOOLEAN
    input.Body.logs.general == BOOLEAN
    input.Body.maintenanceWindowStartTime.dayOfWeek == enum_DayOfWeek[_]
    input.Body.maintenanceWindowStartTime.timeOfDay == STRING
    input.Body.maintenanceWindowStartTime.timeZone == STRING
    input.Body.securityGroups[_] == STRING
    input.Body.dataReplicationMode == enum_DataReplicationMode[_]
    input.ReqMap.broker-id == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UpdateConfiguration

valid {
    input.Body.data == STRING
    input.Body.description == STRING
    input.ReqMap.configuration-id == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UpdateUser

valid {
    input.Body.consoleAccess == BOOLEAN
    input.Body.groups[_] == STRING
    input.Body.password == STRING
    input.Body.replicationUser == BOOLEAN
    input.ReqMap.broker-id == STRING
    input.ReqMap.username == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}