CHIME-SDK-VOICE

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
}

BatchDeletePhoneNumber

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

BatchUpdatePhoneNumber

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

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

CreatePhoneNumberOrder

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

valid {
    input.Body.ProductType == enum_PhoneNumberProductType[_]
    input.Body.E164PhoneNumbers[_] == STRING
    input.Body.Name == 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
}

CreateSipMediaApplication

valid {
    input.Body.AwsRegion == STRING
    input.Body.Name == STRING
    input.Body.Endpoints[_].LambdaArn == STRING
    input.Body.Tags[_].Key == STRING
    input.Body.Tags[_].Value == 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.Body.ArgumentsMap.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
}

CreateVoiceConnector

enum_VoiceConnectorAwsRegion := [ "us-east-1", "us-west-2", "ca-central-1", "eu-central-1", "eu-west-1", "eu-west-2", "ap-northeast-2", "ap-northeast-1", "ap-southeast-1", "ap-southeast-2" ]
enum_VoiceConnectorIntegrationType := [ "CONNECT_CALL_TRANSFER_CONNECTOR", "CONNECT_ANALYTICS_CONNECTOR" ]

valid {
    input.Body.Name == STRING
    input.Body.AwsRegion == enum_VoiceConnectorAwsRegion[_]
    input.Body.RequireEncryption == BOOLEAN
    input.Body.Tags[_].Key == STRING
    input.Body.Tags[_].Value == STRING
    input.Body.IntegrationType == enum_VoiceConnectorIntegrationType[_]
    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
}

CreateVoiceProfile

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

CreateVoiceProfileDomain

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

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
}

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
}

DeleteVoiceConnectorExternalSystemsConfiguration

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
}

DeleteVoiceProfile

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

DeleteVoiceProfileDomain

valid {
    input.ReqMap.VoiceProfileDomainId == 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
}

GetGlobalSettings

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

GetSipMediaApplication

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

GetSipMediaApplicationAlexaSkillConfiguration

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
}

GetSpeakerSearchTask

valid {
    input.ReqMap.VoiceConnectorId == STRING
    input.ReqMap.SpeakerSearchTaskId == 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
}

GetVoiceConnectorExternalSystemsConfiguration

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
}

GetVoiceProfile

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

GetVoiceProfileDomain

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

GetVoiceToneAnalysisTask

valid {
    input.ReqMap.VoiceConnectorId == STRING
    input.ReqMap.VoiceToneAnalysisTaskId == STRING
    input.Qs.isCaller == BOOLEAN
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListAvailableVoiceConnectorRegions

valid {
    input.ReqMap.VoiceConnectorId == STRING
    input.ReqMap.VoiceToneAnalysisTaskId == STRING
    input.Qs.isCaller == BOOLEAN
    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 := [ "VoiceConnectorId", "VoiceConnectorGroupId", "SipRuleId" ]
enum_PhoneNumberProductType := [ "VoiceConnector", "SipMediaApplicationDialIn" ]

valid {
    input.Qs.status == STRING
    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
}

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 := [ "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
}

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
}

ListVoiceProfileDomains

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

ListVoiceProfiles

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

PutSipMediaApplicationAlexaSkillConfiguration

enum_AlexaSkillStatus := [ "ACTIVE", "INACTIVE" ]

valid {
    input.Body.SipMediaApplicationAlexaSkillConfiguration.AlexaSkillStatus == enum_AlexaSkillStatus[_]
    input.Body.SipMediaApplicationAlexaSkillConfiguration.AlexaSkillIds[_] == STRING
    input.ReqMap.sipMediaApplicationId == 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
}

PutVoiceConnectorExternalSystemsConfiguration

enum_ContactCenterSystemType := [ "GENESYS_ENGAGE_ON_PREMISES", "AVAYA_AURA_CALL_CENTER_ELITE", "AVAYA_AURA_CONTACT_CENTER", "CISCO_UNIFIED_CONTACT_CENTER_ENTERPRISE" ]
enum_SessionBorderControllerType := [ "RIBBON_SBC", "ORACLE_ACME_PACKET_SBC", "AVAYA_SBCE", "CISCO_UNIFIED_BORDER_ELEMENT", "AUDIOCODES_MEDIANT_SBC" ]

valid {
    input.Body.SessionBorderControllerTypes[_] == enum_SessionBorderControllerType[_]
    input.Body.ContactCenterSystemTypes[_] == enum_ContactCenterSystemType[_]
    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.Body.StreamingConfiguration.MediaInsightsConfiguration.Disabled == BOOLEAN
    input.Body.StreamingConfiguration.MediaInsightsConfiguration.ConfigurationArn == STRING
    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
}

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
}

StartSpeakerSearchTask

enum_CallLegType := [ "Caller", "Callee" ]

valid {
    input.Body.TransactionId == STRING
    input.Body.VoiceProfileDomainId == STRING
    input.Body.ClientRequestToken == STRING
    input.Body.CallLeg == enum_CallLegType[_]
    input.ReqMap.VoiceConnectorId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

StartVoiceToneAnalysisTask

enum_LanguageCode := [ "en-US" ]

valid {
    input.Body.TransactionId == STRING
    input.Body.LanguageCode == enum_LanguageCode[_]
    input.Body.ClientRequestToken == STRING
    input.ReqMap.VoiceConnectorId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

StopSpeakerSearchTask

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

StopVoiceToneAnalysisTask

valid {
    input.ReqMap.VoiceConnectorId == STRING
    input.ReqMap.VoiceToneAnalysisTaskId == 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
}

UntagResource

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

UpdateGlobalSettings

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

UpdatePhoneNumber

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

valid {
    input.Body.ProductType == enum_PhoneNumberProductType[_]
    input.Body.CallingName == STRING
    input.Body.Name == 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
}

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
}

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
}

UpdateVoiceProfile

valid {
    input.Body.SpeakerSearchTaskId == STRING
    input.ReqMap.VoiceProfileId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UpdateVoiceProfileDomain

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