AssociatePhoneNumberWithUser

valid {
    input.Body.E164PhoneNumber == STRING
    input.ReqMap.accountId == STRING
    input.ReqMap.userId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

AssociatePhoneNumbersWithVoiceConnector

valid {
    input.Body.E164PhoneNumbers[_] == STRING
    input.Body.ForceAssociate == BOOLEAN
    input.ReqMap.voiceConnectorId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

AssociatePhoneNumbersWithVoiceConnectorGroup

valid {
    input.Body.E164PhoneNumbers[_] == STRING
    input.Body.ForceAssociate == BOOLEAN
    input.ReqMap.voiceConnectorGroupId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

AssociateSigninDelegateGroupsWithAccount

valid {
    input.Body.SigninDelegateGroups[_].GroupName == STRING
    input.ReqMap.accountId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

BatchCreateAttendee

valid {
    input.Body.Attendees[_].ExternalUserId == STRING
    input.Body.Attendees[_].Tags[_].Key == STRING
    input.Body.Attendees[_].Tags[_].Value == STRING
    input.ReqMap.meetingId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

BatchCreateChannelMembership

enum_ChannelMembershipType := [ "DEFAULT", "HIDDEN" ]

valid {
    input.Body.Type == enum_ChannelMembershipType[_]
    input.Body.MemberArns[_] == STRING
    input.ReqMap.channelArn == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

BatchCreateRoomMembership

enum_RoomMembershipRole := [ "Administrator", "Member" ]

valid {
    input.Body.MembershipItemList[_].MemberId == STRING
    input.Body.MembershipItemList[_].Role == enum_RoomMembershipRole[_]
    input.ReqMap.accountId == STRING
    input.ReqMap.roomId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

BatchDeletePhoneNumber

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

BatchSuspendUser

valid {
    input.Body.UserIdList[_] == STRING
    input.ReqMap.accountId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

BatchUnsuspendUser

valid {
    input.Body.UserIdList[_] == STRING
    input.ReqMap.accountId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

BatchUpdatePhoneNumber

enum_PhoneNumberProductType := [ "BusinessCalling", "VoiceConnector", "SipMediaApplicationDialIn" ]

valid {
    input.Body.UpdatePhoneNumberRequestItems[_].PhoneNumberId == STRING
    input.Body.UpdatePhoneNumberRequestItems[_].ProductType == enum_PhoneNumberProductType[_]
    input.Body.UpdatePhoneNumberRequestItems[_].CallingName == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

BatchUpdateUser

enum_License := [ "Basic", "Plus", "Pro", "ProTrial" ]
enum_UserType := [ "PrivateUser", "SharedDevice" ]

valid {
    input.Body.UpdateUserRequestItems[_].UserId == STRING
    input.Body.UpdateUserRequestItems[_].LicenseType == enum_License[_]
    input.Body.UpdateUserRequestItems[_].UserType == enum_UserType[_]
    input.Body.UpdateUserRequestItems[_].AlexaForBusinessMetadata.IsAlexaForBusinessEnabled == BOOLEAN
    input.Body.UpdateUserRequestItems[_].AlexaForBusinessMetadata.AlexaForBusinessRoomArn == STRING
    input.ReqMap.accountId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateAccount

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

CreateAppInstance

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

CreateAppInstanceAdmin

valid {
    input.Body.AppInstanceAdminArn == STRING
    input.ReqMap.appInstanceArn == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateAppInstanceUser

valid {
    input.Body.AppInstanceArn == STRING
    input.Body.AppInstanceUserId == STRING
    input.Body.Name == STRING
    input.Body.Metadata == 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
}

CreateAttendee

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

CreateBot

valid {
    input.Body.DisplayName == STRING
    input.Body.Domain == STRING
    input.ReqMap.accountId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateChannel

enum_ChannelMode := [ "UNRESTRICTED", "RESTRICTED" ]
enum_ChannelPrivacy := [ "PUBLIC", "PRIVATE" ]

valid {
    input.Body.AppInstanceArn == STRING
    input.Body.Name == STRING
    input.Body.Mode == enum_ChannelMode[_]
    input.Body.Privacy == enum_ChannelPrivacy[_]
    input.Body.Metadata == 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
}

CreateChannelBan

valid {
    input.Body.MemberArn == STRING
    input.ReqMap.channelArn == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateChannelMembership

enum_ChannelMembershipType := [ "DEFAULT", "HIDDEN" ]

valid {
    input.Body.MemberArn == STRING
    input.Body.Type == enum_ChannelMembershipType[_]
    input.ReqMap.channelArn == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateChannelModerator

valid {
    input.Body.ChannelModeratorArn == STRING
    input.ReqMap.channelArn == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateMediaCapturePipeline

enum_ArtifactsState := [ "Enabled", "Disabled" ]
enum_AudioMuxType := [ "AudioOnly", "AudioWithActiveSpeakerVideo" ]
enum_ContentMuxType := [ "ContentOnly" ]
enum_MediaPipelineSinkType := [ "S3Bucket" ]
enum_MediaPipelineSourceType := [ "ChimeSdkMeeting" ]
enum_VideoMuxType := [ "VideoOnly" ]

valid {
    input.Body.SourceType == enum_MediaPipelineSourceType[_]
    input.Body.SourceArn == STRING
    input.Body.SinkType == enum_MediaPipelineSinkType[_]
    input.Body.SinkArn == STRING
    input.Body.ClientRequestToken == STRING
    input.Body.ChimeSdkMeetingConfiguration.SourceConfiguration.SelectedVideoStreams.AttendeeIds[_] == STRING
    input.Body.ChimeSdkMeetingConfiguration.SourceConfiguration.SelectedVideoStreams.ExternalUserIds[_] == STRING
    input.Body.ChimeSdkMeetingConfiguration.ArtifactsConfiguration.Audio.MuxType == enum_AudioMuxType[_]
    input.Body.ChimeSdkMeetingConfiguration.ArtifactsConfiguration.Video.State == enum_ArtifactsState[_]
    input.Body.ChimeSdkMeetingConfiguration.ArtifactsConfiguration.Video.MuxType == enum_VideoMuxType[_]
    input.Body.ChimeSdkMeetingConfiguration.ArtifactsConfiguration.Content.State == enum_ArtifactsState[_]
    input.Body.ChimeSdkMeetingConfiguration.ArtifactsConfiguration.Content.MuxType == enum_ContentMuxType[_]
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateMeeting

valid {
    input.Body.ClientRequestToken == STRING
    input.Body.ExternalMeetingId == STRING
    input.Body.MeetingHostId == STRING
    input.Body.MediaRegion == STRING
    input.Body.Tags[_].Key == STRING
    input.Body.Tags[_].Value == STRING
    input.Body.NotificationsConfiguration.SnsTopicArn == STRING
    input.Body.NotificationsConfiguration.SqsQueueArn == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateMeetingDialOut

valid {
    input.Body.FromPhoneNumber == STRING
    input.Body.ToPhoneNumber == STRING
    input.Body.JoinToken == STRING
    input.ReqMap.meetingId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateMeetingWithAttendees

valid {
    input.Body.ClientRequestToken == STRING
    input.Body.ExternalMeetingId == STRING
    input.Body.MeetingHostId == STRING
    input.Body.MediaRegion == STRING
    input.Body.Tags[_].Key == STRING
    input.Body.Tags[_].Value == STRING
    input.Body.NotificationsConfiguration.SnsTopicArn == STRING
    input.Body.NotificationsConfiguration.SqsQueueArn == STRING
    input.Body.Attendees[_].ExternalUserId == STRING
    input.Body.Attendees[_].Tags[_].Key == STRING
    input.Body.Attendees[_].Tags[_].Value == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreatePhoneNumberOrder

enum_PhoneNumberProductType := [ "BusinessCalling", "VoiceConnector", "SipMediaApplicationDialIn" ]

valid {
    input.Body.ProductType == enum_PhoneNumberProductType[_]
    input.Body.E164PhoneNumbers[_] == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateProxySession

enum_Capability := [ "Voice", "SMS" ]
enum_GeoMatchLevel := [ "Country", "AreaCode" ]
enum_NumberSelectionBehavior := [ "PreferSticky", "AvoidSticky" ]

valid {
    input.Body.ParticipantPhoneNumbers[_] == STRING
    input.Body.Name == STRING
    input.Body.ExpiryMinutes == INTEGER
    input.Body.Capabilities[_] == enum_Capability[_]
    input.Body.NumberSelectionBehavior == enum_NumberSelectionBehavior[_]
    input.Body.GeoMatchLevel == enum_GeoMatchLevel[_]
    input.Body.GeoMatchParams.Country == STRING
    input.Body.GeoMatchParams.AreaCode == STRING
    input.ReqMap.voiceConnectorId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateRoom

valid {
    input.Body.Name == STRING
    input.Body.ClientRequestToken == STRING
    input.ReqMap.accountId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateRoomMembership

enum_RoomMembershipRole := [ "Administrator", "Member" ]

valid {
    input.Body.MemberId == STRING
    input.Body.Role == enum_RoomMembershipRole[_]
    input.ReqMap.accountId == STRING
    input.ReqMap.roomId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateSipMediaApplication

valid {
    input.Body.AwsRegion == STRING
    input.Body.Name == STRING
    input.Body.Endpoints[_].LambdaArn == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateSipMediaApplicationCall

valid {
    input.Body.FromPhoneNumber == STRING
    input.Body.ToPhoneNumber == STRING
    input.Body.SipHeaders.STRING == STRING
    input.ReqMap.sipMediaApplicationId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateSipRule

enum_SipRuleTriggerType := [ "ToPhoneNumber", "RequestUriHostname" ]

valid {
    input.Body.Name == STRING
    input.Body.TriggerType == enum_SipRuleTriggerType[_]
    input.Body.TriggerValue == STRING
    input.Body.Disabled == BOOLEAN
    input.Body.TargetApplications[_].SipMediaApplicationId == STRING
    input.Body.TargetApplications[_].Priority == INTEGER
    input.Body.TargetApplications[_].AwsRegion == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateUser

enum_UserType := [ "PrivateUser", "SharedDevice" ]

valid {
    input.Body.Username == STRING
    input.Body.Email == STRING
    input.Body.UserType == enum_UserType[_]
    input.ReqMap.accountId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateVoiceConnector

enum_VoiceConnectorAwsRegion := [ "us-east-1", "us-west-2" ]

valid {
    input.Body.Name == STRING
    input.Body.AwsRegion == enum_VoiceConnectorAwsRegion[_]
    input.Body.RequireEncryption == BOOLEAN
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateVoiceConnectorGroup

valid {
    input.Body.Name == STRING
    input.Body.VoiceConnectorItems[_].VoiceConnectorId == STRING
    input.Body.VoiceConnectorItems[_].Priority == INTEGER
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DeleteAccount

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

DeleteAppInstance

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

DeleteAppInstanceAdmin

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

DeleteAppInstanceStreamingConfigurations

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

DeleteAppInstanceUser

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

DeleteAttendee

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

DeleteChannel

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

DeleteChannelBan

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

DeleteChannelMembership

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

DeleteChannelMessage

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

DeleteChannelModerator

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

DeleteEventsConfiguration

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

DeleteMediaCapturePipeline

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

DeleteMeeting

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

DeletePhoneNumber

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

DeleteProxySession

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

DeleteRoom

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

DeleteRoomMembership

valid {
    input.ReqMap.accountId == STRING
    input.ReqMap.roomId == STRING
    input.ReqMap.memberId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DeleteSipMediaApplication

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

DeleteSipRule

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

DeleteVoiceConnector

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

DeleteVoiceConnectorEmergencyCallingConfiguration

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

DeleteVoiceConnectorGroup

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

DeleteVoiceConnectorOrigination

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

DeleteVoiceConnectorProxy

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

DeleteVoiceConnectorStreamingConfiguration

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

DeleteVoiceConnectorTermination

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

DeleteVoiceConnectorTerminationCredentials

valid {
    input.Body.Usernames[_] == STRING
    input.ReqMap.voiceConnectorId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DescribeAppInstance

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

DescribeAppInstanceAdmin

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

DescribeAppInstanceUser

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

DescribeChannel

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

DescribeChannelBan

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

DescribeChannelMembership

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

DescribeChannelMembershipForAppInstanceUser

valid {
    input.ReqMap.channelArn == STRING
    input.Qs.app-instance-user-arn == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DescribeChannelModeratedByAppInstanceUser

valid {
    input.ReqMap.channelArn == STRING
    input.Qs.app-instance-user-arn == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DescribeChannelModerator

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

DisassociatePhoneNumberFromUser

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

DisassociatePhoneNumbersFromVoiceConnector

valid {
    input.Body.E164PhoneNumbers[_] == STRING
    input.ReqMap.voiceConnectorId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DisassociatePhoneNumbersFromVoiceConnectorGroup

valid {
    input.Body.E164PhoneNumbers[_] == STRING
    input.ReqMap.voiceConnectorGroupId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DisassociateSigninDelegateGroupsFromAccount

valid {
    input.Body.GroupNames[_] == STRING
    input.ReqMap.accountId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

GetAccount

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

GetAccountSettings

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

GetAppInstanceRetentionSettings

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

GetAppInstanceStreamingConfigurations

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

GetAttendee

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

GetBot

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

GetChannelMessage

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

GetEventsConfiguration

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

GetGlobalSettings

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

GetMediaCapturePipeline

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

GetMeeting

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

GetMessagingSessionEndpoint

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

GetPhoneNumber

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

GetPhoneNumberOrder

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

GetPhoneNumberSettings

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

GetProxySession

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

GetRetentionSettings

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

GetRoom

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

GetSipMediaApplication

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

GetSipMediaApplicationLoggingConfiguration

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

GetSipRule

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

GetUser

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

GetUserSettings

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

GetVoiceConnector

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

GetVoiceConnectorEmergencyCallingConfiguration

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

GetVoiceConnectorGroup

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

GetVoiceConnectorLoggingConfiguration

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

GetVoiceConnectorOrigination

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

GetVoiceConnectorProxy

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

GetVoiceConnectorStreamingConfiguration

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

GetVoiceConnectorTermination

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

GetVoiceConnectorTerminationHealth

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

InviteUsers

enum_UserType := [ "PrivateUser", "SharedDevice" ]

valid {
    input.Body.UserEmailList[_] == STRING
    input.Body.UserType == enum_UserType[_]
    input.ReqMap.accountId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListAccounts

valid {
    input.Qs.name == STRING
    input.Qs.user-email == STRING
    input.Qs.next-token == STRING
    input.Qs.max-results == INTEGER
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListAppInstanceAdmins

valid {
    input.ReqMap.appInstanceArn == STRING
    input.Qs.max-results == INTEGER
    input.Qs.next-token == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListAppInstanceUsers

valid {
    input.Qs.app-instance-arn == STRING
    input.Qs.max-results == INTEGER
    input.Qs.next-token == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListAppInstances

valid {
    input.Qs.max-results == INTEGER
    input.Qs.next-token == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListAttendeeTags

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

ListAttendees

valid {
    input.ReqMap.meetingId == STRING
    input.Qs.next-token == STRING
    input.Qs.max-results == INTEGER
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListBots

valid {
    input.ReqMap.accountId == STRING
    input.Qs.max-results == INTEGER
    input.Qs.next-token == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListChannelBans

valid {
    input.ReqMap.channelArn == STRING
    input.Qs.max-results == INTEGER
    input.Qs.next-token == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListChannelMemberships

enum_ChannelMembershipType := [ "DEFAULT", "HIDDEN" ]

valid {
    input.ReqMap.channelArn == STRING
    input.Qs.type == enum_ChannelMembershipType[_]
    input.Qs.max-results == INTEGER
    input.Qs.next-token == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListChannelMembershipsForAppInstanceUser

valid {
    input.Qs.app-instance-user-arn == STRING
    input.Qs.max-results == INTEGER
    input.Qs.next-token == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListChannelMessages

enum_SortOrder := [ "ASCENDING", "DESCENDING" ]

valid {
    input.ReqMap.channelArn == STRING
    input.Qs.sort-order == enum_SortOrder[_]
    input.Qs.not-before == TIMESTAMP
    input.Qs.not-after == TIMESTAMP
    input.Qs.max-results == INTEGER
    input.Qs.next-token == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListChannelModerators

valid {
    input.ReqMap.channelArn == STRING
    input.Qs.max-results == INTEGER
    input.Qs.next-token == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListChannels

enum_ChannelPrivacy := [ "PUBLIC", "PRIVATE" ]

valid {
    input.Qs.app-instance-arn == STRING
    input.Qs.privacy == enum_ChannelPrivacy[_]
    input.Qs.max-results == INTEGER
    input.Qs.next-token == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListChannelsModeratedByAppInstanceUser

valid {
    input.Qs.app-instance-user-arn == STRING
    input.Qs.max-results == INTEGER
    input.Qs.next-token == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListMediaCapturePipelines

valid {
    input.Qs.next-token == STRING
    input.Qs.max-results == INTEGER
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListMeetingTags

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

ListMeetings

valid {
    input.Qs.next-token == STRING
    input.Qs.max-results == INTEGER
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListPhoneNumberOrders

valid {
    input.Qs.next-token == STRING
    input.Qs.max-results == INTEGER
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListPhoneNumbers

enum_PhoneNumberAssociationName := [ "AccountId", "UserId", "VoiceConnectorId", "VoiceConnectorGroupId", "SipRuleId" ]
enum_PhoneNumberProductType := [ "BusinessCalling", "VoiceConnector", "SipMediaApplicationDialIn" ]
enum_PhoneNumberStatus := [ "AcquireInProgress", "AcquireFailed", "Unassigned", "Assigned", "ReleaseInProgress", "DeleteInProgress", "ReleaseFailed", "DeleteFailed" ]

valid {
    input.Qs.status == enum_PhoneNumberStatus[_]
    input.Qs.product-type == enum_PhoneNumberProductType[_]
    input.Qs.filter-name == enum_PhoneNumberAssociationName[_]
    input.Qs.filter-value == STRING
    input.Qs.max-results == INTEGER
    input.Qs.next-token == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListProxySessions

enum_ProxySessionStatus := [ "Open", "InProgress", "Closed" ]

valid {
    input.ReqMap.voiceConnectorId == STRING
    input.Qs.status == enum_ProxySessionStatus[_]
    input.Qs.next-token == STRING
    input.Qs.max-results == INTEGER
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListRoomMemberships

valid {
    input.ReqMap.accountId == STRING
    input.ReqMap.roomId == STRING
    input.Qs.max-results == INTEGER
    input.Qs.next-token == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListRooms

valid {
    input.ReqMap.accountId == STRING
    input.Qs.member-id == STRING
    input.Qs.max-results == INTEGER
    input.Qs.next-token == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListSipMediaApplications

valid {
    input.Qs.max-results == INTEGER
    input.Qs.next-token == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListSipRules

valid {
    input.Qs.sip-media-application == STRING
    input.Qs.max-results == INTEGER
    input.Qs.next-token == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListSupportedPhoneNumberCountries

enum_PhoneNumberProductType := [ "BusinessCalling", "VoiceConnector", "SipMediaApplicationDialIn" ]

valid {
    input.Qs.product-type == enum_PhoneNumberProductType[_]
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListTagsForResource

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

ListUsers

enum_UserType := [ "PrivateUser", "SharedDevice" ]

valid {
    input.ReqMap.accountId == STRING
    input.Qs.user-email == STRING
    input.Qs.user-type == enum_UserType[_]
    input.Qs.max-results == INTEGER
    input.Qs.next-token == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListVoiceConnectorGroups

valid {
    input.Qs.next-token == STRING
    input.Qs.max-results == INTEGER
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListVoiceConnectorTerminationCredentials

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

ListVoiceConnectors

valid {
    input.Qs.next-token == STRING
    input.Qs.max-results == INTEGER
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

LogoutUser

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

PutAppInstanceRetentionSettings

valid {
    input.Body.AppInstanceRetentionSettings.ChannelRetentionSettings.RetentionDays == INTEGER
    input.ReqMap.appInstanceArn == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

PutAppInstanceStreamingConfigurations

enum_AppInstanceDataType := [ "Channel", "ChannelMessage" ]

valid {
    input.Body.AppInstanceStreamingConfigurations[_].AppInstanceDataType == enum_AppInstanceDataType[_]
    input.Body.AppInstanceStreamingConfigurations[_].ResourceArn == STRING
    input.ReqMap.appInstanceArn == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

PutEventsConfiguration

valid {
    input.Body.OutboundEventsHTTPSEndpoint == STRING
    input.Body.LambdaFunctionArn == STRING
    input.ReqMap.accountId == STRING
    input.ReqMap.botId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

PutRetentionSettings

valid {
    input.Body.RetentionSettings.RoomRetentionSettings.RetentionDays == INTEGER
    input.Body.RetentionSettings.ConversationRetentionSettings.RetentionDays == INTEGER
    input.ReqMap.accountId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

PutSipMediaApplicationLoggingConfiguration

valid {
    input.Body.SipMediaApplicationLoggingConfiguration.EnableSipMediaApplicationMessageLogs == BOOLEAN
    input.ReqMap.sipMediaApplicationId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

PutVoiceConnectorEmergencyCallingConfiguration

valid {
    input.Body.EmergencyCallingConfiguration.DNIS[_].EmergencyPhoneNumber == STRING
    input.Body.EmergencyCallingConfiguration.DNIS[_].TestPhoneNumber == STRING
    input.Body.EmergencyCallingConfiguration.DNIS[_].CallingCountry == STRING
    input.ReqMap.voiceConnectorId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

PutVoiceConnectorLoggingConfiguration

valid {
    input.Body.LoggingConfiguration.EnableSIPLogs == BOOLEAN
    input.Body.LoggingConfiguration.EnableMediaMetricLogs == BOOLEAN
    input.ReqMap.voiceConnectorId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

PutVoiceConnectorOrigination

enum_OriginationRouteProtocol := [ "TCP", "UDP" ]

valid {
    input.Body.Origination.Routes[_].Host == STRING
    input.Body.Origination.Routes[_].Port == INTEGER
    input.Body.Origination.Routes[_].Protocol == enum_OriginationRouteProtocol[_]
    input.Body.Origination.Routes[_].Priority == INTEGER
    input.Body.Origination.Routes[_].Weight == INTEGER
    input.Body.Origination.Disabled == BOOLEAN
    input.ReqMap.voiceConnectorId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

PutVoiceConnectorProxy

valid {
    input.Body.DefaultSessionExpiryMinutes == INTEGER
    input.Body.PhoneNumberPoolCountries[_] == STRING
    input.Body.FallBackPhoneNumber == STRING
    input.Body.Disabled == BOOLEAN
    input.ReqMap.voiceConnectorId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

PutVoiceConnectorStreamingConfiguration

enum_NotificationTarget := [ "EventBridge", "SNS", "SQS" ]

valid {
    input.Body.StreamingConfiguration.DataRetentionInHours == INTEGER
    input.Body.StreamingConfiguration.Disabled == BOOLEAN
    input.Body.StreamingConfiguration.StreamingNotificationTargets[_].NotificationTarget == enum_NotificationTarget[_]
    input.ReqMap.voiceConnectorId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

PutVoiceConnectorTermination

valid {
    input.Body.Termination.CpsLimit == INTEGER
    input.Body.Termination.DefaultPhoneNumber == STRING
    input.Body.Termination.CallingRegions[_] == STRING
    input.Body.Termination.CidrAllowedList[_] == STRING
    input.Body.Termination.Disabled == BOOLEAN
    input.ReqMap.voiceConnectorId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

PutVoiceConnectorTerminationCredentials

valid {
    input.Body.Credentials[_].Username == STRING
    input.Body.Credentials[_].Password == STRING
    input.ReqMap.voiceConnectorId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

RedactChannelMessage

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

RedactConversationMessage

valid {
    input.ReqMap.accountId == STRING
    input.ReqMap.conversationId == STRING
    input.ReqMap.messageId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

RedactRoomMessage

valid {
    input.ReqMap.accountId == STRING
    input.ReqMap.roomId == STRING
    input.ReqMap.messageId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

RegenerateSecurityToken

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

ResetPersonalPIN

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

RestorePhoneNumber

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

SearchAvailablePhoneNumbers

enum_PhoneNumberType := [ "Local", "TollFree" ]

valid {
    input.Qs.area-code == STRING
    input.Qs.city == STRING
    input.Qs.country == STRING
    input.Qs.state == STRING
    input.Qs.toll-free-prefix == STRING
    input.Qs.phone-number-type == enum_PhoneNumberType[_]
    input.Qs.max-results == INTEGER
    input.Qs.next-token == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

SendChannelMessage

enum_ChannelMessagePersistenceType := [ "PERSISTENT", "NON_PERSISTENT" ]
enum_ChannelMessageType := [ "STANDARD", "CONTROL" ]

valid {
    input.Body.Content == STRING
    input.Body.Type == enum_ChannelMessageType[_]
    input.Body.Persistence == enum_ChannelMessagePersistenceType[_]
    input.Body.Metadata == STRING
    input.Body.ClientRequestToken == STRING
    input.ReqMap.channelArn == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

StartMeetingTranscription

enum_TranscribeContentIdentificationType := [ "PII" ]
enum_TranscribeContentRedactionType := [ "PII" ]
enum_TranscribeLanguageCode := [ "en-US", "en-GB", "es-US", "fr-CA", "fr-FR", "en-AU", "it-IT", "de-DE", "pt-BR", "ja-JP", "ko-KR", "zh-CN", "th-TH", "hi-IN" ]
enum_TranscribeMedicalContentIdentificationType := [ "PHI" ]
enum_TranscribeMedicalLanguageCode := [ "en-US" ]
enum_TranscribeMedicalRegion := [ "us-east-1", "us-east-2", "us-west-2", "ap-southeast-2", "ca-central-1", "eu-west-1", "auto" ]
enum_TranscribeMedicalSpecialty := [ "PRIMARYCARE", "CARDIOLOGY", "NEUROLOGY", "ONCOLOGY", "RADIOLOGY", "UROLOGY" ]
enum_TranscribeMedicalType := [ "CONVERSATION", "DICTATION" ]
enum_TranscribePartialResultsStability := [ "low", "medium", "high" ]
enum_TranscribeRegion := [ "us-east-2", "us-east-1", "us-west-2", "ap-northeast-2", "ap-southeast-2", "ap-northeast-1", "ca-central-1", "eu-central-1", "eu-west-1", "eu-west-2", "sa-east-1", "auto" ]
enum_TranscribeVocabularyFilterMethod := [ "remove", "mask", "tag" ]

valid {
    input.Body.TranscriptionConfiguration.EngineTranscribeSettings.LanguageCode == enum_TranscribeLanguageCode[_]
    input.Body.TranscriptionConfiguration.EngineTranscribeSettings.VocabularyFilterMethod == enum_TranscribeVocabularyFilterMethod[_]
    input.Body.TranscriptionConfiguration.EngineTranscribeSettings.VocabularyFilterName == STRING
    input.Body.TranscriptionConfiguration.EngineTranscribeSettings.VocabularyName == STRING
    input.Body.TranscriptionConfiguration.EngineTranscribeSettings.Region == enum_TranscribeRegion[_]
    input.Body.TranscriptionConfiguration.EngineTranscribeSettings.EnablePartialResultsStabilization == BOOLEAN
    input.Body.TranscriptionConfiguration.EngineTranscribeSettings.PartialResultsStability == enum_TranscribePartialResultsStability[_]
    input.Body.TranscriptionConfiguration.EngineTranscribeSettings.ContentIdentificationType == enum_TranscribeContentIdentificationType[_]
    input.Body.TranscriptionConfiguration.EngineTranscribeSettings.ContentRedactionType == enum_TranscribeContentRedactionType[_]
    input.Body.TranscriptionConfiguration.EngineTranscribeSettings.PiiEntityTypes == STRING
    input.Body.TranscriptionConfiguration.EngineTranscribeSettings.LanguageModelName == STRING
    input.Body.TranscriptionConfiguration.EngineTranscribeSettings.IdentifyLanguage == BOOLEAN
    input.Body.TranscriptionConfiguration.EngineTranscribeSettings.LanguageOptions == STRING
    input.Body.TranscriptionConfiguration.EngineTranscribeSettings.PreferredLanguage == enum_TranscribeLanguageCode[_]
    input.Body.TranscriptionConfiguration.EngineTranscribeSettings.VocabularyNames == STRING
    input.Body.TranscriptionConfiguration.EngineTranscribeSettings.VocabularyFilterNames == STRING
    input.Body.TranscriptionConfiguration.EngineTranscribeMedicalSettings.LanguageCode == enum_TranscribeMedicalLanguageCode[_]
    input.Body.TranscriptionConfiguration.EngineTranscribeMedicalSettings.Specialty == enum_TranscribeMedicalSpecialty[_]
    input.Body.TranscriptionConfiguration.EngineTranscribeMedicalSettings.Type == enum_TranscribeMedicalType[_]
    input.Body.TranscriptionConfiguration.EngineTranscribeMedicalSettings.VocabularyName == STRING
    input.Body.TranscriptionConfiguration.EngineTranscribeMedicalSettings.Region == enum_TranscribeMedicalRegion[_]
    input.Body.TranscriptionConfiguration.EngineTranscribeMedicalSettings.ContentIdentificationType == enum_TranscribeMedicalContentIdentificationType[_]
    input.ReqMap.meetingId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

StopMeetingTranscription

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

TagAttendee

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

TagMeeting

valid {
    input.Body.Tags[_].Key == STRING
    input.Body.Tags[_].Value == STRING
    input.ReqMap.meetingId == 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
}

UntagAttendee

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

UntagMeeting

valid {
    input.Body.TagKeys[_] == STRING
    input.ReqMap.meetingId == 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
}

UpdateAccount

enum_License := [ "Basic", "Plus", "Pro", "ProTrial" ]

valid {
    input.Body.Name == STRING
    input.Body.DefaultLicense == enum_License[_]
    input.ReqMap.accountId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UpdateAccountSettings

valid {
    input.Body.AccountSettings.DisableRemoteControl == BOOLEAN
    input.Body.AccountSettings.EnableDialOut == BOOLEAN
    input.ReqMap.accountId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UpdateAppInstance

valid {
    input.Body.Name == STRING
    input.Body.Metadata == STRING
    input.ReqMap.appInstanceArn == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UpdateAppInstanceUser

valid {
    input.Body.Name == STRING
    input.Body.Metadata == STRING
    input.ReqMap.appInstanceUserArn == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UpdateBot

valid {
    input.Body.Disabled == BOOLEAN
    input.ReqMap.accountId == STRING
    input.ReqMap.botId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UpdateChannel

enum_ChannelMode := [ "UNRESTRICTED", "RESTRICTED" ]

valid {
    input.Body.Name == STRING
    input.Body.Mode == enum_ChannelMode[_]
    input.Body.Metadata == STRING
    input.ReqMap.channelArn == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UpdateChannelMessage

valid {
    input.Body.Content == STRING
    input.Body.Metadata == STRING
    input.ReqMap.channelArn == STRING
    input.ReqMap.messageId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UpdateChannelReadMarker

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

UpdateGlobalSettings

valid {
    input.Body.BusinessCalling.CdrBucket == STRING
    input.Body.VoiceConnector.CdrBucket == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UpdatePhoneNumber

enum_PhoneNumberProductType := [ "BusinessCalling", "VoiceConnector", "SipMediaApplicationDialIn" ]

valid {
    input.Body.ProductType == enum_PhoneNumberProductType[_]
    input.Body.CallingName == STRING
    input.ReqMap.phoneNumberId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UpdatePhoneNumberSettings

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

UpdateProxySession

enum_Capability := [ "Voice", "SMS" ]

valid {
    input.Body.Capabilities[_] == enum_Capability[_]
    input.Body.ExpiryMinutes == INTEGER
    input.ReqMap.voiceConnectorId == STRING
    input.ReqMap.proxySessionId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UpdateRoom

valid {
    input.Body.Name == STRING
    input.ReqMap.accountId == STRING
    input.ReqMap.roomId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UpdateRoomMembership

enum_RoomMembershipRole := [ "Administrator", "Member" ]

valid {
    input.Body.Role == enum_RoomMembershipRole[_]
    input.ReqMap.accountId == STRING
    input.ReqMap.roomId == STRING
    input.ReqMap.memberId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UpdateSipMediaApplication

valid {
    input.Body.Name == STRING
    input.Body.Endpoints[_].LambdaArn == STRING
    input.ReqMap.sipMediaApplicationId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UpdateSipMediaApplicationCall

valid {
    input.Body.Arguments.STRING == STRING
    input.ReqMap.sipMediaApplicationId == STRING
    input.ReqMap.transactionId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UpdateSipRule

valid {
    input.Body.Name == STRING
    input.Body.Disabled == BOOLEAN
    input.Body.TargetApplications[_].SipMediaApplicationId == STRING
    input.Body.TargetApplications[_].Priority == INTEGER
    input.Body.TargetApplications[_].AwsRegion == STRING
    input.ReqMap.sipRuleId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UpdateUser

enum_License := [ "Basic", "Plus", "Pro", "ProTrial" ]
enum_UserType := [ "PrivateUser", "SharedDevice" ]

valid {
    input.Body.LicenseType == enum_License[_]
    input.Body.UserType == enum_UserType[_]
    input.Body.AlexaForBusinessMetadata.IsAlexaForBusinessEnabled == BOOLEAN
    input.Body.AlexaForBusinessMetadata.AlexaForBusinessRoomArn == STRING
    input.ReqMap.accountId == STRING
    input.ReqMap.userId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UpdateUserSettings

valid {
    input.Body.UserSettings.Telephony.InboundCalling == BOOLEAN
    input.Body.UserSettings.Telephony.OutboundCalling == BOOLEAN
    input.Body.UserSettings.Telephony.SMS == BOOLEAN
    input.ReqMap.accountId == STRING
    input.ReqMap.userId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UpdateVoiceConnector

valid {
    input.Body.Name == STRING
    input.Body.RequireEncryption == BOOLEAN
    input.ReqMap.voiceConnectorId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UpdateVoiceConnectorGroup

valid {
    input.Body.Name == STRING
    input.Body.VoiceConnectorItems[_].VoiceConnectorId == STRING
    input.Body.VoiceConnectorItems[_].Priority == INTEGER
    input.ReqMap.voiceConnectorGroupId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ValidateE911Address

valid {
    input.Body.AwsAccountId == STRING
    input.Body.StreetNumber == STRING
    input.Body.StreetInfo == STRING
    input.Body.City == STRING
    input.Body.State == STRING
    input.Body.Country == STRING
    input.Body.PostalCode == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}