MIGRATION-HUB-REFACTOR-SPACES

CreateApplication

enum_ApiGatewayEndpointType := [ "REGIONAL", "PRIVATE" ]
enum_ProxyType := [ "API_GATEWAY" ]

valid {
    input.Body.ApiGatewayProxy.EndpointType == enum_ApiGatewayEndpointType[_]
    input.Body.ApiGatewayProxy.StageName == STRING
    input.Body.ClientToken == STRING
    input.Body.Name == STRING
    input.Body.ProxyType == enum_ProxyType[_]
    input.Body.Tags.STRING == STRING
    input.Body.VpcId == STRING
    input.ReqMap.EnvironmentIdentifier == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateEnvironment

enum_NetworkFabricType := [ "TRANSIT_GATEWAY", "NONE" ]

valid {
    input.Body.ClientToken == STRING
    input.Body.Description == STRING
    input.Body.Name == STRING
    input.Body.NetworkFabricType == enum_NetworkFabricType[_]
    input.Body.Tags.STRING == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateRoute

enum_HttpMethod := [ "DELETE", "GET", "HEAD", "OPTIONS", "PATCH", "POST", "PUT" ]
enum_RouteActivationState := [ "ACTIVE", "INACTIVE" ]
enum_RouteType := [ "DEFAULT", "URI_PATH" ]

valid {
    input.Body.ClientToken == STRING
    input.Body.DefaultRoute.ActivationState == enum_RouteActivationState[_]
    input.Body.RouteType == enum_RouteType[_]
    input.Body.ServiceIdentifier == STRING
    input.Body.Tags.STRING == STRING
    input.Body.UriPathRoute.ActivationState == enum_RouteActivationState[_]
    input.Body.UriPathRoute.AppendSourcePath == BOOLEAN
    input.Body.UriPathRoute.IncludeChildPaths == BOOLEAN
    input.Body.UriPathRoute.Methods[_] == enum_HttpMethod[_]
    input.Body.UriPathRoute.SourcePath == STRING
    input.ReqMap.ApplicationIdentifier == STRING
    input.ReqMap.EnvironmentIdentifier == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateService

enum_ServiceEndpointType := [ "LAMBDA", "URL" ]

valid {
    input.Body.ClientToken == STRING
    input.Body.Description == STRING
    input.Body.EndpointType == enum_ServiceEndpointType[_]
    input.Body.LambdaEndpoint.Arn == STRING
    input.Body.Name == STRING
    input.Body.Tags.STRING == STRING
    input.Body.UrlEndpoint.HealthUrl == STRING
    input.Body.UrlEndpoint.Url == STRING
    input.Body.VpcId == STRING
    input.ReqMap.ApplicationIdentifier == STRING
    input.ReqMap.EnvironmentIdentifier == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DeleteApplication

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

DeleteEnvironment

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

DeleteResourcePolicy

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

DeleteRoute

valid {
    input.ReqMap.ApplicationIdentifier == STRING
    input.ReqMap.EnvironmentIdentifier == STRING
    input.ReqMap.RouteIdentifier == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DeleteService

valid {
    input.ReqMap.ApplicationIdentifier == STRING
    input.ReqMap.EnvironmentIdentifier == STRING
    input.ReqMap.ServiceIdentifier == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

GetApplication

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

GetEnvironment

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

GetResourcePolicy

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

GetRoute

valid {
    input.ReqMap.ApplicationIdentifier == STRING
    input.ReqMap.EnvironmentIdentifier == STRING
    input.ReqMap.RouteIdentifier == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

GetService

valid {
    input.ReqMap.ApplicationIdentifier == STRING
    input.ReqMap.EnvironmentIdentifier == STRING
    input.ReqMap.ServiceIdentifier == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListApplications

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

ListEnvironmentVpcs

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

ListEnvironments

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

ListRoutes

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

ListServices

valid {
    input.ReqMap.ApplicationIdentifier == STRING
    input.ReqMap.EnvironmentIdentifier == STRING
    input.Qs.maxResults == INTEGER
    input.Qs.nextToken == STRING
    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
}

PutResourcePolicy

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

UntagResource

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

UpdateRoute

enum_RouteActivationState := [ "ACTIVE", "INACTIVE" ]

valid {
    input.Body.ActivationState == enum_RouteActivationState[_]
    input.ReqMap.ApplicationIdentifier == STRING
    input.ReqMap.EnvironmentIdentifier == STRING
    input.ReqMap.RouteIdentifier == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}