ALEXAFORBUSINESS

ApproveSkill

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

AssociateContactWithAddressBook

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

AssociateDeviceWithNetworkProfile

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

AssociateDeviceWithRoom

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

AssociateSkillGroupWithRoom

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

AssociateSkillWithSkillGroup

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

AssociateSkillWithUsers

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

CreateAddressBook

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

CreateBusinessReportSchedule

enum_BusinessReportFormat := [ "CSV", "CSV_ZIP" ]
enum_BusinessReportInterval := [ "ONE_DAY", "ONE_WEEK", "THIRTY_DAYS" ]

valid {
    input.Body.ScheduleName == STRING
    input.Body.S3BucketName == STRING
    input.Body.S3KeyPrefix == STRING
    input.Body.Format == enum_BusinessReportFormat[_]
    input.Body.ContentRange.Interval == enum_BusinessReportInterval[_]
    input.Body.Recurrence.StartDate == STRING
    input.Body.ClientRequestToken == STRING
    input.Body.Tags[_].Key == STRING
    input.Body.Tags[_].Value == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateConferenceProvider

enum_CommsProtocol := [ "SIP", "SIPS", "H323" ]
enum_ConferenceProviderType := [ "CHIME", "BLUEJEANS", "FUZE", "GOOGLE_HANGOUTS", "POLYCOM", "RINGCENTRAL", "SKYPE_FOR_BUSINESS", "WEBEX", "ZOOM", "CUSTOM" ]
enum_RequirePin := [ "YES", "NO", "OPTIONAL" ]

valid {
    input.Body.ConferenceProviderName == STRING
    input.Body.ConferenceProviderType == enum_ConferenceProviderType[_]
    input.Body.IPDialIn.Endpoint == STRING
    input.Body.IPDialIn.CommsProtocol == enum_CommsProtocol[_]
    input.Body.PSTNDialIn.CountryCode == STRING
    input.Body.PSTNDialIn.PhoneNumber == STRING
    input.Body.PSTNDialIn.OneClickIdDelay == STRING
    input.Body.PSTNDialIn.OneClickPinDelay == STRING
    input.Body.MeetingSetting.RequirePin == enum_RequirePin[_]
    input.Body.ClientRequestToken == STRING
    input.Body.Tags[_].Key == STRING
    input.Body.Tags[_].Value == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateContact

enum_PhoneNumberType := [ "MOBILE", "WORK", "HOME" ]
enum_SipType := [ "WORK" ]

valid {
    input.Body.DisplayName == STRING
    input.Body.FirstName == STRING
    input.Body.LastName == STRING
    input.Body.PhoneNumber == STRING
    input.Body.PhoneNumbers[_].Number == STRING
    input.Body.PhoneNumbers[_].Type == enum_PhoneNumberType[_]
    input.Body.SipAddresses[_].Uri == STRING
    input.Body.SipAddresses[_].Type == enum_SipType[_]
    input.Body.ClientRequestToken == STRING
    input.Body.Tags[_].Key == STRING
    input.Body.Tags[_].Value == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateGatewayGroup

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

CreateNetworkProfile

enum_NetworkEapMethod := [ "EAP_TLS" ]
enum_NetworkSecurityType := [ "OPEN", "WEP", "WPA_PSK", "WPA2_PSK", "WPA2_ENTERPRISE" ]

valid {
    input.Body.NetworkProfileName == STRING
    input.Body.Description == STRING
    input.Body.Ssid == STRING
    input.Body.SecurityType == enum_NetworkSecurityType[_]
    input.Body.EapMethod == enum_NetworkEapMethod[_]
    input.Body.CurrentPassword == STRING
    input.Body.NextPassword == STRING
    input.Body.CertificateAuthorityArn == STRING
    input.Body.TrustAnchors[_] == STRING
    input.Body.ClientRequestToken == STRING
    input.Body.Tags[_].Key == STRING
    input.Body.Tags[_].Value == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateProfile

enum_DistanceUnit := [ "METRIC", "IMPERIAL" ]
enum_EndOfMeetingReminderType := [ "ANNOUNCEMENT_TIME_CHECK", "ANNOUNCEMENT_VARIABLE_TIME_LEFT", "CHIME", "KNOCK" ]
enum_TemperatureUnit := [ "FAHRENHEIT", "CELSIUS" ]
enum_WakeWord := [ "ALEXA", "AMAZON", "ECHO", "COMPUTER" ]

valid {
    input.Body.ProfileName == STRING
    input.Body.Timezone == STRING
    input.Body.Address == STRING
    input.Body.DistanceUnit == enum_DistanceUnit[_]
    input.Body.TemperatureUnit == enum_TemperatureUnit[_]
    input.Body.WakeWord == enum_WakeWord[_]
    input.Body.Locale == STRING
    input.Body.ClientRequestToken == STRING
    input.Body.SetupModeDisabled == BOOLEAN
    input.Body.MaxVolumeLimit == INTEGER
    input.Body.PSTNEnabled == BOOLEAN
    input.Body.DataRetentionOptIn == BOOLEAN
    input.Body.MeetingRoomConfiguration.RoomUtilizationMetricsEnabled == BOOLEAN
    input.Body.MeetingRoomConfiguration.EndOfMeetingReminder.ReminderAtMinutes[_] == INTEGER
    input.Body.MeetingRoomConfiguration.EndOfMeetingReminder.ReminderType == enum_EndOfMeetingReminderType[_]
    input.Body.MeetingRoomConfiguration.EndOfMeetingReminder.Enabled == BOOLEAN
    input.Body.MeetingRoomConfiguration.InstantBooking.DurationInMinutes == INTEGER
    input.Body.MeetingRoomConfiguration.InstantBooking.Enabled == BOOLEAN
    input.Body.MeetingRoomConfiguration.RequireCheckIn.ReleaseAfterMinutes == INTEGER
    input.Body.MeetingRoomConfiguration.RequireCheckIn.Enabled == BOOLEAN
    input.Body.MeetingRoomConfiguration.ProactiveJoin.EnabledByMotion == BOOLEAN
    input.Body.Tags[_].Key == STRING
    input.Body.Tags[_].Value == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateRoom

valid {
    input.Body.RoomName == STRING
    input.Body.Description == STRING
    input.Body.ProfileArn == STRING
    input.Body.ProviderCalendarId == STRING
    input.Body.ClientRequestToken == STRING
    input.Body.Tags[_].Key == STRING
    input.Body.Tags[_].Value == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateSkillGroup

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

CreateUser

valid {
    input.Body.UserId == STRING
    input.Body.FirstName == STRING
    input.Body.LastName == STRING
    input.Body.Email == STRING
    input.Body.ClientRequestToken == STRING
    input.Body.Tags[_].Key == STRING
    input.Body.Tags[_].Value == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DeleteAddressBook

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

DeleteBusinessReportSchedule

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

DeleteConferenceProvider

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

DeleteContact

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

DeleteDevice

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

DeleteDeviceUsageData

enum_DeviceUsageType := [ "VOICE" ]

valid {
    input.Body.DeviceArn == STRING
    input.Body.DeviceUsageType == enum_DeviceUsageType[_]
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DeleteGatewayGroup

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

DeleteNetworkProfile

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

DeleteProfile

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

DeleteRoom

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

DeleteRoomSkillParameter

valid {
    input.Body.RoomArn == STRING
    input.Body.SkillId == STRING
    input.Body.ParameterKey == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DeleteSkillAuthorization

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

DeleteSkillGroup

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

DeleteUser

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

DisassociateContactFromAddressBook

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

DisassociateDeviceFromRoom

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

DisassociateSkillFromSkillGroup

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

DisassociateSkillFromUsers

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

DisassociateSkillGroupFromRoom

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

ForgetSmartHomeAppliances

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

GetAddressBook

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

GetConferencePreference

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

GetConferenceProvider

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

GetContact

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

GetDevice

valid {
    input.Body.DeviceArn == 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
}

GetGatewayGroup

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

GetInvitationConfiguration

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

GetNetworkProfile

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

GetProfile

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

GetRoom

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

GetRoomSkillParameter

valid {
    input.Body.RoomArn == STRING
    input.Body.SkillId == STRING
    input.Body.ParameterKey == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

GetSkillGroup

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

ListBusinessReportSchedules

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

ListConferenceProviders

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

ListDeviceEvents

enum_DeviceEventType := [ "CONNECTION_STATUS", "DEVICE_STATUS" ]

valid {
    input.Body.DeviceArn == STRING
    input.Body.EventType == enum_DeviceEventType[_]
    input.Body.NextToken == STRING
    input.Body.MaxResults == INTEGER
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListGatewayGroups

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

ListGateways

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

ListSkills

enum_EnablementTypeFilter := [ "ENABLED", "PENDING" ]
enum_SkillTypeFilter := [ "PUBLIC", "PRIVATE", "ALL" ]

valid {
    input.Body.SkillGroupArn == STRING
    input.Body.EnablementType == enum_EnablementTypeFilter[_]
    input.Body.SkillType == enum_SkillTypeFilter[_]
    input.Body.NextToken == STRING
    input.Body.MaxResults == INTEGER
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListSkillsStoreCategories

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

ListSkillsStoreSkillsByCategory

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

ListSmartHomeAppliances

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

ListTags

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

PutConferencePreference

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

PutInvitationConfiguration

valid {
    input.Body.OrganizationName == STRING
    input.Body.ContactEmail == STRING
    input.Body.PrivateSkillIds[_] == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

PutRoomSkillParameter

valid {
    input.Body.RoomArn == STRING
    input.Body.SkillId == STRING
    input.Body.RoomSkillParameter.ParameterKey == STRING
    input.Body.RoomSkillParameter.ParameterValue == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

PutSkillAuthorization

valid {
    input.Body.AuthorizationResult.STRING == STRING
    input.Body.SkillId == STRING
    input.Body.RoomArn == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

RegisterAVSDevice

valid {
    input.Body.ClientId == STRING
    input.Body.UserCode == STRING
    input.Body.ProductId == STRING
    input.Body.DeviceSerialNumber == STRING
    input.Body.AmazonId == STRING
    input.Body.RoomArn == STRING
    input.Body.Tags[_].Key == STRING
    input.Body.Tags[_].Value == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

RejectSkill

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

ResolveRoom

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

RevokeInvitation

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

SearchAddressBooks

enum_SortValue := [ "ASC", "DESC" ]

valid {
    input.Body.Filters[_].Key == STRING
    input.Body.Filters[_].Values[_] == STRING
    input.Body.SortCriteria[_].Key == STRING
    input.Body.SortCriteria[_].Value == enum_SortValue[_]
    input.Body.NextToken == STRING
    input.Body.MaxResults == INTEGER
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

SearchContacts

enum_SortValue := [ "ASC", "DESC" ]

valid {
    input.Body.Filters[_].Key == STRING
    input.Body.Filters[_].Values[_] == STRING
    input.Body.SortCriteria[_].Key == STRING
    input.Body.SortCriteria[_].Value == enum_SortValue[_]
    input.Body.NextToken == STRING
    input.Body.MaxResults == INTEGER
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

SearchDevices

enum_SortValue := [ "ASC", "DESC" ]

valid {
    input.Body.NextToken == STRING
    input.Body.MaxResults == INTEGER
    input.Body.Filters[_].Key == STRING
    input.Body.Filters[_].Values[_] == STRING
    input.Body.SortCriteria[_].Key == STRING
    input.Body.SortCriteria[_].Value == enum_SortValue[_]
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

SearchNetworkProfiles

enum_SortValue := [ "ASC", "DESC" ]

valid {
    input.Body.NextToken == STRING
    input.Body.MaxResults == INTEGER
    input.Body.Filters[_].Key == STRING
    input.Body.Filters[_].Values[_] == STRING
    input.Body.SortCriteria[_].Key == STRING
    input.Body.SortCriteria[_].Value == enum_SortValue[_]
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

SearchProfiles

enum_SortValue := [ "ASC", "DESC" ]

valid {
    input.Body.NextToken == STRING
    input.Body.MaxResults == INTEGER
    input.Body.Filters[_].Key == STRING
    input.Body.Filters[_].Values[_] == STRING
    input.Body.SortCriteria[_].Key == STRING
    input.Body.SortCriteria[_].Value == enum_SortValue[_]
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

SearchRooms

enum_SortValue := [ "ASC", "DESC" ]

valid {
    input.Body.NextToken == STRING
    input.Body.MaxResults == INTEGER
    input.Body.Filters[_].Key == STRING
    input.Body.Filters[_].Values[_] == STRING
    input.Body.SortCriteria[_].Key == STRING
    input.Body.SortCriteria[_].Value == enum_SortValue[_]
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

SearchSkillGroups

enum_SortValue := [ "ASC", "DESC" ]

valid {
    input.Body.NextToken == STRING
    input.Body.MaxResults == INTEGER
    input.Body.Filters[_].Key == STRING
    input.Body.Filters[_].Values[_] == STRING
    input.Body.SortCriteria[_].Key == STRING
    input.Body.SortCriteria[_].Value == enum_SortValue[_]
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

SearchUsers

enum_SortValue := [ "ASC", "DESC" ]

valid {
    input.Body.NextToken == STRING
    input.Body.MaxResults == INTEGER
    input.Body.Filters[_].Key == STRING
    input.Body.Filters[_].Values[_] == STRING
    input.Body.SortCriteria[_].Key == STRING
    input.Body.SortCriteria[_].Value == enum_SortValue[_]
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

SendAnnouncement

enum_Locale := [ "en-US" ]

valid {
    input.Body.RoomFilters[_].Key == STRING
    input.Body.RoomFilters[_].Values[_] == STRING
    input.Body.Content.TextList[_].Locale == enum_Locale[_]
    input.Body.Content.TextList[_].Value == STRING
    input.Body.Content.SsmlList[_].Locale == enum_Locale[_]
    input.Body.Content.SsmlList[_].Value == STRING
    input.Body.Content.AudioList[_].Locale == enum_Locale[_]
    input.Body.Content.AudioList[_].Location == STRING
    input.Body.TimeToLiveInSeconds == INTEGER
    input.Body.ClientRequestToken == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

SendInvitation

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

StartDeviceSync

enum_Feature := [ "BLUETOOTH", "VOLUME", "NOTIFICATIONS", "LISTS", "SKILLS", "NETWORK_PROFILE", "SETTINGS", "ALL" ]

valid {
    input.Body.RoomArn == STRING
    input.Body.DeviceArn == STRING
    input.Body.Features[_] == enum_Feature[_]
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

StartSmartHomeApplianceDiscovery

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

TagResource

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

UntagResource

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

UpdateAddressBook

valid {
    input.Body.AddressBookArn == STRING
    input.Body.Name == STRING
    input.Body.Description == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UpdateBusinessReportSchedule

enum_BusinessReportFormat := [ "CSV", "CSV_ZIP" ]

valid {
    input.Body.ScheduleArn == STRING
    input.Body.S3BucketName == STRING
    input.Body.S3KeyPrefix == STRING
    input.Body.Format == enum_BusinessReportFormat[_]
    input.Body.ScheduleName == STRING
    input.Body.Recurrence.StartDate == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UpdateConferenceProvider

enum_CommsProtocol := [ "SIP", "SIPS", "H323" ]
enum_ConferenceProviderType := [ "CHIME", "BLUEJEANS", "FUZE", "GOOGLE_HANGOUTS", "POLYCOM", "RINGCENTRAL", "SKYPE_FOR_BUSINESS", "WEBEX", "ZOOM", "CUSTOM" ]
enum_RequirePin := [ "YES", "NO", "OPTIONAL" ]

valid {
    input.Body.ConferenceProviderArn == STRING
    input.Body.ConferenceProviderType == enum_ConferenceProviderType[_]
    input.Body.IPDialIn.Endpoint == STRING
    input.Body.IPDialIn.CommsProtocol == enum_CommsProtocol[_]
    input.Body.PSTNDialIn.CountryCode == STRING
    input.Body.PSTNDialIn.PhoneNumber == STRING
    input.Body.PSTNDialIn.OneClickIdDelay == STRING
    input.Body.PSTNDialIn.OneClickPinDelay == STRING
    input.Body.MeetingSetting.RequirePin == enum_RequirePin[_]
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UpdateContact

enum_PhoneNumberType := [ "MOBILE", "WORK", "HOME" ]
enum_SipType := [ "WORK" ]

valid {
    input.Body.ContactArn == STRING
    input.Body.DisplayName == STRING
    input.Body.FirstName == STRING
    input.Body.LastName == STRING
    input.Body.PhoneNumber == STRING
    input.Body.PhoneNumbers[_].Number == STRING
    input.Body.PhoneNumbers[_].Type == enum_PhoneNumberType[_]
    input.Body.SipAddresses[_].Uri == STRING
    input.Body.SipAddresses[_].Type == enum_SipType[_]
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UpdateDevice

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

UpdateGateway

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

UpdateGatewayGroup

valid {
    input.Body.GatewayGroupArn == STRING
    input.Body.Name == STRING
    input.Body.Description == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UpdateNetworkProfile

valid {
    input.Body.NetworkProfileArn == STRING
    input.Body.NetworkProfileName == STRING
    input.Body.Description == STRING
    input.Body.CurrentPassword == STRING
    input.Body.NextPassword == STRING
    input.Body.CertificateAuthorityArn == STRING
    input.Body.TrustAnchors[_] == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UpdateProfile

enum_DistanceUnit := [ "METRIC", "IMPERIAL" ]
enum_EndOfMeetingReminderType := [ "ANNOUNCEMENT_TIME_CHECK", "ANNOUNCEMENT_VARIABLE_TIME_LEFT", "CHIME", "KNOCK" ]
enum_TemperatureUnit := [ "FAHRENHEIT", "CELSIUS" ]
enum_WakeWord := [ "ALEXA", "AMAZON", "ECHO", "COMPUTER" ]

valid {
    input.Body.ProfileArn == STRING
    input.Body.ProfileName == STRING
    input.Body.IsDefault == BOOLEAN
    input.Body.Timezone == STRING
    input.Body.Address == STRING
    input.Body.DistanceUnit == enum_DistanceUnit[_]
    input.Body.TemperatureUnit == enum_TemperatureUnit[_]
    input.Body.WakeWord == enum_WakeWord[_]
    input.Body.Locale == STRING
    input.Body.SetupModeDisabled == BOOLEAN
    input.Body.MaxVolumeLimit == INTEGER
    input.Body.PSTNEnabled == BOOLEAN
    input.Body.DataRetentionOptIn == BOOLEAN
    input.Body.MeetingRoomConfiguration.RoomUtilizationMetricsEnabled == BOOLEAN
    input.Body.MeetingRoomConfiguration.EndOfMeetingReminder.ReminderAtMinutes[_] == INTEGER
    input.Body.MeetingRoomConfiguration.EndOfMeetingReminder.ReminderType == enum_EndOfMeetingReminderType[_]
    input.Body.MeetingRoomConfiguration.EndOfMeetingReminder.Enabled == BOOLEAN
    input.Body.MeetingRoomConfiguration.InstantBooking.DurationInMinutes == INTEGER
    input.Body.MeetingRoomConfiguration.InstantBooking.Enabled == BOOLEAN
    input.Body.MeetingRoomConfiguration.RequireCheckIn.ReleaseAfterMinutes == INTEGER
    input.Body.MeetingRoomConfiguration.RequireCheckIn.Enabled == BOOLEAN
    input.Body.MeetingRoomConfiguration.ProactiveJoin.EnabledByMotion == BOOLEAN
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UpdateRoom

valid {
    input.Body.RoomArn == STRING
    input.Body.RoomName == STRING
    input.Body.Description == STRING
    input.Body.ProviderCalendarId == STRING
    input.Body.ProfileArn == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UpdateSkillGroup

valid {
    input.Body.SkillGroupArn == STRING
    input.Body.SkillGroupName == STRING
    input.Body.Description == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}