EVENTBRIDGE

ActivateEventSource

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

CancelReplay

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

CreateApiDestination

enum_ApiDestinationHttpMethod := [ "POST", "GET", "HEAD", "OPTIONS", "PUT", "PATCH", "DELETE" ]

valid {
    input.Body.Name == STRING
    input.Body.Description == STRING
    input.Body.ConnectionArn == STRING
    input.Body.InvocationEndpoint == STRING
    input.Body.HttpMethod == enum_ApiDestinationHttpMethod[_]
    input.Body.InvocationRateLimitPerSecond == INTEGER
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateArchive

valid {
    input.Body.ArchiveName == STRING
    input.Body.EventSourceArn == STRING
    input.Body.Description == STRING
    input.Body.EventPattern == STRING
    input.Body.RetentionDays == INTEGER
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateConnection

enum_ConnectionAuthorizationType := [ "BASIC", "OAUTH_CLIENT_CREDENTIALS", "API_KEY" ]
enum_ConnectionOAuthHttpMethod := [ "GET", "POST", "PUT" ]

valid {
    input.Body.Name == STRING
    input.Body.Description == STRING
    input.Body.AuthorizationType == enum_ConnectionAuthorizationType[_]
    input.Body.AuthParameters.BasicAuthParameters.Username == STRING
    input.Body.AuthParameters.BasicAuthParameters.Password == STRING
    input.Body.AuthParameters.OAuthParameters.ClientParameters.ClientID == STRING
    input.Body.AuthParameters.OAuthParameters.ClientParameters.ClientSecret == STRING
    input.Body.AuthParameters.OAuthParameters.AuthorizationEndpoint == STRING
    input.Body.AuthParameters.OAuthParameters.HttpMethod == enum_ConnectionOAuthHttpMethod[_]
    input.Body.AuthParameters.OAuthParameters.OAuthHttpParameters.HeaderParameters[_].Key == STRING
    input.Body.AuthParameters.OAuthParameters.OAuthHttpParameters.HeaderParameters[_].Value == STRING
    input.Body.AuthParameters.OAuthParameters.OAuthHttpParameters.HeaderParameters[_].IsValueSecret == BOOLEAN
    input.Body.AuthParameters.OAuthParameters.OAuthHttpParameters.QueryStringParameters[_].Key == STRING
    input.Body.AuthParameters.OAuthParameters.OAuthHttpParameters.QueryStringParameters[_].Value == STRING
    input.Body.AuthParameters.OAuthParameters.OAuthHttpParameters.QueryStringParameters[_].IsValueSecret == BOOLEAN
    input.Body.AuthParameters.OAuthParameters.OAuthHttpParameters.BodyParameters[_].Key == STRING
    input.Body.AuthParameters.OAuthParameters.OAuthHttpParameters.BodyParameters[_].Value == STRING
    input.Body.AuthParameters.OAuthParameters.OAuthHttpParameters.BodyParameters[_].IsValueSecret == BOOLEAN
    input.Body.AuthParameters.ApiKeyAuthParameters.ApiKeyName == STRING
    input.Body.AuthParameters.ApiKeyAuthParameters.ApiKeyValue == STRING
    input.Body.AuthParameters.InvocationHttpParameters.HeaderParameters[_].Key == STRING
    input.Body.AuthParameters.InvocationHttpParameters.HeaderParameters[_].Value == STRING
    input.Body.AuthParameters.InvocationHttpParameters.HeaderParameters[_].IsValueSecret == BOOLEAN
    input.Body.AuthParameters.InvocationHttpParameters.QueryStringParameters[_].Key == STRING
    input.Body.AuthParameters.InvocationHttpParameters.QueryStringParameters[_].Value == STRING
    input.Body.AuthParameters.InvocationHttpParameters.QueryStringParameters[_].IsValueSecret == BOOLEAN
    input.Body.AuthParameters.InvocationHttpParameters.BodyParameters[_].Key == STRING
    input.Body.AuthParameters.InvocationHttpParameters.BodyParameters[_].Value == STRING
    input.Body.AuthParameters.InvocationHttpParameters.BodyParameters[_].IsValueSecret == BOOLEAN
    input.Body.AuthParameters.ConnectivityParameters.ResourceParameters.ResourceConfigurationArn == STRING
    input.Body.InvocationConnectivityParameters.ResourceParameters.ResourceConfigurationArn == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateEndpoint

enum_ReplicationState := [ "ENABLED", "DISABLED" ]

valid {
    input.Body.Name == STRING
    input.Body.Description == STRING
    input.Body.RoutingConfig.FailoverConfig.Primary.HealthCheck == STRING
    input.Body.RoutingConfig.FailoverConfig.Secondary.Route == STRING
    input.Body.ReplicationConfig.State == enum_ReplicationState[_]
    input.Body.EventBuses[_].EventBusArn == STRING
    input.Body.RoleArn == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateEventBus

valid {
    input.Body.Name == STRING
    input.Body.EventSourceName == STRING
    input.Body.Description == STRING
    input.Body.KmsKeyIdentifier == STRING
    input.Body.DeadLetterConfig.Arn == STRING
    input.Body.Tags[_].Key == STRING
    input.Body.Tags[_].Value == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreatePartnerEventSource

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

DeactivateEventSource

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

DeauthorizeConnection

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

DeleteApiDestination

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

DeleteArchive

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

DeleteConnection

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

DeleteEndpoint

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

DeleteEventBus

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

DeletePartnerEventSource

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

DeleteRule

valid {
    input.Body.Name == STRING
    input.Body.EventBusName == STRING
    input.Body.Force == BOOLEAN
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DescribeApiDestination

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

DescribeArchive

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

DescribeConnection

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

DescribeEndpoint

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

DescribeEventBus

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

DescribeEventSource

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

DescribePartnerEventSource

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

DescribeReplay

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

DescribeRule

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

DisableRule

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

EnableRule

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

ListApiDestinations

valid {
    input.Body.NamePrefix == STRING
    input.Body.ConnectionArn == STRING
    input.Body.NextToken == STRING
    input.Body.Limit == INTEGER
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListArchives

enum_ArchiveState := [ "ENABLED", "DISABLED", "CREATING", "UPDATING", "CREATE_FAILED", "UPDATE_FAILED" ]

valid {
    input.Body.NamePrefix == STRING
    input.Body.EventSourceArn == STRING
    input.Body.State == enum_ArchiveState[_]
    input.Body.NextToken == STRING
    input.Body.Limit == INTEGER
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListConnections

enum_ConnectionState := [ "CREATING", "UPDATING", "DELETING", "AUTHORIZED", "DEAUTHORIZED", "AUTHORIZING", "DEAUTHORIZING", "ACTIVE", "FAILED_CONNECTIVITY" ]

valid {
    input.Body.NamePrefix == STRING
    input.Body.ConnectionState == enum_ConnectionState[_]
    input.Body.NextToken == STRING
    input.Body.Limit == INTEGER
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListEndpoints

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

ListEventBuses

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

ListEventSources

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

ListPartnerEventSourceAccounts

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

ListPartnerEventSources

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

ListReplays

enum_ReplayState := [ "STARTING", "RUNNING", "CANCELLING", "COMPLETED", "CANCELLED", "FAILED" ]

valid {
    input.Body.NamePrefix == STRING
    input.Body.State == enum_ReplayState[_]
    input.Body.EventSourceArn == STRING
    input.Body.NextToken == STRING
    input.Body.Limit == INTEGER
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListRuleNamesByTarget

valid {
    input.Body.TargetArn == STRING
    input.Body.EventBusName == STRING
    input.Body.NextToken == STRING
    input.Body.Limit == INTEGER
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListRules

valid {
    input.Body.NamePrefix == STRING
    input.Body.EventBusName == STRING
    input.Body.NextToken == STRING
    input.Body.Limit == INTEGER
    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
}

ListTargetsByRule

valid {
    input.Body.Rule == STRING
    input.Body.EventBusName == STRING
    input.Body.NextToken == STRING
    input.Body.Limit == INTEGER
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

PutEvents

valid {
    input.Body.Entries[_].Time == TIMESTAMP
    input.Body.Entries[_].Source == STRING
    input.Body.Entries[_].Resources[_] == STRING
    input.Body.Entries[_].DetailType == STRING
    input.Body.Entries[_].Detail == STRING
    input.Body.Entries[_].EventBusName == STRING
    input.Body.Entries[_].TraceHeader == STRING
    input.Body.EndpointId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

PutPartnerEvents

valid {
    input.Body.Entries[_].Time == TIMESTAMP
    input.Body.Entries[_].Source == STRING
    input.Body.Entries[_].Resources[_] == STRING
    input.Body.Entries[_].DetailType == STRING
    input.Body.Entries[_].Detail == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

PutPermission

valid {
    input.Body.EventBusName == STRING
    input.Body.Action == STRING
    input.Body.Principal == STRING
    input.Body.StatementId == STRING
    input.Body.Condition.Type == STRING
    input.Body.Condition.Key == STRING
    input.Body.Condition.Value == STRING
    input.Body.Policy == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

PutRule

enum_RuleState := [ "ENABLED", "DISABLED", "ENABLED_WITH_ALL_CLOUDTRAIL_MANAGEMENT_EVENTS" ]

valid {
    input.Body.Name == STRING
    input.Body.ScheduleExpression == STRING
    input.Body.EventPattern == STRING
    input.Body.State == enum_RuleState[_]
    input.Body.Description == STRING
    input.Body.RoleArn == STRING
    input.Body.Tags[_].Key == STRING
    input.Body.Tags[_].Value == STRING
    input.Body.EventBusName == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

PutTargets

enum_AssignPublicIp := [ "ENABLED", "DISABLED" ]
enum_LaunchType := [ "EC2", "FARGATE", "EXTERNAL" ]
enum_PlacementConstraintType := [ "distinctInstance", "memberOf" ]
enum_PlacementStrategyType := [ "random", "spread", "binpack" ]
enum_PropagateTags := [ "TASK_DEFINITION" ]

valid {
    input.Body.Rule == STRING
    input.Body.EventBusName == STRING
    input.Body.Targets[_].Id == STRING
    input.Body.Targets[_].Arn == STRING
    input.Body.Targets[_].RoleArn == STRING
    input.Body.Targets[_].Input == STRING
    input.Body.Targets[_].InputPath == STRING
    input.Body.Targets[_].InputTransformer.InputPathsMap.STRING == STRING
    input.Body.Targets[_].InputTransformer.InputTemplate == STRING
    input.Body.Targets[_].KinesisParameters.PartitionKeyPath == STRING
    input.Body.Targets[_].RunCommandParameters.RunCommandTargets[_].Key == STRING
    input.Body.Targets[_].RunCommandParameters.RunCommandTargets[_].Values[_] == STRING
    input.Body.Targets[_].EcsParameters.TaskDefinitionArn == STRING
    input.Body.Targets[_].EcsParameters.TaskCount == INTEGER
    input.Body.Targets[_].EcsParameters.LaunchType == enum_LaunchType[_]
    input.Body.Targets[_].EcsParameters.NetworkConfiguration.awsvpcConfiguration.Subnets[_] == STRING
    input.Body.Targets[_].EcsParameters.NetworkConfiguration.awsvpcConfiguration.SecurityGroups[_] == STRING
    input.Body.Targets[_].EcsParameters.NetworkConfiguration.awsvpcConfiguration.AssignPublicIp == enum_AssignPublicIp[_]
    input.Body.Targets[_].EcsParameters.PlatformVersion == STRING
    input.Body.Targets[_].EcsParameters.Group == STRING
    input.Body.Targets[_].EcsParameters.CapacityProviderStrategy[_].capacityProvider == STRING
    input.Body.Targets[_].EcsParameters.CapacityProviderStrategy[_].weight == INTEGER
    input.Body.Targets[_].EcsParameters.CapacityProviderStrategy[_].base == INTEGER
    input.Body.Targets[_].EcsParameters.EnableECSManagedTags == BOOLEAN
    input.Body.Targets[_].EcsParameters.EnableExecuteCommand == BOOLEAN
    input.Body.Targets[_].EcsParameters.PlacementConstraints[_].type == enum_PlacementConstraintType[_]
    input.Body.Targets[_].EcsParameters.PlacementConstraints[_].expression == STRING
    input.Body.Targets[_].EcsParameters.PlacementStrategy[_].type == enum_PlacementStrategyType[_]
    input.Body.Targets[_].EcsParameters.PlacementStrategy[_].field == STRING
    input.Body.Targets[_].EcsParameters.PropagateTags == enum_PropagateTags[_]
    input.Body.Targets[_].EcsParameters.ReferenceId == STRING
    input.Body.Targets[_].EcsParameters.Tags[_].Key == STRING
    input.Body.Targets[_].EcsParameters.Tags[_].Value == STRING
    input.Body.Targets[_].BatchParameters.JobDefinition == STRING
    input.Body.Targets[_].BatchParameters.JobName == STRING
    input.Body.Targets[_].BatchParameters.ArrayProperties.Size == INTEGER
    input.Body.Targets[_].BatchParameters.RetryStrategy.Attempts == INTEGER
    input.Body.Targets[_].SqsParameters.MessageGroupId == STRING
    input.Body.Targets[_].HttpParameters.PathParameterValues[_] == STRING
    input.Body.Targets[_].HttpParameters.HeaderParameters.STRING == STRING
    input.Body.Targets[_].HttpParameters.QueryStringParameters.STRING == STRING
    input.Body.Targets[_].RedshiftDataParameters.SecretManagerArn == STRING
    input.Body.Targets[_].RedshiftDataParameters.Database == STRING
    input.Body.Targets[_].RedshiftDataParameters.DbUser == STRING
    input.Body.Targets[_].RedshiftDataParameters.Sql == STRING
    input.Body.Targets[_].RedshiftDataParameters.StatementName == STRING
    input.Body.Targets[_].RedshiftDataParameters.WithEvent == BOOLEAN
    input.Body.Targets[_].RedshiftDataParameters.Sqls[_] == STRING
    input.Body.Targets[_].SageMakerPipelineParameters.PipelineParameterList[_].Name == STRING
    input.Body.Targets[_].SageMakerPipelineParameters.PipelineParameterList[_].Value == STRING
    input.Body.Targets[_].DeadLetterConfig.Arn == STRING
    input.Body.Targets[_].RetryPolicy.MaximumRetryAttempts == INTEGER
    input.Body.Targets[_].RetryPolicy.MaximumEventAgeInSeconds == INTEGER
    input.Body.Targets[_].AppSyncParameters.GraphQLOperation == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

RemovePermission

valid {
    input.Body.StatementId == STRING
    input.Body.RemoveAllPermissions == BOOLEAN
    input.Body.EventBusName == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

RemoveTargets

valid {
    input.Body.Rule == STRING
    input.Body.EventBusName == STRING
    input.Body.Ids[_] == STRING
    input.Body.Force == BOOLEAN
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

StartReplay

valid {
    input.Body.ReplayName == STRING
    input.Body.Description == STRING
    input.Body.EventSourceArn == STRING
    input.Body.EventStartTime == TIMESTAMP
    input.Body.EventEndTime == TIMESTAMP
    input.Body.Destination.Arn == STRING
    input.Body.Destination.FilterArns[_] == 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
}

TestEventPattern

valid {
    input.Body.EventPattern == STRING
    input.Body.Event == 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
}

UpdateApiDestination

enum_ApiDestinationHttpMethod := [ "POST", "GET", "HEAD", "OPTIONS", "PUT", "PATCH", "DELETE" ]

valid {
    input.Body.Name == STRING
    input.Body.Description == STRING
    input.Body.ConnectionArn == STRING
    input.Body.InvocationEndpoint == STRING
    input.Body.HttpMethod == enum_ApiDestinationHttpMethod[_]
    input.Body.InvocationRateLimitPerSecond == INTEGER
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UpdateArchive

valid {
    input.Body.ArchiveName == STRING
    input.Body.Description == STRING
    input.Body.EventPattern == STRING
    input.Body.RetentionDays == INTEGER
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UpdateConnection

enum_ConnectionAuthorizationType := [ "BASIC", "OAUTH_CLIENT_CREDENTIALS", "API_KEY" ]
enum_ConnectionOAuthHttpMethod := [ "GET", "POST", "PUT" ]

valid {
    input.Body.Name == STRING
    input.Body.Description == STRING
    input.Body.AuthorizationType == enum_ConnectionAuthorizationType[_]
    input.Body.AuthParameters.BasicAuthParameters.Username == STRING
    input.Body.AuthParameters.BasicAuthParameters.Password == STRING
    input.Body.AuthParameters.OAuthParameters.ClientParameters.ClientID == STRING
    input.Body.AuthParameters.OAuthParameters.ClientParameters.ClientSecret == STRING
    input.Body.AuthParameters.OAuthParameters.AuthorizationEndpoint == STRING
    input.Body.AuthParameters.OAuthParameters.HttpMethod == enum_ConnectionOAuthHttpMethod[_]
    input.Body.AuthParameters.OAuthParameters.OAuthHttpParameters.HeaderParameters[_].Key == STRING
    input.Body.AuthParameters.OAuthParameters.OAuthHttpParameters.HeaderParameters[_].Value == STRING
    input.Body.AuthParameters.OAuthParameters.OAuthHttpParameters.HeaderParameters[_].IsValueSecret == BOOLEAN
    input.Body.AuthParameters.OAuthParameters.OAuthHttpParameters.QueryStringParameters[_].Key == STRING
    input.Body.AuthParameters.OAuthParameters.OAuthHttpParameters.QueryStringParameters[_].Value == STRING
    input.Body.AuthParameters.OAuthParameters.OAuthHttpParameters.QueryStringParameters[_].IsValueSecret == BOOLEAN
    input.Body.AuthParameters.OAuthParameters.OAuthHttpParameters.BodyParameters[_].Key == STRING
    input.Body.AuthParameters.OAuthParameters.OAuthHttpParameters.BodyParameters[_].Value == STRING
    input.Body.AuthParameters.OAuthParameters.OAuthHttpParameters.BodyParameters[_].IsValueSecret == BOOLEAN
    input.Body.AuthParameters.ApiKeyAuthParameters.ApiKeyName == STRING
    input.Body.AuthParameters.ApiKeyAuthParameters.ApiKeyValue == STRING
    input.Body.AuthParameters.InvocationHttpParameters.HeaderParameters[_].Key == STRING
    input.Body.AuthParameters.InvocationHttpParameters.HeaderParameters[_].Value == STRING
    input.Body.AuthParameters.InvocationHttpParameters.HeaderParameters[_].IsValueSecret == BOOLEAN
    input.Body.AuthParameters.InvocationHttpParameters.QueryStringParameters[_].Key == STRING
    input.Body.AuthParameters.InvocationHttpParameters.QueryStringParameters[_].Value == STRING
    input.Body.AuthParameters.InvocationHttpParameters.QueryStringParameters[_].IsValueSecret == BOOLEAN
    input.Body.AuthParameters.InvocationHttpParameters.BodyParameters[_].Key == STRING
    input.Body.AuthParameters.InvocationHttpParameters.BodyParameters[_].Value == STRING
    input.Body.AuthParameters.InvocationHttpParameters.BodyParameters[_].IsValueSecret == BOOLEAN
    input.Body.AuthParameters.ConnectivityParameters.ResourceParameters.ResourceConfigurationArn == STRING
    input.Body.InvocationConnectivityParameters.ResourceParameters.ResourceConfigurationArn == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UpdateEndpoint

enum_ReplicationState := [ "ENABLED", "DISABLED" ]

valid {
    input.Body.Name == STRING
    input.Body.Description == STRING
    input.Body.RoutingConfig.FailoverConfig.Primary.HealthCheck == STRING
    input.Body.RoutingConfig.FailoverConfig.Secondary.Route == STRING
    input.Body.ReplicationConfig.State == enum_ReplicationState[_]
    input.Body.EventBuses[_].EventBusArn == STRING
    input.Body.RoleArn == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UpdateEventBus

valid {
    input.Body.Name == STRING
    input.Body.KmsKeyIdentifier == STRING
    input.Body.Description == STRING
    input.Body.DeadLetterConfig.Arn == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}