GAMELIFTSTREAMS

AddStreamGroupLocations

valid {
    input.Body.LocationConfigurations[_].AlwaysOnCapacity == INTEGER
    input.Body.LocationConfigurations[_].LocationName == STRING
    input.Body.LocationConfigurations[_].OnDemandCapacity == INTEGER
    input.ReqMap.Identifier == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

AssociateApplications

valid {
    input.Body.ApplicationIdentifiers[_] == STRING
    input.ReqMap.Identifier == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateApplication

enum_RuntimeEnvironmentType := [ "PROTON", "WINDOWS", "UBUNTU" ]

valid {
    input.Body.ApplicationLogOutputUri == STRING
    input.Body.ApplicationLogPaths[_] == STRING
    input.Body.ApplicationSourceUri == STRING
    input.Body.ClientToken == STRING
    input.Body.Description == STRING
    input.Body.ExecutablePath == STRING
    input.Body.RuntimeEnvironment.Type == enum_RuntimeEnvironmentType[_]
    input.Body.RuntimeEnvironment.Version == STRING
    input.Body.Tags.STRING == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateStreamGroup

enum_StreamClass := [ "gen4n_high", "gen4n_ultra", "gen4n_win2022", "gen5n_high", "gen5n_ultra", "gen5n_win2022" ]

valid {
    input.Body.ClientToken == STRING
    input.Body.DefaultApplicationIdentifier == STRING
    input.Body.Description == STRING
    input.Body.LocationConfigurations[_].AlwaysOnCapacity == INTEGER
    input.Body.LocationConfigurations[_].LocationName == STRING
    input.Body.LocationConfigurations[_].OnDemandCapacity == INTEGER
    input.Body.StreamClass == enum_StreamClass[_]
    input.Body.Tags.STRING == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateStreamSessionConnection

valid {
    input.Body.ClientToken == STRING
    input.Body.SignalRequest == STRING
    input.ReqMap.Identifier == STRING
    input.ReqMap.StreamSessionIdentifier == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DeleteApplication

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

DeleteStreamGroup

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

DisassociateApplications

valid {
    input.Body.ApplicationIdentifiers[_] == STRING
    input.ReqMap.Identifier == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ExportStreamSessionFiles

valid {
    input.Body.OutputUri == STRING
    input.ReqMap.Identifier == STRING
    input.ReqMap.StreamSessionIdentifier == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

GetApplication

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

GetStreamGroup

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

GetStreamSession

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

ListApplications

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

ListStreamGroups

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

ListStreamSessions

enum_ExportFilesStatus := [ "SUCCEEDED", "FAILED", "PENDING" ]
enum_StreamSessionStatus := [ "ACTIVATING", "ACTIVE", "CONNECTED", "PENDING_CLIENT_RECONNECTION", "RECONNECTING", "TERMINATING", "TERMINATED", "ERROR" ]

valid {
    input.ReqMap.Identifier == STRING
    input.Qs.ExportFilesStatus == enum_ExportFilesStatus[_]
    input.Qs.MaxResults == INTEGER
    input.Qs.NextToken == STRING
    input.Qs.Status == enum_StreamSessionStatus[_]
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListStreamSessionsByAccount

enum_ExportFilesStatus := [ "SUCCEEDED", "FAILED", "PENDING" ]
enum_StreamSessionStatus := [ "ACTIVATING", "ACTIVE", "CONNECTED", "PENDING_CLIENT_RECONNECTION", "RECONNECTING", "TERMINATING", "TERMINATED", "ERROR" ]

valid {
    input.Qs.ExportFilesStatus == enum_ExportFilesStatus[_]
    input.Qs.MaxResults == INTEGER
    input.Qs.NextToken == STRING
    input.Qs.Status == enum_StreamSessionStatus[_]
    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
}

RemoveStreamGroupLocations

valid {
    input.ReqMap.Identifier == STRING
    input.Qs.locations[_] == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

StartStreamSession

enum_Protocol := [ "WebRTC" ]

valid {
    input.Body.AdditionalEnvironmentVariables.STRING == STRING
    input.Body.AdditionalLaunchArgs[_] == STRING
    input.Body.ApplicationIdentifier == STRING
    input.Body.ClientToken == STRING
    input.Body.ConnectionTimeoutSeconds == INTEGER
    input.Body.Description == STRING
    input.Body.Locations[_] == STRING
    input.Body.Protocol == enum_Protocol[_]
    input.Body.SessionLengthSeconds == INTEGER
    input.Body.SignalRequest == STRING
    input.Body.UserId == STRING
    input.ReqMap.Identifier == STRING
    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
}

TerminateStreamSession

valid {
    input.ReqMap.Identifier == STRING
    input.ReqMap.StreamSessionIdentifier == 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
}

UpdateApplication

valid {
    input.Body.ApplicationLogOutputUri == STRING
    input.Body.ApplicationLogPaths[_] == STRING
    input.Body.Description == STRING
    input.ReqMap.Identifier == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UpdateStreamGroup

valid {
    input.Body.Description == STRING
    input.Body.LocationConfigurations[_].AlwaysOnCapacity == INTEGER
    input.Body.LocationConfigurations[_].LocationName == STRING
    input.Body.LocationConfigurations[_].OnDemandCapacity == INTEGER
    input.ReqMap.Identifier == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}