BACKUP-GATEWAY

AssociateGatewayToServer

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

CreateGateway

enum_GatewayType := [ "BACKUP_VM" ]

valid {
    input.Body.ActivationKey == STRING
    input.Body.GatewayDisplayName == STRING
    input.Body.GatewayType == enum_GatewayType[_]
    input.Body.Tags[_].Key == STRING
    input.Body.Tags[_].Value == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DeleteGateway

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

DeleteHypervisor

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

DisassociateGatewayFromServer

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

GetBandwidthRateLimitSchedule

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

GetGateway

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

GetHypervisor

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

GetHypervisorPropertyMappings

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

GetVirtualMachine

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

ImportHypervisorConfiguration

valid {
    input.Body.Host == STRING
    input.Body.KmsKeyArn == STRING
    input.Body.Name == STRING
    input.Body.Password == STRING
    input.Body.Tags[_].Key == STRING
    input.Body.Tags[_].Value == STRING
    input.Body.Username == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListGateways

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

ListHypervisors

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

ListTagsForResource

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

ListVirtualMachines

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

PutBandwidthRateLimitSchedule

valid {
    input.Body.BandwidthRateLimitIntervals[_].AverageUploadRateLimitInBitsPerSec == LONG
    input.Body.BandwidthRateLimitIntervals[_].DaysOfWeek[_] == INTEGER
    input.Body.BandwidthRateLimitIntervals[_].EndHourOfDay == INTEGER
    input.Body.BandwidthRateLimitIntervals[_].EndMinuteOfHour == INTEGER
    input.Body.BandwidthRateLimitIntervals[_].StartHourOfDay == INTEGER
    input.Body.BandwidthRateLimitIntervals[_].StartMinuteOfHour == INTEGER
    input.Body.GatewayArn == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

PutHypervisorPropertyMappings

valid {
    input.Body.HypervisorArn == STRING
    input.Body.IamRoleArn == STRING
    input.Body.VmwareToAwsTagMappings[_].AwsTagKey == STRING
    input.Body.VmwareToAwsTagMappings[_].AwsTagValue == STRING
    input.Body.VmwareToAwsTagMappings[_].VmwareCategory == STRING
    input.Body.VmwareToAwsTagMappings[_].VmwareTagName == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

PutMaintenanceStartTime

valid {
    input.Body.DayOfMonth == INTEGER
    input.Body.DayOfWeek == INTEGER
    input.Body.GatewayArn == STRING
    input.Body.HourOfDay == INTEGER
    input.Body.MinuteOfHour == INTEGER
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

StartVirtualMachinesMetadataSync

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

TagResource

valid {
    input.Body.ResourceARN == STRING
    input.Body.Tags[_].Key == STRING
    input.Body.Tags[_].Value == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

TestHypervisorConfiguration

valid {
    input.Body.GatewayArn == STRING
    input.Body.Host == STRING
    input.Body.Password == STRING
    input.Body.Username == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UntagResource

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

UpdateGatewayInformation

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

UpdateGatewaySoftwareNow

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

UpdateHypervisor

valid {
    input.Body.Host == STRING
    input.Body.HypervisorArn == STRING
    input.Body.LogGroupArn == STRING
    input.Body.Name == STRING
    input.Body.Password == STRING
    input.Body.Username == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}