CreatePipeline

enum_VpcEndpointManagement := [ "CUSTOMER", "SERVICE" ]

valid {
    input.Body.PipelineName == STRING
    input.Body.MinUnits == INTEGER
    input.Body.MaxUnits == INTEGER
    input.Body.PipelineConfigurationBody == STRING
    input.Body.LogPublishingOptions.IsLoggingEnabled == BOOLEAN
    input.Body.LogPublishingOptions.CloudWatchLogDestination.LogGroup == STRING
    input.Body.VpcOptions.SubnetIds[_] == STRING
    input.Body.VpcOptions.SecurityGroupIds[_] == STRING
    input.Body.VpcOptions.VpcAttachmentOptions.AttachToVpc == BOOLEAN
    input.Body.VpcOptions.VpcAttachmentOptions.CidrBlock == STRING
    input.Body.VpcOptions.VpcEndpointManagement == enum_VpcEndpointManagement[_]
    input.Body.BufferOptions.PersistentBufferEnabled == BOOLEAN
    input.Body.EncryptionAtRestOptions.KmsKeyArn == STRING
    input.Body.Tags[_].Key == STRING
    input.Body.Tags[_].Value == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DeletePipeline

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

GetPipeline

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

GetPipelineBlueprint

valid {
    input.ReqMap.BlueprintName == STRING
    input.Qs.format == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

GetPipelineChangeProgress

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

ListPipelineBlueprints

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

ListPipelines

valid {
    input.Qs.maxResults == INTEGER
    input.Qs.nextToken == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListTagsForResource

valid {
    input.Qs.arn == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

StartPipeline

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

StopPipeline

valid {
    input.ReqMap.PipelineName == 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.Qs.arn == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UntagResource

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

UpdatePipeline

valid {
    input.Body.MinUnits == INTEGER
    input.Body.MaxUnits == INTEGER
    input.Body.PipelineConfigurationBody == STRING
    input.Body.LogPublishingOptions.IsLoggingEnabled == BOOLEAN
    input.Body.LogPublishingOptions.CloudWatchLogDestination.LogGroup == STRING
    input.Body.BufferOptions.PersistentBufferEnabled == BOOLEAN
    input.Body.EncryptionAtRestOptions.KmsKeyArn == STRING
    input.ReqMap.PipelineName == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ValidatePipeline

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