CreateApplication

valid {
    input.Body.Name == STRING
    input.Body.Description == STRING
    input.Body.Tags.STRING == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateConfigurationProfile

enum_ValidatorType := [ "JSON_SCHEMA", "LAMBDA" ]

valid {
    input.Body.Name == STRING
    input.Body.Description == STRING
    input.Body.LocationUri == STRING
    input.Body.RetrievalRoleArn == STRING
    input.Body.Validators[_].Type == enum_ValidatorType[_]
    input.Body.Validators[_].Content == STRING
    input.Body.Tags.STRING == STRING
    input.Body.Type == STRING
    input.Body.KmsKeyIdentifier == STRING
    input.ReqMap.ApplicationId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateDeploymentStrategy

enum_GrowthType := [ "LINEAR", "EXPONENTIAL" ]
enum_ReplicateTo := [ "NONE", "SSM_DOCUMENT" ]

valid {
    input.Body.Name == STRING
    input.Body.Description == STRING
    input.Body.DeploymentDurationInMinutes == INTEGER
    input.Body.FinalBakeTimeInMinutes == INTEGER
    input.Body.GrowthFactor == FLOAT
    input.Body.GrowthType == enum_GrowthType[_]
    input.Body.ReplicateTo == enum_ReplicateTo[_]
    input.Body.Tags.STRING == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateEnvironment

valid {
    input.Body.Name == STRING
    input.Body.Description == STRING
    input.Body.Monitors[_].AlarmArn == STRING
    input.Body.Monitors[_].AlarmRoleArn == STRING
    input.Body.Tags.STRING == STRING
    input.ReqMap.ApplicationId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateExtension

valid {
    input.Body.Name == STRING
    input.Body.Description == STRING
    input.Body.Actions.PRE_CREATE_HOSTED_CONFIGURATION_VERSION[_].Name == STRING
    input.Body.Actions.PRE_CREATE_HOSTED_CONFIGURATION_VERSION[_].Description == STRING
    input.Body.Actions.PRE_CREATE_HOSTED_CONFIGURATION_VERSION[_].Uri == STRING
    input.Body.Actions.PRE_CREATE_HOSTED_CONFIGURATION_VERSION[_].RoleArn == STRING
    input.Body.Actions.PRE_START_DEPLOYMENT[_].Name == STRING
    input.Body.Actions.PRE_START_DEPLOYMENT[_].Description == STRING
    input.Body.Actions.PRE_START_DEPLOYMENT[_].Uri == STRING
    input.Body.Actions.PRE_START_DEPLOYMENT[_].RoleArn == STRING
    input.Body.Actions.AT_DEPLOYMENT_TICK[_].Name == STRING
    input.Body.Actions.AT_DEPLOYMENT_TICK[_].Description == STRING
    input.Body.Actions.AT_DEPLOYMENT_TICK[_].Uri == STRING
    input.Body.Actions.AT_DEPLOYMENT_TICK[_].RoleArn == STRING
    input.Body.Actions.ON_DEPLOYMENT_START[_].Name == STRING
    input.Body.Actions.ON_DEPLOYMENT_START[_].Description == STRING
    input.Body.Actions.ON_DEPLOYMENT_START[_].Uri == STRING
    input.Body.Actions.ON_DEPLOYMENT_START[_].RoleArn == STRING
    input.Body.Actions.ON_DEPLOYMENT_STEP[_].Name == STRING
    input.Body.Actions.ON_DEPLOYMENT_STEP[_].Description == STRING
    input.Body.Actions.ON_DEPLOYMENT_STEP[_].Uri == STRING
    input.Body.Actions.ON_DEPLOYMENT_STEP[_].RoleArn == STRING
    input.Body.Actions.ON_DEPLOYMENT_BAKING[_].Name == STRING
    input.Body.Actions.ON_DEPLOYMENT_BAKING[_].Description == STRING
    input.Body.Actions.ON_DEPLOYMENT_BAKING[_].Uri == STRING
    input.Body.Actions.ON_DEPLOYMENT_BAKING[_].RoleArn == STRING
    input.Body.Actions.ON_DEPLOYMENT_COMPLETE[_].Name == STRING
    input.Body.Actions.ON_DEPLOYMENT_COMPLETE[_].Description == STRING
    input.Body.Actions.ON_DEPLOYMENT_COMPLETE[_].Uri == STRING
    input.Body.Actions.ON_DEPLOYMENT_COMPLETE[_].RoleArn == STRING
    input.Body.Actions.ON_DEPLOYMENT_ROLLED_BACK[_].Name == STRING
    input.Body.Actions.ON_DEPLOYMENT_ROLLED_BACK[_].Description == STRING
    input.Body.Actions.ON_DEPLOYMENT_ROLLED_BACK[_].Uri == STRING
    input.Body.Actions.ON_DEPLOYMENT_ROLLED_BACK[_].RoleArn == STRING
    input.Body.Parameters.STRING.Description == STRING
    input.Body.Parameters.STRING.Required == BOOLEAN
    input.Body.Parameters.STRING.Dynamic == BOOLEAN
    input.Body.Tags.STRING == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateExtensionAssociation

valid {
    input.Body.ExtensionIdentifier == STRING
    input.Body.ExtensionVersionNumber == INTEGER
    input.Body.ResourceIdentifier == STRING
    input.Body.Parameters.STRING == STRING
    input.Body.Tags.STRING == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateHostedConfigurationVersion

valid {
    input.Body.Content == BLOB
    input.ReqMap.ApplicationId == STRING
    input.ReqMap.ConfigurationProfileId == 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
}

DeleteConfigurationProfile

enum_DeletionProtectionCheck := [ "ACCOUNT_DEFAULT", "APPLY", "BYPASS" ]

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

DeleteDeploymentStrategy

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

DeleteEnvironment

enum_DeletionProtectionCheck := [ "ACCOUNT_DEFAULT", "APPLY", "BYPASS" ]

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

DeleteExtension

valid {
    input.ReqMap.ExtensionIdentifier == STRING
    input.Qs.version == INTEGER
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DeleteExtensionAssociation

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

DeleteHostedConfigurationVersion

valid {
    input.ReqMap.ApplicationId == STRING
    input.ReqMap.ConfigurationProfileId == STRING
    input.ReqMap.VersionNumber == INTEGER
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

GetAccountSettings

valid {
    input.ReqMap.ApplicationId == STRING
    input.ReqMap.ConfigurationProfileId == STRING
    input.ReqMap.VersionNumber == INTEGER
    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
}

GetConfiguration

valid {
    input.ReqMap.Application == STRING
    input.ReqMap.Environment == STRING
    input.ReqMap.Configuration == STRING
    input.Qs.client_id == STRING
    input.Qs.client_configuration_version == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

GetConfigurationProfile

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

GetDeployment

valid {
    input.ReqMap.ApplicationId == STRING
    input.ReqMap.EnvironmentId == STRING
    input.ReqMap.DeploymentNumber == INTEGER
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

GetDeploymentStrategy

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

GetEnvironment

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

GetExtension

valid {
    input.ReqMap.ExtensionIdentifier == STRING
    input.Qs.version_number == INTEGER
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

GetExtensionAssociation

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

GetHostedConfigurationVersion

valid {
    input.ReqMap.ApplicationId == STRING
    input.ReqMap.ConfigurationProfileId == STRING
    input.ReqMap.VersionNumber == INTEGER
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListApplications

valid {
    input.Qs.max_results == INTEGER
    input.Qs.next_token == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListConfigurationProfiles

valid {
    input.ReqMap.ApplicationId == STRING
    input.Qs.max_results == INTEGER
    input.Qs.next_token == STRING
    input.Qs.type == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListDeploymentStrategies

valid {
    input.Qs.max_results == INTEGER
    input.Qs.next_token == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListDeployments

valid {
    input.ReqMap.ApplicationId == STRING
    input.ReqMap.EnvironmentId == STRING
    input.Qs.max_results == INTEGER
    input.Qs.next_token == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListEnvironments

valid {
    input.ReqMap.ApplicationId == STRING
    input.Qs.max_results == INTEGER
    input.Qs.next_token == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListExtensionAssociations

valid {
    input.Qs.resource_identifier == STRING
    input.Qs.extension_identifier == STRING
    input.Qs.extension_version_number == INTEGER
    input.Qs.max_results == INTEGER
    input.Qs.next_token == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListExtensions

valid {
    input.Qs.max_results == INTEGER
    input.Qs.next_token == STRING
    input.Qs.name == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListHostedConfigurationVersions

valid {
    input.ReqMap.ApplicationId == STRING
    input.ReqMap.ConfigurationProfileId == STRING
    input.Qs.max_results == INTEGER
    input.Qs.next_token == STRING
    input.Qs.version_label == 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
}

StartDeployment

valid {
    input.Body.DeploymentStrategyId == STRING
    input.Body.ConfigurationProfileId == STRING
    input.Body.ConfigurationVersion == STRING
    input.Body.Description == STRING
    input.Body.Tags.STRING == STRING
    input.Body.KmsKeyIdentifier == STRING
    input.Body.DynamicExtensionParameters.STRING == STRING
    input.ReqMap.ApplicationId == STRING
    input.ReqMap.EnvironmentId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

StopDeployment

valid {
    input.ReqMap.ApplicationId == STRING
    input.ReqMap.EnvironmentId == STRING
    input.ReqMap.DeploymentNumber == INTEGER
    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
}

UpdateAccountSettings

valid {
    input.Body.DeletionProtection.Enabled == BOOLEAN
    input.Body.DeletionProtection.ProtectionPeriodInMinutes == INTEGER
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UpdateApplication

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

UpdateConfigurationProfile

enum_ValidatorType := [ "JSON_SCHEMA", "LAMBDA" ]

valid {
    input.Body.Name == STRING
    input.Body.Description == STRING
    input.Body.RetrievalRoleArn == STRING
    input.Body.Validators[_].Type == enum_ValidatorType[_]
    input.Body.Validators[_].Content == STRING
    input.Body.KmsKeyIdentifier == STRING
    input.ReqMap.ApplicationId == STRING
    input.ReqMap.ConfigurationProfileId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UpdateDeploymentStrategy

enum_GrowthType := [ "LINEAR", "EXPONENTIAL" ]

valid {
    input.Body.Description == STRING
    input.Body.DeploymentDurationInMinutes == INTEGER
    input.Body.FinalBakeTimeInMinutes == INTEGER
    input.Body.GrowthFactor == FLOAT
    input.Body.GrowthType == enum_GrowthType[_]
    input.ReqMap.DeploymentStrategyId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UpdateEnvironment

valid {
    input.Body.Name == STRING
    input.Body.Description == STRING
    input.Body.Monitors[_].AlarmArn == STRING
    input.Body.Monitors[_].AlarmRoleArn == STRING
    input.ReqMap.ApplicationId == STRING
    input.ReqMap.EnvironmentId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UpdateExtension

valid {
    input.Body.Description == STRING
    input.Body.Actions.PRE_CREATE_HOSTED_CONFIGURATION_VERSION[_].Name == STRING
    input.Body.Actions.PRE_CREATE_HOSTED_CONFIGURATION_VERSION[_].Description == STRING
    input.Body.Actions.PRE_CREATE_HOSTED_CONFIGURATION_VERSION[_].Uri == STRING
    input.Body.Actions.PRE_CREATE_HOSTED_CONFIGURATION_VERSION[_].RoleArn == STRING
    input.Body.Actions.PRE_START_DEPLOYMENT[_].Name == STRING
    input.Body.Actions.PRE_START_DEPLOYMENT[_].Description == STRING
    input.Body.Actions.PRE_START_DEPLOYMENT[_].Uri == STRING
    input.Body.Actions.PRE_START_DEPLOYMENT[_].RoleArn == STRING
    input.Body.Actions.AT_DEPLOYMENT_TICK[_].Name == STRING
    input.Body.Actions.AT_DEPLOYMENT_TICK[_].Description == STRING
    input.Body.Actions.AT_DEPLOYMENT_TICK[_].Uri == STRING
    input.Body.Actions.AT_DEPLOYMENT_TICK[_].RoleArn == STRING
    input.Body.Actions.ON_DEPLOYMENT_START[_].Name == STRING
    input.Body.Actions.ON_DEPLOYMENT_START[_].Description == STRING
    input.Body.Actions.ON_DEPLOYMENT_START[_].Uri == STRING
    input.Body.Actions.ON_DEPLOYMENT_START[_].RoleArn == STRING
    input.Body.Actions.ON_DEPLOYMENT_STEP[_].Name == STRING
    input.Body.Actions.ON_DEPLOYMENT_STEP[_].Description == STRING
    input.Body.Actions.ON_DEPLOYMENT_STEP[_].Uri == STRING
    input.Body.Actions.ON_DEPLOYMENT_STEP[_].RoleArn == STRING
    input.Body.Actions.ON_DEPLOYMENT_BAKING[_].Name == STRING
    input.Body.Actions.ON_DEPLOYMENT_BAKING[_].Description == STRING
    input.Body.Actions.ON_DEPLOYMENT_BAKING[_].Uri == STRING
    input.Body.Actions.ON_DEPLOYMENT_BAKING[_].RoleArn == STRING
    input.Body.Actions.ON_DEPLOYMENT_COMPLETE[_].Name == STRING
    input.Body.Actions.ON_DEPLOYMENT_COMPLETE[_].Description == STRING
    input.Body.Actions.ON_DEPLOYMENT_COMPLETE[_].Uri == STRING
    input.Body.Actions.ON_DEPLOYMENT_COMPLETE[_].RoleArn == STRING
    input.Body.Actions.ON_DEPLOYMENT_ROLLED_BACK[_].Name == STRING
    input.Body.Actions.ON_DEPLOYMENT_ROLLED_BACK[_].Description == STRING
    input.Body.Actions.ON_DEPLOYMENT_ROLLED_BACK[_].Uri == STRING
    input.Body.Actions.ON_DEPLOYMENT_ROLLED_BACK[_].RoleArn == STRING
    input.Body.Parameters.STRING.Description == STRING
    input.Body.Parameters.STRING.Required == BOOLEAN
    input.Body.Parameters.STRING.Dynamic == BOOLEAN
    input.Body.VersionNumber == INTEGER
    input.ReqMap.ExtensionIdentifier == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UpdateExtensionAssociation

valid {
    input.Body.Parameters.STRING == STRING
    input.ReqMap.ExtensionAssociationId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ValidateConfiguration

valid {
    input.ReqMap.ApplicationId == STRING
    input.ReqMap.ConfigurationProfileId == STRING
    input.Qs.configuration_version == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}