EMR-SERVERLESS

CancelJobRun

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

CreateApplication

enum_Architecture := [ "ARM64", "X86_64" ]

valid {
    input.Body.name == STRING
    input.Body.releaseLabel == STRING
    input.Body.type == STRING
    input.Body.clientToken == STRING
    input.Body.initialCapacity.STRING.workerCount == LONG
    input.Body.initialCapacity.STRING.workerConfiguration.cpu == STRING
    input.Body.initialCapacity.STRING.workerConfiguration.memory == STRING
    input.Body.initialCapacity.STRING.workerConfiguration.disk == STRING
    input.Body.initialCapacity.STRING.workerConfiguration.diskType == STRING
    input.Body.maximumCapacity.cpu == STRING
    input.Body.maximumCapacity.memory == STRING
    input.Body.maximumCapacity.disk == STRING
    input.Body.tags.STRING == STRING
    input.Body.autoStartConfiguration.enabled == BOOLEAN
    input.Body.autoStopConfiguration.enabled == BOOLEAN
    input.Body.autoStopConfiguration.idleTimeoutMinutes == INTEGER
    input.Body.networkConfiguration.subnetIds[_] == STRING
    input.Body.networkConfiguration.securityGroupIds[_] == STRING
    input.Body.architecture == enum_Architecture[_]
    input.Body.imageConfiguration.imageUri == STRING
    input.Body.workerTypeSpecifications.STRING.imageConfiguration.imageUri == STRING
    input.Body.runtimeConfiguration[_].classification == STRING
    input.Body.runtimeConfiguration[_].properties.STRING == STRING
    input.Body.runtimeConfiguration[_].configurations == NESTED
    input.Body.monitoringConfiguration.s3MonitoringConfiguration.logUri == STRING
    input.Body.monitoringConfiguration.s3MonitoringConfiguration.encryptionKeyArn == STRING
    input.Body.monitoringConfiguration.managedPersistenceMonitoringConfiguration.enabled == BOOLEAN
    input.Body.monitoringConfiguration.managedPersistenceMonitoringConfiguration.encryptionKeyArn == STRING
    input.Body.monitoringConfiguration.cloudWatchLoggingConfiguration.enabled == BOOLEAN
    input.Body.monitoringConfiguration.cloudWatchLoggingConfiguration.logGroupName == STRING
    input.Body.monitoringConfiguration.cloudWatchLoggingConfiguration.logStreamNamePrefix == STRING
    input.Body.monitoringConfiguration.cloudWatchLoggingConfiguration.encryptionKeyArn == STRING
    input.Body.monitoringConfiguration.cloudWatchLoggingConfiguration.logTypes.STRING[_] == STRING
    input.Body.monitoringConfiguration.prometheusMonitoringConfiguration.remoteWriteUrl == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DeleteApplication

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

GetApplication

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

GetDashboardForJobRun

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

GetJobRun

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

ListApplications

enum_ApplicationState := [ "CREATING", "CREATED", "STARTING", "STARTED", "STOPPING", "STOPPED", "TERMINATED" ]

valid {
    input.Qs.nextToken == STRING
    input.Qs.maxResults == INTEGER
    input.Qs.states[_] == enum_ApplicationState[_]
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListJobRuns

enum_JobRunState := [ "SUBMITTED", "PENDING", "SCHEDULED", "RUNNING", "SUCCESS", "FAILED", "CANCELLING", "CANCELLED" ]

valid {
    input.ReqMap.applicationId == STRING
    input.Qs.nextToken == STRING
    input.Qs.maxResults == INTEGER
    input.Qs.createdAtAfter == TIMESTAMP
    input.Qs.createdAtBefore == TIMESTAMP
    input.Qs.states[_] == enum_JobRunState[_]
    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
}

StartApplication

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

StartJobRun

valid {
    input.Body.clientToken == STRING
    input.Body.executionRoleArn == STRING
    input.Body.jobDriver.sparkSubmit.entryPoint == STRING
    input.Body.jobDriver.sparkSubmit.entryPointArguments[_] == STRING
    input.Body.jobDriver.sparkSubmit.sparkSubmitParameters == STRING
    input.Body.jobDriver.hive.query == STRING
    input.Body.jobDriver.hive.initQueryFile == STRING
    input.Body.jobDriver.hive.parameters == STRING
    input.Body.configurationOverrides.applicationConfiguration[_].classification == STRING
    input.Body.configurationOverrides.applicationConfiguration[_].properties.STRING == STRING
    input.Body.configurationOverrides.applicationConfiguration[_].configurations == NESTED
    input.Body.configurationOverrides.monitoringConfiguration.s3MonitoringConfiguration.logUri == STRING
    input.Body.configurationOverrides.monitoringConfiguration.s3MonitoringConfiguration.encryptionKeyArn == STRING
    input.Body.configurationOverrides.monitoringConfiguration.managedPersistenceMonitoringConfiguration.enabled == BOOLEAN
    input.Body.configurationOverrides.monitoringConfiguration.managedPersistenceMonitoringConfiguration.encryptionKeyArn == STRING
    input.Body.configurationOverrides.monitoringConfiguration.cloudWatchLoggingConfiguration.enabled == BOOLEAN
    input.Body.configurationOverrides.monitoringConfiguration.cloudWatchLoggingConfiguration.logGroupName == STRING
    input.Body.configurationOverrides.monitoringConfiguration.cloudWatchLoggingConfiguration.logStreamNamePrefix == STRING
    input.Body.configurationOverrides.monitoringConfiguration.cloudWatchLoggingConfiguration.encryptionKeyArn == STRING
    input.Body.configurationOverrides.monitoringConfiguration.cloudWatchLoggingConfiguration.logTypes.STRING[_] == STRING
    input.Body.configurationOverrides.monitoringConfiguration.prometheusMonitoringConfiguration.remoteWriteUrl == STRING
    input.Body.tags.STRING == STRING
    input.Body.executionTimeoutMinutes == LONG
    input.Body.name == STRING
    input.ReqMap.applicationId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

StopApplication

valid {
    input.ReqMap.applicationId == 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
}

UpdateApplication

enum_Architecture := [ "ARM64", "X86_64" ]

valid {
    input.Body.clientToken == STRING
    input.Body.initialCapacity.STRING.workerCount == LONG
    input.Body.initialCapacity.STRING.workerConfiguration.cpu == STRING
    input.Body.initialCapacity.STRING.workerConfiguration.memory == STRING
    input.Body.initialCapacity.STRING.workerConfiguration.disk == STRING
    input.Body.initialCapacity.STRING.workerConfiguration.diskType == STRING
    input.Body.maximumCapacity.cpu == STRING
    input.Body.maximumCapacity.memory == STRING
    input.Body.maximumCapacity.disk == STRING
    input.Body.autoStartConfiguration.enabled == BOOLEAN
    input.Body.autoStopConfiguration.enabled == BOOLEAN
    input.Body.autoStopConfiguration.idleTimeoutMinutes == INTEGER
    input.Body.networkConfiguration.subnetIds[_] == STRING
    input.Body.networkConfiguration.securityGroupIds[_] == STRING
    input.Body.architecture == enum_Architecture[_]
    input.Body.imageConfiguration.imageUri == STRING
    input.Body.workerTypeSpecifications.STRING.imageConfiguration.imageUri == STRING
    input.Body.releaseLabel == STRING
    input.Body.runtimeConfiguration[_].classification == STRING
    input.Body.runtimeConfiguration[_].properties.STRING == STRING
    input.Body.runtimeConfiguration[_].configurations == NESTED
    input.Body.monitoringConfiguration.s3MonitoringConfiguration.logUri == STRING
    input.Body.monitoringConfiguration.s3MonitoringConfiguration.encryptionKeyArn == STRING
    input.Body.monitoringConfiguration.managedPersistenceMonitoringConfiguration.enabled == BOOLEAN
    input.Body.monitoringConfiguration.managedPersistenceMonitoringConfiguration.encryptionKeyArn == STRING
    input.Body.monitoringConfiguration.cloudWatchLoggingConfiguration.enabled == BOOLEAN
    input.Body.monitoringConfiguration.cloudWatchLoggingConfiguration.logGroupName == STRING
    input.Body.monitoringConfiguration.cloudWatchLoggingConfiguration.logStreamNamePrefix == STRING
    input.Body.monitoringConfiguration.cloudWatchLoggingConfiguration.encryptionKeyArn == STRING
    input.Body.monitoringConfiguration.cloudWatchLoggingConfiguration.logTypes.STRING[_] == STRING
    input.Body.monitoringConfiguration.prometheusMonitoringConfiguration.remoteWriteUrl == STRING
    input.ReqMap.applicationId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}