AssociateCustomDomain

valid {
    input.Body.ServiceArn == STRING
    input.Body.DomainName == STRING
    input.Body.EnableWWWSubdomain == BOOLEAN
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateAutoScalingConfiguration

valid {
    input.Body.AutoScalingConfigurationName == STRING
    input.Body.MaxConcurrency == INTEGER
    input.Body.MinSize == INTEGER
    input.Body.MaxSize == INTEGER
    input.Body.Tags[_].Key == STRING
    input.Body.Tags[_].Value == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateConnection

enum_ProviderType := [ "GITHUB", "BITBUCKET" ]

valid {
    input.Body.ConnectionName == STRING
    input.Body.ProviderType == enum_ProviderType[_]
    input.Body.Tags[_].Key == STRING
    input.Body.Tags[_].Value == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateObservabilityConfiguration

enum_TracingVendor := [ "AWSXRAY" ]

valid {
    input.Body.ObservabilityConfigurationName == STRING
    input.Body.TraceConfiguration.Vendor == enum_TracingVendor[_]
    input.Body.Tags[_].Key == STRING
    input.Body.Tags[_].Value == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateService

enum_ConfigurationSource := [ "REPOSITORY", "API" ]
enum_EgressType := [ "DEFAULT", "VPC" ]
enum_HealthCheckProtocol := [ "TCP", "HTTP" ]
enum_ImageRepositoryType := [ "ECR", "ECR_PUBLIC" ]
enum_IpAddressType := [ "IPV4", "DUAL_STACK" ]
enum_Runtime := [ "PYTHON_3", "NODEJS_12", "NODEJS_14", "CORRETTO_8", "CORRETTO_11", "NODEJS_16", "GO_1", "DOTNET_6", "PHP_81", "RUBY_31", "PYTHON_311", "NODEJS_18" ]
enum_SourceCodeVersionType := [ "BRANCH" ]

valid {
    input.Body.ServiceName == STRING
    input.Body.SourceConfiguration.CodeRepository.RepositoryUrl == STRING
    input.Body.SourceConfiguration.CodeRepository.SourceCodeVersion.Type == enum_SourceCodeVersionType[_]
    input.Body.SourceConfiguration.CodeRepository.SourceCodeVersion.Value == STRING
    input.Body.SourceConfiguration.CodeRepository.CodeConfiguration.ConfigurationSource == enum_ConfigurationSource[_]
    input.Body.SourceConfiguration.CodeRepository.CodeConfiguration.CodeConfigurationValues.Runtime == enum_Runtime[_]
    input.Body.SourceConfiguration.CodeRepository.CodeConfiguration.CodeConfigurationValues.BuildCommand == STRING
    input.Body.SourceConfiguration.CodeRepository.CodeConfiguration.CodeConfigurationValues.StartCommand == STRING
    input.Body.SourceConfiguration.CodeRepository.CodeConfiguration.CodeConfigurationValues.Port == STRING
    input.Body.SourceConfiguration.CodeRepository.CodeConfiguration.CodeConfigurationValues.RuntimeEnvironmentVariables.STRING == STRING
    input.Body.SourceConfiguration.CodeRepository.CodeConfiguration.CodeConfigurationValues.RuntimeEnvironmentSecrets.STRING == STRING
    input.Body.SourceConfiguration.CodeRepository.SourceDirectory == STRING
    input.Body.SourceConfiguration.ImageRepository.ImageIdentifier == STRING
    input.Body.SourceConfiguration.ImageRepository.ImageConfiguration.RuntimeEnvironmentVariables.STRING == STRING
    input.Body.SourceConfiguration.ImageRepository.ImageConfiguration.StartCommand == STRING
    input.Body.SourceConfiguration.ImageRepository.ImageConfiguration.Port == STRING
    input.Body.SourceConfiguration.ImageRepository.ImageConfiguration.RuntimeEnvironmentSecrets.STRING == STRING
    input.Body.SourceConfiguration.ImageRepository.ImageRepositoryType == enum_ImageRepositoryType[_]
    input.Body.SourceConfiguration.AutoDeploymentsEnabled == BOOLEAN
    input.Body.SourceConfiguration.AuthenticationConfiguration.ConnectionArn == STRING
    input.Body.SourceConfiguration.AuthenticationConfiguration.AccessRoleArn == STRING
    input.Body.InstanceConfiguration.Cpu == STRING
    input.Body.InstanceConfiguration.Memory == STRING
    input.Body.InstanceConfiguration.InstanceRoleArn == STRING
    input.Body.Tags[_].Key == STRING
    input.Body.Tags[_].Value == STRING
    input.Body.EncryptionConfiguration.KmsKey == STRING
    input.Body.HealthCheckConfiguration.Protocol == enum_HealthCheckProtocol[_]
    input.Body.HealthCheckConfiguration.Path == STRING
    input.Body.HealthCheckConfiguration.Interval == INTEGER
    input.Body.HealthCheckConfiguration.Timeout == INTEGER
    input.Body.HealthCheckConfiguration.HealthyThreshold == INTEGER
    input.Body.HealthCheckConfiguration.UnhealthyThreshold == INTEGER
    input.Body.AutoScalingConfigurationArn == STRING
    input.Body.NetworkConfiguration.EgressConfiguration.EgressType == enum_EgressType[_]
    input.Body.NetworkConfiguration.EgressConfiguration.VpcConnectorArn == STRING
    input.Body.NetworkConfiguration.IngressConfiguration.IsPubliclyAccessible == BOOLEAN
    input.Body.NetworkConfiguration.IpAddressType == enum_IpAddressType[_]
    input.Body.ObservabilityConfiguration.ObservabilityEnabled == BOOLEAN
    input.Body.ObservabilityConfiguration.ObservabilityConfigurationArn == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateVpcConnector

valid {
    input.Body.VpcConnectorName == STRING
    input.Body.Subnets[_] == STRING
    input.Body.SecurityGroups[_] == STRING
    input.Body.Tags[_].Key == STRING
    input.Body.Tags[_].Value == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateVpcIngressConnection

valid {
    input.Body.ServiceArn == STRING
    input.Body.VpcIngressConnectionName == STRING
    input.Body.IngressVpcConfiguration.VpcId == STRING
    input.Body.IngressVpcConfiguration.VpcEndpointId == STRING
    input.Body.Tags[_].Key == STRING
    input.Body.Tags[_].Value == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DeleteAutoScalingConfiguration

valid {
    input.Body.AutoScalingConfigurationArn == STRING
    input.Body.DeleteAllRevisions == BOOLEAN
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DeleteConnection

valid {
    input.Body.ConnectionArn == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DeleteObservabilityConfiguration

valid {
    input.Body.ObservabilityConfigurationArn == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DeleteService

valid {
    input.Body.ServiceArn == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DeleteVpcConnector

valid {
    input.Body.VpcConnectorArn == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DeleteVpcIngressConnection

valid {
    input.Body.VpcIngressConnectionArn == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DescribeAutoScalingConfiguration

valid {
    input.Body.AutoScalingConfigurationArn == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DescribeCustomDomains

valid {
    input.Body.ServiceArn == STRING
    input.Body.NextToken == STRING
    input.Body.MaxResults == INTEGER
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DescribeObservabilityConfiguration

valid {
    input.Body.ObservabilityConfigurationArn == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DescribeService

valid {
    input.Body.ServiceArn == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DescribeVpcConnector

valid {
    input.Body.VpcConnectorArn == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DescribeVpcIngressConnection

valid {
    input.Body.VpcIngressConnectionArn == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DisassociateCustomDomain

valid {
    input.Body.ServiceArn == STRING
    input.Body.DomainName == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListAutoScalingConfigurations

valid {
    input.Body.AutoScalingConfigurationName == STRING
    input.Body.LatestOnly == BOOLEAN
    input.Body.MaxResults == INTEGER
    input.Body.NextToken == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListConnections

valid {
    input.Body.ConnectionName == STRING
    input.Body.MaxResults == INTEGER
    input.Body.NextToken == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListObservabilityConfigurations

valid {
    input.Body.ObservabilityConfigurationName == STRING
    input.Body.LatestOnly == BOOLEAN
    input.Body.MaxResults == INTEGER
    input.Body.NextToken == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListOperations

valid {
    input.Body.ServiceArn == STRING
    input.Body.NextToken == STRING
    input.Body.MaxResults == INTEGER
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListServices

valid {
    input.Body.NextToken == STRING
    input.Body.MaxResults == INTEGER
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListServicesForAutoScalingConfiguration

valid {
    input.Body.AutoScalingConfigurationArn == STRING
    input.Body.MaxResults == INTEGER
    input.Body.NextToken == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListTagsForResource

valid {
    input.Body.ResourceArn == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListVpcConnectors

valid {
    input.Body.MaxResults == INTEGER
    input.Body.NextToken == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListVpcIngressConnections

valid {
    input.Body.Filter.ServiceArn == STRING
    input.Body.Filter.VpcEndpointId == STRING
    input.Body.MaxResults == INTEGER
    input.Body.NextToken == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

PauseService

valid {
    input.Body.ServiceArn == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ResumeService

valid {
    input.Body.ServiceArn == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

StartDeployment

valid {
    input.Body.ServiceArn == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

TagResource

valid {
    input.Body.ResourceArn == STRING
    input.Body.Tags[_].Key == STRING
    input.Body.Tags[_].Value == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UntagResource

valid {
    input.Body.ResourceArn == STRING
    input.Body.TagKeys[_] == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UpdateDefaultAutoScalingConfiguration

valid {
    input.Body.AutoScalingConfigurationArn == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UpdateService

enum_ConfigurationSource := [ "REPOSITORY", "API" ]
enum_EgressType := [ "DEFAULT", "VPC" ]
enum_HealthCheckProtocol := [ "TCP", "HTTP" ]
enum_ImageRepositoryType := [ "ECR", "ECR_PUBLIC" ]
enum_IpAddressType := [ "IPV4", "DUAL_STACK" ]
enum_Runtime := [ "PYTHON_3", "NODEJS_12", "NODEJS_14", "CORRETTO_8", "CORRETTO_11", "NODEJS_16", "GO_1", "DOTNET_6", "PHP_81", "RUBY_31", "PYTHON_311", "NODEJS_18" ]
enum_SourceCodeVersionType := [ "BRANCH" ]

valid {
    input.Body.ServiceArn == STRING
    input.Body.SourceConfiguration.CodeRepository.RepositoryUrl == STRING
    input.Body.SourceConfiguration.CodeRepository.SourceCodeVersion.Type == enum_SourceCodeVersionType[_]
    input.Body.SourceConfiguration.CodeRepository.SourceCodeVersion.Value == STRING
    input.Body.SourceConfiguration.CodeRepository.CodeConfiguration.ConfigurationSource == enum_ConfigurationSource[_]
    input.Body.SourceConfiguration.CodeRepository.CodeConfiguration.CodeConfigurationValues.Runtime == enum_Runtime[_]
    input.Body.SourceConfiguration.CodeRepository.CodeConfiguration.CodeConfigurationValues.BuildCommand == STRING
    input.Body.SourceConfiguration.CodeRepository.CodeConfiguration.CodeConfigurationValues.StartCommand == STRING
    input.Body.SourceConfiguration.CodeRepository.CodeConfiguration.CodeConfigurationValues.Port == STRING
    input.Body.SourceConfiguration.CodeRepository.CodeConfiguration.CodeConfigurationValues.RuntimeEnvironmentVariables.STRING == STRING
    input.Body.SourceConfiguration.CodeRepository.CodeConfiguration.CodeConfigurationValues.RuntimeEnvironmentSecrets.STRING == STRING
    input.Body.SourceConfiguration.CodeRepository.SourceDirectory == STRING
    input.Body.SourceConfiguration.ImageRepository.ImageIdentifier == STRING
    input.Body.SourceConfiguration.ImageRepository.ImageConfiguration.RuntimeEnvironmentVariables.STRING == STRING
    input.Body.SourceConfiguration.ImageRepository.ImageConfiguration.StartCommand == STRING
    input.Body.SourceConfiguration.ImageRepository.ImageConfiguration.Port == STRING
    input.Body.SourceConfiguration.ImageRepository.ImageConfiguration.RuntimeEnvironmentSecrets.STRING == STRING
    input.Body.SourceConfiguration.ImageRepository.ImageRepositoryType == enum_ImageRepositoryType[_]
    input.Body.SourceConfiguration.AutoDeploymentsEnabled == BOOLEAN
    input.Body.SourceConfiguration.AuthenticationConfiguration.ConnectionArn == STRING
    input.Body.SourceConfiguration.AuthenticationConfiguration.AccessRoleArn == STRING
    input.Body.InstanceConfiguration.Cpu == STRING
    input.Body.InstanceConfiguration.Memory == STRING
    input.Body.InstanceConfiguration.InstanceRoleArn == STRING
    input.Body.AutoScalingConfigurationArn == STRING
    input.Body.HealthCheckConfiguration.Protocol == enum_HealthCheckProtocol[_]
    input.Body.HealthCheckConfiguration.Path == STRING
    input.Body.HealthCheckConfiguration.Interval == INTEGER
    input.Body.HealthCheckConfiguration.Timeout == INTEGER
    input.Body.HealthCheckConfiguration.HealthyThreshold == INTEGER
    input.Body.HealthCheckConfiguration.UnhealthyThreshold == INTEGER
    input.Body.NetworkConfiguration.EgressConfiguration.EgressType == enum_EgressType[_]
    input.Body.NetworkConfiguration.EgressConfiguration.VpcConnectorArn == STRING
    input.Body.NetworkConfiguration.IngressConfiguration.IsPubliclyAccessible == BOOLEAN
    input.Body.NetworkConfiguration.IpAddressType == enum_IpAddressType[_]
    input.Body.ObservabilityConfiguration.ObservabilityEnabled == BOOLEAN
    input.Body.ObservabilityConfiguration.ObservabilityConfigurationArn == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UpdateVpcIngressConnection

valid {
    input.Body.VpcIngressConnectionArn == STRING
    input.Body.IngressVpcConfiguration.VpcId == STRING
    input.Body.IngressVpcConfiguration.VpcEndpointId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}