CancelCapacityTask

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

CancelOrder

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

CreateOrder

enum_PaymentOption := [ "ALL_UPFRONT", "NO_UPFRONT", "PARTIAL_UPFRONT" ]
enum_PaymentTerm := [ "THREE_YEARS", "ONE_YEAR" ]

valid {
    input.Body.OutpostIdentifier == STRING
    input.Body.LineItems[_].CatalogItemId == STRING
    input.Body.LineItems[_].Quantity == INTEGER
    input.Body.PaymentOption == enum_PaymentOption[_]
    input.Body.PaymentTerm == enum_PaymentTerm[_]
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateOutpost

enum_SupportedHardwareType := [ "RACK", "SERVER" ]

valid {
    input.Body.Name == STRING
    input.Body.Description == STRING
    input.Body.SiteId == STRING
    input.Body.AvailabilityZone == STRING
    input.Body.AvailabilityZoneId == STRING
    input.Body.Tags.STRING == STRING
    input.Body.SupportedHardwareType == enum_SupportedHardwareType[_]
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateSite

enum_FiberOpticCableType := [ "SINGLE_MODE", "MULTI_MODE" ]
enum_MaximumSupportedWeightLbs := [ "NO_LIMIT", "MAX_1400_LBS", "MAX_1600_LBS", "MAX_1800_LBS", "MAX_2000_LBS" ]
enum_OpticalStandard := [ "OPTIC_10GBASE_SR", "OPTIC_10GBASE_IR", "OPTIC_10GBASE_LR", "OPTIC_40GBASE_SR", "OPTIC_40GBASE_ESR", "OPTIC_40GBASE_IR4_LR4L", "OPTIC_40GBASE_LR4", "OPTIC_100GBASE_SR4", "OPTIC_100GBASE_CWDM4", "OPTIC_100GBASE_LR4", "OPTIC_100G_PSM4_MSA", "OPTIC_1000BASE_LX", "OPTIC_1000BASE_SX" ]
enum_PowerConnector := [ "L6_30P", "IEC309", "AH530P7W", "AH532P6W" ]
enum_PowerDrawKva := [ "POWER_5_KVA", "POWER_10_KVA", "POWER_15_KVA", "POWER_30_KVA" ]
enum_PowerFeedDrop := [ "ABOVE_RACK", "BELOW_RACK" ]
enum_PowerPhase := [ "SINGLE_PHASE", "THREE_PHASE" ]
enum_UplinkCount := [ "UPLINK_COUNT_1", "UPLINK_COUNT_2", "UPLINK_COUNT_3", "UPLINK_COUNT_4", "UPLINK_COUNT_5", "UPLINK_COUNT_6", "UPLINK_COUNT_7", "UPLINK_COUNT_8", "UPLINK_COUNT_12", "UPLINK_COUNT_16" ]
enum_UplinkGbps := [ "UPLINK_1G", "UPLINK_10G", "UPLINK_40G", "UPLINK_100G" ]

valid {
    input.Body.Name == STRING
    input.Body.Description == STRING
    input.Body.Notes == STRING
    input.Body.Tags.STRING == STRING
    input.Body.OperatingAddress.ContactName == STRING
    input.Body.OperatingAddress.ContactPhoneNumber == STRING
    input.Body.OperatingAddress.AddressLine1 == STRING
    input.Body.OperatingAddress.AddressLine2 == STRING
    input.Body.OperatingAddress.AddressLine3 == STRING
    input.Body.OperatingAddress.City == STRING
    input.Body.OperatingAddress.StateOrRegion == STRING
    input.Body.OperatingAddress.DistrictOrCounty == STRING
    input.Body.OperatingAddress.PostalCode == STRING
    input.Body.OperatingAddress.CountryCode == STRING
    input.Body.OperatingAddress.Municipality == STRING
    input.Body.ShippingAddress.ContactName == STRING
    input.Body.ShippingAddress.ContactPhoneNumber == STRING
    input.Body.ShippingAddress.AddressLine1 == STRING
    input.Body.ShippingAddress.AddressLine2 == STRING
    input.Body.ShippingAddress.AddressLine3 == STRING
    input.Body.ShippingAddress.City == STRING
    input.Body.ShippingAddress.StateOrRegion == STRING
    input.Body.ShippingAddress.DistrictOrCounty == STRING
    input.Body.ShippingAddress.PostalCode == STRING
    input.Body.ShippingAddress.CountryCode == STRING
    input.Body.ShippingAddress.Municipality == STRING
    input.Body.RackPhysicalProperties.PowerDrawKva == enum_PowerDrawKva[_]
    input.Body.RackPhysicalProperties.PowerPhase == enum_PowerPhase[_]
    input.Body.RackPhysicalProperties.PowerConnector == enum_PowerConnector[_]
    input.Body.RackPhysicalProperties.PowerFeedDrop == enum_PowerFeedDrop[_]
    input.Body.RackPhysicalProperties.UplinkGbps == enum_UplinkGbps[_]
    input.Body.RackPhysicalProperties.UplinkCount == enum_UplinkCount[_]
    input.Body.RackPhysicalProperties.FiberOpticCableType == enum_FiberOpticCableType[_]
    input.Body.RackPhysicalProperties.OpticalStandard == enum_OpticalStandard[_]
    input.Body.RackPhysicalProperties.MaximumSupportedWeightLbs == enum_MaximumSupportedWeightLbs[_]
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DeleteOutpost

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

DeleteSite

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

GetCapacityTask

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

GetCatalogItem

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

GetConnection

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

GetOrder

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

GetOutpost

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

GetOutpostInstanceTypes

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

GetOutpostSupportedInstanceTypes

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

GetSite

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

GetSiteAddress

enum_AddressType := [ "SHIPPING_ADDRESS", "OPERATING_ADDRESS" ]

valid {
    input.ReqMap.SiteId == STRING
    input.Qs.AddressType == enum_AddressType[_]
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListAssets

enum_AssetState := [ "ACTIVE", "RETIRING", "ISOLATED" ]

valid {
    input.ReqMap.OutpostId == STRING
    input.Qs.HostIdFilter[_] == STRING
    input.Qs.MaxResults == INTEGER
    input.Qs.NextToken == STRING
    input.Qs.StatusFilter[_] == enum_AssetState[_]
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListCapacityTasks

enum_CapacityTaskStatus := [ "REQUESTED", "IN_PROGRESS", "FAILED", "COMPLETED", "CANCELLED" ]

valid {
    input.Qs.OutpostIdentifierFilter == STRING
    input.Qs.MaxResults == INTEGER
    input.Qs.NextToken == STRING
    input.Qs.CapacityTaskStatusFilter[_] == enum_CapacityTaskStatus[_]
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListCatalogItems

enum_CatalogItemClass := [ "RACK", "SERVER" ]
enum_SupportedStorageEnum := [ "EBS", "S3" ]

valid {
    input.Qs.NextToken == STRING
    input.Qs.MaxResults == INTEGER
    input.Qs.ItemClassFilter[_] == enum_CatalogItemClass[_]
    input.Qs.SupportedStorageFilter[_] == enum_SupportedStorageEnum[_]
    input.Qs.EC2FamilyFilter[_] == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListOrders

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

ListOutposts

valid {
    input.Qs.NextToken == STRING
    input.Qs.MaxResults == INTEGER
    input.Qs.LifeCycleStatusFilter[_] == STRING
    input.Qs.AvailabilityZoneFilter[_] == STRING
    input.Qs.AvailabilityZoneIdFilter[_] == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListSites

valid {
    input.Qs.NextToken == STRING
    input.Qs.MaxResults == INTEGER
    input.Qs.OperatingAddressCountryCodeFilter[_] == STRING
    input.Qs.OperatingAddressStateOrRegionFilter[_] == STRING
    input.Qs.OperatingAddressCityFilter[_] == 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
}

StartCapacityTask

valid {
    input.Body.OrderId == STRING
    input.Body.InstancePools[_].InstanceType == STRING
    input.Body.InstancePools[_].Count == INTEGER
    input.Body.DryRun == BOOLEAN
    input.ReqMap.OutpostId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

StartConnection

valid {
    input.Body.DeviceSerialNumber == STRING
    input.Body.AssetId == STRING
    input.Body.ClientPublicKey == STRING
    input.Body.NetworkInterfaceDeviceIndex == INTEGER
    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
}

UpdateOutpost

enum_SupportedHardwareType := [ "RACK", "SERVER" ]

valid {
    input.Body.Name == STRING
    input.Body.Description == STRING
    input.Body.SupportedHardwareType == enum_SupportedHardwareType[_]
    input.ReqMap.OutpostId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UpdateSite

valid {
    input.Body.Name == STRING
    input.Body.Description == STRING
    input.Body.Notes == STRING
    input.ReqMap.SiteId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UpdateSiteAddress

enum_AddressType := [ "SHIPPING_ADDRESS", "OPERATING_ADDRESS" ]

valid {
    input.Body.AddressType == enum_AddressType[_]
    input.Body.Address.ContactName == STRING
    input.Body.Address.ContactPhoneNumber == STRING
    input.Body.Address.AddressLine1 == STRING
    input.Body.Address.AddressLine2 == STRING
    input.Body.Address.AddressLine3 == STRING
    input.Body.Address.City == STRING
    input.Body.Address.StateOrRegion == STRING
    input.Body.Address.DistrictOrCounty == STRING
    input.Body.Address.PostalCode == STRING
    input.Body.Address.CountryCode == STRING
    input.Body.Address.Municipality == STRING
    input.ReqMap.SiteId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UpdateSiteRackPhysicalProperties

enum_FiberOpticCableType := [ "SINGLE_MODE", "MULTI_MODE" ]
enum_MaximumSupportedWeightLbs := [ "NO_LIMIT", "MAX_1400_LBS", "MAX_1600_LBS", "MAX_1800_LBS", "MAX_2000_LBS" ]
enum_OpticalStandard := [ "OPTIC_10GBASE_SR", "OPTIC_10GBASE_IR", "OPTIC_10GBASE_LR", "OPTIC_40GBASE_SR", "OPTIC_40GBASE_ESR", "OPTIC_40GBASE_IR4_LR4L", "OPTIC_40GBASE_LR4", "OPTIC_100GBASE_SR4", "OPTIC_100GBASE_CWDM4", "OPTIC_100GBASE_LR4", "OPTIC_100G_PSM4_MSA", "OPTIC_1000BASE_LX", "OPTIC_1000BASE_SX" ]
enum_PowerConnector := [ "L6_30P", "IEC309", "AH530P7W", "AH532P6W" ]
enum_PowerDrawKva := [ "POWER_5_KVA", "POWER_10_KVA", "POWER_15_KVA", "POWER_30_KVA" ]
enum_PowerFeedDrop := [ "ABOVE_RACK", "BELOW_RACK" ]
enum_PowerPhase := [ "SINGLE_PHASE", "THREE_PHASE" ]
enum_UplinkCount := [ "UPLINK_COUNT_1", "UPLINK_COUNT_2", "UPLINK_COUNT_3", "UPLINK_COUNT_4", "UPLINK_COUNT_5", "UPLINK_COUNT_6", "UPLINK_COUNT_7", "UPLINK_COUNT_8", "UPLINK_COUNT_12", "UPLINK_COUNT_16" ]
enum_UplinkGbps := [ "UPLINK_1G", "UPLINK_10G", "UPLINK_40G", "UPLINK_100G" ]

valid {
    input.Body.PowerDrawKva == enum_PowerDrawKva[_]
    input.Body.PowerPhase == enum_PowerPhase[_]
    input.Body.PowerConnector == enum_PowerConnector[_]
    input.Body.PowerFeedDrop == enum_PowerFeedDrop[_]
    input.Body.UplinkGbps == enum_UplinkGbps[_]
    input.Body.UplinkCount == enum_UplinkCount[_]
    input.Body.FiberOpticCableType == enum_FiberOpticCableType[_]
    input.Body.OpticalStandard == enum_OpticalStandard[_]
    input.Body.MaximumSupportedWeightLbs == enum_MaximumSupportedWeightLbs[_]
    input.ReqMap.SiteId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}