CreateSchedule

enum_ActionAfterCompletion := [ "NONE", "DELETE" ]
enum_AssignPublicIp := [ "ENABLED", "DISABLED" ]
enum_FlexibleTimeWindowMode := [ "OFF", "FLEXIBLE" ]
enum_LaunchType := [ "EC2", "FARGATE", "EXTERNAL" ]
enum_PlacementConstraintType := [ "distinctInstance", "memberOf" ]
enum_PlacementStrategyType := [ "random", "spread", "binpack" ]
enum_PropagateTags := [ "TASK_DEFINITION" ]
enum_ScheduleState := [ "ENABLED", "DISABLED" ]

valid {
    input.Body.ActionAfterCompletion == enum_ActionAfterCompletion[_]
    input.Body.ClientToken == STRING
    input.Body.Description == STRING
    input.Body.EndDate == TIMESTAMP
    input.Body.FlexibleTimeWindow.MaximumWindowInMinutes == INTEGER
    input.Body.FlexibleTimeWindow.Mode == enum_FlexibleTimeWindowMode[_]
    input.Body.GroupName == STRING
    input.Body.KmsKeyArn == STRING
    input.Body.ScheduleExpression == STRING
    input.Body.ScheduleExpressionTimezone == STRING
    input.Body.StartDate == TIMESTAMP
    input.Body.State == enum_ScheduleState[_]
    input.Body.Target.Arn == STRING
    input.Body.Target.DeadLetterConfig.Arn == STRING
    input.Body.Target.EcsParameters.CapacityProviderStrategy[_].base == INTEGER
    input.Body.Target.EcsParameters.CapacityProviderStrategy[_].capacityProvider == STRING
    input.Body.Target.EcsParameters.CapacityProviderStrategy[_].weight == INTEGER
    input.Body.Target.EcsParameters.EnableECSManagedTags == BOOLEAN
    input.Body.Target.EcsParameters.EnableExecuteCommand == BOOLEAN
    input.Body.Target.EcsParameters.Group == STRING
    input.Body.Target.EcsParameters.LaunchType == enum_LaunchType[_]
    input.Body.Target.EcsParameters.NetworkConfiguration.awsvpcConfiguration.AssignPublicIp == enum_AssignPublicIp[_]
    input.Body.Target.EcsParameters.NetworkConfiguration.awsvpcConfiguration.SecurityGroups[_] == STRING
    input.Body.Target.EcsParameters.NetworkConfiguration.awsvpcConfiguration.Subnets[_] == STRING
    input.Body.Target.EcsParameters.PlacementConstraints[_].expression == STRING
    input.Body.Target.EcsParameters.PlacementConstraints[_].type == enum_PlacementConstraintType[_]
    input.Body.Target.EcsParameters.PlacementStrategy[_].field == STRING
    input.Body.Target.EcsParameters.PlacementStrategy[_].type == enum_PlacementStrategyType[_]
    input.Body.Target.EcsParameters.PlatformVersion == STRING
    input.Body.Target.EcsParameters.PropagateTags == enum_PropagateTags[_]
    input.Body.Target.EcsParameters.ReferenceId == STRING
    input.Body.Target.EcsParameters.Tags[_].STRING == STRING
    input.Body.Target.EcsParameters.TaskCount == INTEGER
    input.Body.Target.EcsParameters.TaskDefinitionArn == STRING
    input.Body.Target.EventBridgeParameters.DetailType == STRING
    input.Body.Target.EventBridgeParameters.Source == STRING
    input.Body.Target.Input == STRING
    input.Body.Target.KinesisParameters.PartitionKey == STRING
    input.Body.Target.RetryPolicy.MaximumEventAgeInSeconds == INTEGER
    input.Body.Target.RetryPolicy.MaximumRetryAttempts == INTEGER
    input.Body.Target.RoleArn == STRING
    input.Body.Target.SageMakerPipelineParameters.PipelineParameterList[_].Name == STRING
    input.Body.Target.SageMakerPipelineParameters.PipelineParameterList[_].Value == STRING
    input.Body.Target.SqsParameters.MessageGroupId == STRING
    input.ReqMap.Name == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateScheduleGroup

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

DeleteSchedule

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

DeleteScheduleGroup

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

GetSchedule

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

GetScheduleGroup

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

ListScheduleGroups

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

ListSchedules

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

valid {
    input.Qs.ScheduleGroup == STRING
    input.Qs.MaxResults == INTEGER
    input.Qs.NamePrefix == STRING
    input.Qs.NextToken == STRING
    input.Qs.State == enum_ScheduleState[_]
    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
}

TagResource

valid {
    input.Body.Tags[_].Key == STRING
    input.Body.Tags[_].Value == 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
}

UpdateSchedule

enum_ActionAfterCompletion := [ "NONE", "DELETE" ]
enum_AssignPublicIp := [ "ENABLED", "DISABLED" ]
enum_FlexibleTimeWindowMode := [ "OFF", "FLEXIBLE" ]
enum_LaunchType := [ "EC2", "FARGATE", "EXTERNAL" ]
enum_PlacementConstraintType := [ "distinctInstance", "memberOf" ]
enum_PlacementStrategyType := [ "random", "spread", "binpack" ]
enum_PropagateTags := [ "TASK_DEFINITION" ]
enum_ScheduleState := [ "ENABLED", "DISABLED" ]

valid {
    input.Body.ActionAfterCompletion == enum_ActionAfterCompletion[_]
    input.Body.ClientToken == STRING
    input.Body.Description == STRING
    input.Body.EndDate == TIMESTAMP
    input.Body.FlexibleTimeWindow.MaximumWindowInMinutes == INTEGER
    input.Body.FlexibleTimeWindow.Mode == enum_FlexibleTimeWindowMode[_]
    input.Body.GroupName == STRING
    input.Body.KmsKeyArn == STRING
    input.Body.ScheduleExpression == STRING
    input.Body.ScheduleExpressionTimezone == STRING
    input.Body.StartDate == TIMESTAMP
    input.Body.State == enum_ScheduleState[_]
    input.Body.Target.Arn == STRING
    input.Body.Target.DeadLetterConfig.Arn == STRING
    input.Body.Target.EcsParameters.CapacityProviderStrategy[_].base == INTEGER
    input.Body.Target.EcsParameters.CapacityProviderStrategy[_].capacityProvider == STRING
    input.Body.Target.EcsParameters.CapacityProviderStrategy[_].weight == INTEGER
    input.Body.Target.EcsParameters.EnableECSManagedTags == BOOLEAN
    input.Body.Target.EcsParameters.EnableExecuteCommand == BOOLEAN
    input.Body.Target.EcsParameters.Group == STRING
    input.Body.Target.EcsParameters.LaunchType == enum_LaunchType[_]
    input.Body.Target.EcsParameters.NetworkConfiguration.awsvpcConfiguration.AssignPublicIp == enum_AssignPublicIp[_]
    input.Body.Target.EcsParameters.NetworkConfiguration.awsvpcConfiguration.SecurityGroups[_] == STRING
    input.Body.Target.EcsParameters.NetworkConfiguration.awsvpcConfiguration.Subnets[_] == STRING
    input.Body.Target.EcsParameters.PlacementConstraints[_].expression == STRING
    input.Body.Target.EcsParameters.PlacementConstraints[_].type == enum_PlacementConstraintType[_]
    input.Body.Target.EcsParameters.PlacementStrategy[_].field == STRING
    input.Body.Target.EcsParameters.PlacementStrategy[_].type == enum_PlacementStrategyType[_]
    input.Body.Target.EcsParameters.PlatformVersion == STRING
    input.Body.Target.EcsParameters.PropagateTags == enum_PropagateTags[_]
    input.Body.Target.EcsParameters.ReferenceId == STRING
    input.Body.Target.EcsParameters.Tags[_].STRING == STRING
    input.Body.Target.EcsParameters.TaskCount == INTEGER
    input.Body.Target.EcsParameters.TaskDefinitionArn == STRING
    input.Body.Target.EventBridgeParameters.DetailType == STRING
    input.Body.Target.EventBridgeParameters.Source == STRING
    input.Body.Target.Input == STRING
    input.Body.Target.KinesisParameters.PartitionKey == STRING
    input.Body.Target.RetryPolicy.MaximumEventAgeInSeconds == INTEGER
    input.Body.Target.RetryPolicy.MaximumRetryAttempts == INTEGER
    input.Body.Target.RoleArn == STRING
    input.Body.Target.SageMakerPipelineParameters.PipelineParameterList[_].Name == STRING
    input.Body.Target.SageMakerPipelineParameters.PipelineParameterList[_].Value == STRING
    input.Body.Target.SqsParameters.MessageGroupId == STRING
    input.ReqMap.Name == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}