CreateCliToken

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

CreateEnvironment

enum_EndpointManagement := [ "CUSTOMER", "SERVICE" ]
enum_LoggingLevel := [ "CRITICAL", "ERROR", "WARNING", "INFO", "DEBUG" ]
enum_WebserverAccessMode := [ "PRIVATE_ONLY", "PUBLIC_ONLY" ]

valid {
    input.Body.ExecutionRoleArn == STRING
    input.Body.SourceBucketArn == STRING
    input.Body.DagS3Path == STRING
    input.Body.NetworkConfiguration.SubnetIds[_] == STRING
    input.Body.NetworkConfiguration.SecurityGroupIds[_] == STRING
    input.Body.PluginsS3Path == STRING
    input.Body.PluginsS3ObjectVersion == STRING
    input.Body.RequirementsS3Path == STRING
    input.Body.RequirementsS3ObjectVersion == STRING
    input.Body.StartupScriptS3Path == STRING
    input.Body.StartupScriptS3ObjectVersion == STRING
    input.Body.AirflowConfigurationOptions.STRING == STRING
    input.Body.EnvironmentClass == STRING
    input.Body.MaxWorkers == INTEGER
    input.Body.KmsKey == STRING
    input.Body.AirflowVersion == STRING
    input.Body.LoggingConfiguration.DagProcessingLogs.Enabled == BOOLEAN
    input.Body.LoggingConfiguration.DagProcessingLogs.LogLevel == enum_LoggingLevel[_]
    input.Body.LoggingConfiguration.SchedulerLogs.Enabled == BOOLEAN
    input.Body.LoggingConfiguration.SchedulerLogs.LogLevel == enum_LoggingLevel[_]
    input.Body.LoggingConfiguration.WebserverLogs.Enabled == BOOLEAN
    input.Body.LoggingConfiguration.WebserverLogs.LogLevel == enum_LoggingLevel[_]
    input.Body.LoggingConfiguration.WorkerLogs.Enabled == BOOLEAN
    input.Body.LoggingConfiguration.WorkerLogs.LogLevel == enum_LoggingLevel[_]
    input.Body.LoggingConfiguration.TaskLogs.Enabled == BOOLEAN
    input.Body.LoggingConfiguration.TaskLogs.LogLevel == enum_LoggingLevel[_]
    input.Body.WeeklyMaintenanceWindowStart == STRING
    input.Body.Tags.STRING == STRING
    input.Body.WebserverAccessMode == enum_WebserverAccessMode[_]
    input.Body.MinWorkers == INTEGER
    input.Body.Schedulers == INTEGER
    input.Body.EndpointManagement == enum_EndpointManagement[_]
    input.Body.MinWebservers == INTEGER
    input.Body.MaxWebservers == INTEGER
    input.ReqMap.Name == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateWebLoginToken

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

DeleteEnvironment

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

GetEnvironment

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

InvokeRestApi

enum_RestApiMethod := [ "GET", "PUT", "POST", "PATCH", "DELETE" ]

valid {
    input.Body.Path == STRING
    input.Body.Method == enum_RestApiMethod[_]
    input.Body.QueryParameters == {}
    input.Body.Body == {}
    input.ReqMap.Name == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListEnvironments

valid {
    input.Qs.NextToken == STRING
    input.Qs.MaxResults == 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
}

PublishMetrics

enum_Unit := [ "Seconds", "Microseconds", "Milliseconds", "Bytes", "Kilobytes", "Megabytes", "Gigabytes", "Terabytes", "Bits", "Kilobits", "Megabits", "Gigabits", "Terabits", "Percent", "Count", "Bytes/Second", "Kilobytes/Second", "Megabytes/Second", "Gigabytes/Second", "Terabytes/Second", "Bits/Second", "Kilobits/Second", "Megabits/Second", "Gigabits/Second", "Terabits/Second", "Count/Second", "None" ]

valid {
    input.Body.MetricData[_].MetricName == STRING
    input.Body.MetricData[_].Timestamp == TIMESTAMP
    input.Body.MetricData[_].Dimensions[_].Name == STRING
    input.Body.MetricData[_].Dimensions[_].Value == STRING
    input.Body.MetricData[_].Value == DOUBLE
    input.Body.MetricData[_].Unit == enum_Unit[_]
    input.Body.MetricData[_].StatisticValues.SampleCount == INTEGER
    input.Body.MetricData[_].StatisticValues.Sum == DOUBLE
    input.Body.MetricData[_].StatisticValues.Minimum == DOUBLE
    input.Body.MetricData[_].StatisticValues.Maximum == DOUBLE
    input.ReqMap.EnvironmentName == 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
}

UpdateEnvironment

enum_LoggingLevel := [ "CRITICAL", "ERROR", "WARNING", "INFO", "DEBUG" ]
enum_WebserverAccessMode := [ "PRIVATE_ONLY", "PUBLIC_ONLY" ]

valid {
    input.Body.ExecutionRoleArn == STRING
    input.Body.AirflowVersion == STRING
    input.Body.SourceBucketArn == STRING
    input.Body.DagS3Path == STRING
    input.Body.PluginsS3Path == STRING
    input.Body.PluginsS3ObjectVersion == STRING
    input.Body.RequirementsS3Path == STRING
    input.Body.RequirementsS3ObjectVersion == STRING
    input.Body.StartupScriptS3Path == STRING
    input.Body.StartupScriptS3ObjectVersion == STRING
    input.Body.AirflowConfigurationOptions.STRING == STRING
    input.Body.EnvironmentClass == STRING
    input.Body.MaxWorkers == INTEGER
    input.Body.NetworkConfiguration.SecurityGroupIds[_] == STRING
    input.Body.LoggingConfiguration.DagProcessingLogs.Enabled == BOOLEAN
    input.Body.LoggingConfiguration.DagProcessingLogs.LogLevel == enum_LoggingLevel[_]
    input.Body.LoggingConfiguration.SchedulerLogs.Enabled == BOOLEAN
    input.Body.LoggingConfiguration.SchedulerLogs.LogLevel == enum_LoggingLevel[_]
    input.Body.LoggingConfiguration.WebserverLogs.Enabled == BOOLEAN
    input.Body.LoggingConfiguration.WebserverLogs.LogLevel == enum_LoggingLevel[_]
    input.Body.LoggingConfiguration.WorkerLogs.Enabled == BOOLEAN
    input.Body.LoggingConfiguration.WorkerLogs.LogLevel == enum_LoggingLevel[_]
    input.Body.LoggingConfiguration.TaskLogs.Enabled == BOOLEAN
    input.Body.LoggingConfiguration.TaskLogs.LogLevel == enum_LoggingLevel[_]
    input.Body.WeeklyMaintenanceWindowStart == STRING
    input.Body.WebserverAccessMode == enum_WebserverAccessMode[_]
    input.Body.MinWorkers == INTEGER
    input.Body.Schedulers == INTEGER
    input.Body.MinWebservers == INTEGER
    input.Body.MaxWebservers == INTEGER
    input.ReqMap.Name == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}