CancelCluster

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

CancelJob

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

CreateAddress

enum_AddressType := [ "CUST_PICKUP", "AWS_SHIP" ]

valid {
    input.Body.Address.AddressId == STRING
    input.Body.Address.Name == STRING
    input.Body.Address.Company == STRING
    input.Body.Address.Street1 == STRING
    input.Body.Address.Street2 == STRING
    input.Body.Address.Street3 == STRING
    input.Body.Address.City == STRING
    input.Body.Address.StateOrProvince == STRING
    input.Body.Address.PrefectureOrDistrict == STRING
    input.Body.Address.Landmark == STRING
    input.Body.Address.Country == STRING
    input.Body.Address.PostalCode == STRING
    input.Body.Address.PhoneNumber == STRING
    input.Body.Address.IsRestricted == BOOLEAN
    input.Body.Address.Type == enum_AddressType[_]
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateCluster

enum_DeviceServiceName := [ "NFS_ON_DEVICE_SERVICE", "S3_ON_DEVICE_SERVICE" ]
enum_JobState := [ "New", "PreparingAppliance", "PreparingShipment", "InTransitToCustomer", "WithCustomer", "InTransitToAWS", "WithAWSSortingFacility", "WithAWS", "InProgress", "Complete", "Cancelled", "Listing", "Pending" ]
enum_JobType := [ "IMPORT", "EXPORT", "LOCAL_USE" ]
enum_RemoteManagement := [ "INSTALLED_ONLY", "INSTALLED_AUTOSTART", "NOT_INSTALLED" ]
enum_ShippingOption := [ "SECOND_DAY", "NEXT_DAY", "EXPRESS", "STANDARD" ]
enum_SnowballCapacity := [ "T50", "T80", "T100", "T42", "T98", "T8", "T14", "T32", "NoPreference", "T240", "T13" ]
enum_SnowballType := [ "STANDARD", "EDGE", "EDGE_C", "EDGE_CG", "EDGE_S", "SNC1_HDD", "SNC1_SSD", "V3_5C", "V3_5S", "RACK_5U_C" ]
enum_StorageUnit := [ "TB" ]
enum_TransferOption := [ "IMPORT", "EXPORT", "LOCAL_USE" ]

valid {
    input.Body.JobType == enum_JobType[_]
    input.Body.Resources.S3Resources[_].BucketArn == STRING
    input.Body.Resources.S3Resources[_].KeyRange.BeginMarker == STRING
    input.Body.Resources.S3Resources[_].KeyRange.EndMarker == STRING
    input.Body.Resources.S3Resources[_].TargetOnDeviceServices[_].ServiceName == enum_DeviceServiceName[_]
    input.Body.Resources.S3Resources[_].TargetOnDeviceServices[_].TransferOption == enum_TransferOption[_]
    input.Body.Resources.LambdaResources[_].LambdaArn == STRING
    input.Body.Resources.LambdaResources[_].EventTriggers[_].EventResourceARN == STRING
    input.Body.Resources.Ec2AmiResources[_].AmiId == STRING
    input.Body.Resources.Ec2AmiResources[_].SnowballAmiId == STRING
    input.Body.OnDeviceServiceConfiguration.NFSOnDeviceService.StorageLimit == INTEGER
    input.Body.OnDeviceServiceConfiguration.NFSOnDeviceService.StorageUnit == enum_StorageUnit[_]
    input.Body.OnDeviceServiceConfiguration.TGWOnDeviceService.StorageLimit == INTEGER
    input.Body.OnDeviceServiceConfiguration.TGWOnDeviceService.StorageUnit == enum_StorageUnit[_]
    input.Body.OnDeviceServiceConfiguration.EKSOnDeviceService.KubernetesVersion == STRING
    input.Body.OnDeviceServiceConfiguration.EKSOnDeviceService.EKSAnywhereVersion == STRING
    input.Body.OnDeviceServiceConfiguration.S3OnDeviceService.StorageLimit == DOUBLE
    input.Body.OnDeviceServiceConfiguration.S3OnDeviceService.StorageUnit == enum_StorageUnit[_]
    input.Body.OnDeviceServiceConfiguration.S3OnDeviceService.ServiceSize == INTEGER
    input.Body.OnDeviceServiceConfiguration.S3OnDeviceService.FaultTolerance == INTEGER
    input.Body.Description == STRING
    input.Body.AddressId == STRING
    input.Body.KmsKeyARN == STRING
    input.Body.RoleARN == STRING
    input.Body.SnowballType == enum_SnowballType[_]
    input.Body.ShippingOption == enum_ShippingOption[_]
    input.Body.Notification.SnsTopicARN == STRING
    input.Body.Notification.JobStatesToNotify[_] == enum_JobState[_]
    input.Body.Notification.NotifyAll == BOOLEAN
    input.Body.Notification.DevicePickupSnsTopicARN == STRING
    input.Body.ForwardingAddressId == STRING
    input.Body.TaxDocuments.IND.GSTIN == STRING
    input.Body.RemoteManagement == enum_RemoteManagement[_]
    input.Body.InitialClusterSize == INTEGER
    input.Body.ForceCreateJobs == BOOLEAN
    input.Body.LongTermPricingIds[_] == STRING
    input.Body.SnowballCapacityPreference == enum_SnowballCapacity[_]
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateJob

enum_DeviceServiceName := [ "NFS_ON_DEVICE_SERVICE", "S3_ON_DEVICE_SERVICE" ]
enum_ImpactLevel := [ "IL2", "IL4", "IL5", "IL6", "IL99" ]
enum_JobState := [ "New", "PreparingAppliance", "PreparingShipment", "InTransitToCustomer", "WithCustomer", "InTransitToAWS", "WithAWSSortingFacility", "WithAWS", "InProgress", "Complete", "Cancelled", "Listing", "Pending" ]
enum_JobType := [ "IMPORT", "EXPORT", "LOCAL_USE" ]
enum_RemoteManagement := [ "INSTALLED_ONLY", "INSTALLED_AUTOSTART", "NOT_INSTALLED" ]
enum_ShippingOption := [ "SECOND_DAY", "NEXT_DAY", "EXPRESS", "STANDARD" ]
enum_SnowballCapacity := [ "T50", "T80", "T100", "T42", "T98", "T8", "T14", "T32", "NoPreference", "T240", "T13" ]
enum_SnowballType := [ "STANDARD", "EDGE", "EDGE_C", "EDGE_CG", "EDGE_S", "SNC1_HDD", "SNC1_SSD", "V3_5C", "V3_5S", "RACK_5U_C" ]
enum_StorageUnit := [ "TB" ]
enum_TransferOption := [ "IMPORT", "EXPORT", "LOCAL_USE" ]

valid {
    input.Body.JobType == enum_JobType[_]
    input.Body.Resources.S3Resources[_].BucketArn == STRING
    input.Body.Resources.S3Resources[_].KeyRange.BeginMarker == STRING
    input.Body.Resources.S3Resources[_].KeyRange.EndMarker == STRING
    input.Body.Resources.S3Resources[_].TargetOnDeviceServices[_].ServiceName == enum_DeviceServiceName[_]
    input.Body.Resources.S3Resources[_].TargetOnDeviceServices[_].TransferOption == enum_TransferOption[_]
    input.Body.Resources.LambdaResources[_].LambdaArn == STRING
    input.Body.Resources.LambdaResources[_].EventTriggers[_].EventResourceARN == STRING
    input.Body.Resources.Ec2AmiResources[_].AmiId == STRING
    input.Body.Resources.Ec2AmiResources[_].SnowballAmiId == STRING
    input.Body.OnDeviceServiceConfiguration.NFSOnDeviceService.StorageLimit == INTEGER
    input.Body.OnDeviceServiceConfiguration.NFSOnDeviceService.StorageUnit == enum_StorageUnit[_]
    input.Body.OnDeviceServiceConfiguration.TGWOnDeviceService.StorageLimit == INTEGER
    input.Body.OnDeviceServiceConfiguration.TGWOnDeviceService.StorageUnit == enum_StorageUnit[_]
    input.Body.OnDeviceServiceConfiguration.EKSOnDeviceService.KubernetesVersion == STRING
    input.Body.OnDeviceServiceConfiguration.EKSOnDeviceService.EKSAnywhereVersion == STRING
    input.Body.OnDeviceServiceConfiguration.S3OnDeviceService.StorageLimit == DOUBLE
    input.Body.OnDeviceServiceConfiguration.S3OnDeviceService.StorageUnit == enum_StorageUnit[_]
    input.Body.OnDeviceServiceConfiguration.S3OnDeviceService.ServiceSize == INTEGER
    input.Body.OnDeviceServiceConfiguration.S3OnDeviceService.FaultTolerance == INTEGER
    input.Body.Description == STRING
    input.Body.AddressId == STRING
    input.Body.KmsKeyARN == STRING
    input.Body.RoleARN == STRING
    input.Body.SnowballCapacityPreference == enum_SnowballCapacity[_]
    input.Body.ShippingOption == enum_ShippingOption[_]
    input.Body.Notification.SnsTopicARN == STRING
    input.Body.Notification.JobStatesToNotify[_] == enum_JobState[_]
    input.Body.Notification.NotifyAll == BOOLEAN
    input.Body.Notification.DevicePickupSnsTopicARN == STRING
    input.Body.ClusterId == STRING
    input.Body.SnowballType == enum_SnowballType[_]
    input.Body.ForwardingAddressId == STRING
    input.Body.TaxDocuments.IND.GSTIN == STRING
    input.Body.DeviceConfiguration.SnowconeDeviceConfiguration.WirelessConnection.IsWifiEnabled == BOOLEAN
    input.Body.RemoteManagement == enum_RemoteManagement[_]
    input.Body.LongTermPricingId == STRING
    input.Body.ImpactLevel == enum_ImpactLevel[_]
    input.Body.PickupDetails.Name == STRING
    input.Body.PickupDetails.PhoneNumber == STRING
    input.Body.PickupDetails.Email == STRING
    input.Body.PickupDetails.IdentificationNumber == STRING
    input.Body.PickupDetails.IdentificationExpirationDate == TIMESTAMP
    input.Body.PickupDetails.IdentificationIssuingOrg == STRING
    input.Body.PickupDetails.DevicePickupId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateLongTermPricing

enum_LongTermPricingType := [ "OneYear", "ThreeYear", "OneMonth" ]
enum_SnowballType := [ "STANDARD", "EDGE", "EDGE_C", "EDGE_CG", "EDGE_S", "SNC1_HDD", "SNC1_SSD", "V3_5C", "V3_5S", "RACK_5U_C" ]

valid {
    input.Body.LongTermPricingType == enum_LongTermPricingType[_]
    input.Body.IsLongTermPricingAutoRenew == BOOLEAN
    input.Body.SnowballType == enum_SnowballType[_]
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateReturnShippingLabel

enum_ShippingOption := [ "SECOND_DAY", "NEXT_DAY", "EXPRESS", "STANDARD" ]

valid {
    input.Body.JobId == STRING
    input.Body.ShippingOption == enum_ShippingOption[_]
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DescribeAddress

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

DescribeAddresses

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

DescribeCluster

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

DescribeJob

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

DescribeReturnShippingLabel

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

GetJobManifest

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

GetJobUnlockCode

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

GetSnowballUsage

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

GetSoftwareUpdates

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

ListClusterJobs

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

ListClusters

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

ListCompatibleImages

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

ListJobs

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

ListLongTermPricing

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

ListPickupLocations

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

ListServiceVersions

enum_ServiceName := [ "KUBERNETES", "EKS_ANYWHERE" ]

valid {
    input.Body.ServiceName == enum_ServiceName[_]
    input.Body.DependentServices[_].ServiceName == enum_ServiceName[_]
    input.Body.DependentServices[_].ServiceVersion.Version == STRING
    input.Body.MaxResults == INTEGER
    input.Body.NextToken == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UpdateCluster

enum_DeviceServiceName := [ "NFS_ON_DEVICE_SERVICE", "S3_ON_DEVICE_SERVICE" ]
enum_JobState := [ "New", "PreparingAppliance", "PreparingShipment", "InTransitToCustomer", "WithCustomer", "InTransitToAWS", "WithAWSSortingFacility", "WithAWS", "InProgress", "Complete", "Cancelled", "Listing", "Pending" ]
enum_ShippingOption := [ "SECOND_DAY", "NEXT_DAY", "EXPRESS", "STANDARD" ]
enum_StorageUnit := [ "TB" ]
enum_TransferOption := [ "IMPORT", "EXPORT", "LOCAL_USE" ]

valid {
    input.Body.ClusterId == STRING
    input.Body.RoleARN == STRING
    input.Body.Description == STRING
    input.Body.Resources.S3Resources[_].BucketArn == STRING
    input.Body.Resources.S3Resources[_].KeyRange.BeginMarker == STRING
    input.Body.Resources.S3Resources[_].KeyRange.EndMarker == STRING
    input.Body.Resources.S3Resources[_].TargetOnDeviceServices[_].ServiceName == enum_DeviceServiceName[_]
    input.Body.Resources.S3Resources[_].TargetOnDeviceServices[_].TransferOption == enum_TransferOption[_]
    input.Body.Resources.LambdaResources[_].LambdaArn == STRING
    input.Body.Resources.LambdaResources[_].EventTriggers[_].EventResourceARN == STRING
    input.Body.Resources.Ec2AmiResources[_].AmiId == STRING
    input.Body.Resources.Ec2AmiResources[_].SnowballAmiId == STRING
    input.Body.OnDeviceServiceConfiguration.NFSOnDeviceService.StorageLimit == INTEGER
    input.Body.OnDeviceServiceConfiguration.NFSOnDeviceService.StorageUnit == enum_StorageUnit[_]
    input.Body.OnDeviceServiceConfiguration.TGWOnDeviceService.StorageLimit == INTEGER
    input.Body.OnDeviceServiceConfiguration.TGWOnDeviceService.StorageUnit == enum_StorageUnit[_]
    input.Body.OnDeviceServiceConfiguration.EKSOnDeviceService.KubernetesVersion == STRING
    input.Body.OnDeviceServiceConfiguration.EKSOnDeviceService.EKSAnywhereVersion == STRING
    input.Body.OnDeviceServiceConfiguration.S3OnDeviceService.StorageLimit == DOUBLE
    input.Body.OnDeviceServiceConfiguration.S3OnDeviceService.StorageUnit == enum_StorageUnit[_]
    input.Body.OnDeviceServiceConfiguration.S3OnDeviceService.ServiceSize == INTEGER
    input.Body.OnDeviceServiceConfiguration.S3OnDeviceService.FaultTolerance == INTEGER
    input.Body.AddressId == STRING
    input.Body.ShippingOption == enum_ShippingOption[_]
    input.Body.Notification.SnsTopicARN == STRING
    input.Body.Notification.JobStatesToNotify[_] == enum_JobState[_]
    input.Body.Notification.NotifyAll == BOOLEAN
    input.Body.Notification.DevicePickupSnsTopicARN == STRING
    input.Body.ForwardingAddressId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UpdateJob

enum_DeviceServiceName := [ "NFS_ON_DEVICE_SERVICE", "S3_ON_DEVICE_SERVICE" ]
enum_JobState := [ "New", "PreparingAppliance", "PreparingShipment", "InTransitToCustomer", "WithCustomer", "InTransitToAWS", "WithAWSSortingFacility", "WithAWS", "InProgress", "Complete", "Cancelled", "Listing", "Pending" ]
enum_ShippingOption := [ "SECOND_DAY", "NEXT_DAY", "EXPRESS", "STANDARD" ]
enum_SnowballCapacity := [ "T50", "T80", "T100", "T42", "T98", "T8", "T14", "T32", "NoPreference", "T240", "T13" ]
enum_StorageUnit := [ "TB" ]
enum_TransferOption := [ "IMPORT", "EXPORT", "LOCAL_USE" ]

valid {
    input.Body.JobId == STRING
    input.Body.RoleARN == STRING
    input.Body.Notification.SnsTopicARN == STRING
    input.Body.Notification.JobStatesToNotify[_] == enum_JobState[_]
    input.Body.Notification.NotifyAll == BOOLEAN
    input.Body.Notification.DevicePickupSnsTopicARN == STRING
    input.Body.Resources.S3Resources[_].BucketArn == STRING
    input.Body.Resources.S3Resources[_].KeyRange.BeginMarker == STRING
    input.Body.Resources.S3Resources[_].KeyRange.EndMarker == STRING
    input.Body.Resources.S3Resources[_].TargetOnDeviceServices[_].ServiceName == enum_DeviceServiceName[_]
    input.Body.Resources.S3Resources[_].TargetOnDeviceServices[_].TransferOption == enum_TransferOption[_]
    input.Body.Resources.LambdaResources[_].LambdaArn == STRING
    input.Body.Resources.LambdaResources[_].EventTriggers[_].EventResourceARN == STRING
    input.Body.Resources.Ec2AmiResources[_].AmiId == STRING
    input.Body.Resources.Ec2AmiResources[_].SnowballAmiId == STRING
    input.Body.OnDeviceServiceConfiguration.NFSOnDeviceService.StorageLimit == INTEGER
    input.Body.OnDeviceServiceConfiguration.NFSOnDeviceService.StorageUnit == enum_StorageUnit[_]
    input.Body.OnDeviceServiceConfiguration.TGWOnDeviceService.StorageLimit == INTEGER
    input.Body.OnDeviceServiceConfiguration.TGWOnDeviceService.StorageUnit == enum_StorageUnit[_]
    input.Body.OnDeviceServiceConfiguration.EKSOnDeviceService.KubernetesVersion == STRING
    input.Body.OnDeviceServiceConfiguration.EKSOnDeviceService.EKSAnywhereVersion == STRING
    input.Body.OnDeviceServiceConfiguration.S3OnDeviceService.StorageLimit == DOUBLE
    input.Body.OnDeviceServiceConfiguration.S3OnDeviceService.StorageUnit == enum_StorageUnit[_]
    input.Body.OnDeviceServiceConfiguration.S3OnDeviceService.ServiceSize == INTEGER
    input.Body.OnDeviceServiceConfiguration.S3OnDeviceService.FaultTolerance == INTEGER
    input.Body.AddressId == STRING
    input.Body.ShippingOption == enum_ShippingOption[_]
    input.Body.Description == STRING
    input.Body.SnowballCapacityPreference == enum_SnowballCapacity[_]
    input.Body.ForwardingAddressId == STRING
    input.Body.PickupDetails.Name == STRING
    input.Body.PickupDetails.PhoneNumber == STRING
    input.Body.PickupDetails.Email == STRING
    input.Body.PickupDetails.IdentificationNumber == STRING
    input.Body.PickupDetails.IdentificationExpirationDate == TIMESTAMP
    input.Body.PickupDetails.IdentificationIssuingOrg == STRING
    input.Body.PickupDetails.DevicePickupId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UpdateJobShipmentState

enum_ShipmentState := [ "RECEIVED", "RETURNED" ]

valid {
    input.Body.JobId == STRING
    input.Body.ShipmentState == enum_ShipmentState[_]
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UpdateLongTermPricing

valid {
    input.Body.LongTermPricingId == STRING
    input.Body.ReplacementJob == STRING
    input.Body.IsLongTermPricingAutoRenew == BOOLEAN
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}