CONNECTCAMPAIGNSV2

CreateCampaign

enum_CommunicationLimitTimeUnit := [ "DAY" ]
enum_LocalTimeZoneDetectionType := [ "ZIP_CODE", "AREA_CODE" ]

valid {
    input.Body.name == STRING
    input.Body.connectInstanceId == STRING
    input.Body.channelSubtypeConfig.telephony.capacity == DOUBLE
    input.Body.channelSubtypeConfig.telephony.connectQueueId == STRING
    input.Body.channelSubtypeConfig.telephony.outboundMode.progressive.bandwidthAllocation == DOUBLE
    input.Body.channelSubtypeConfig.telephony.outboundMode.predictive.bandwidthAllocation == DOUBLE
    input.Body.channelSubtypeConfig.telephony.outboundMode.agentless == {}
    input.Body.channelSubtypeConfig.telephony.defaultOutboundConfig.connectContactFlowId == STRING
    input.Body.channelSubtypeConfig.telephony.defaultOutboundConfig.connectSourcePhoneNumber == STRING
    input.Body.channelSubtypeConfig.telephony.defaultOutboundConfig.answerMachineDetectionConfig.enableAnswerMachineDetection == BOOLEAN
    input.Body.channelSubtypeConfig.telephony.defaultOutboundConfig.answerMachineDetectionConfig.awaitAnswerMachinePrompt == BOOLEAN
    input.Body.channelSubtypeConfig.sms.capacity == DOUBLE
    input.Body.channelSubtypeConfig.sms.outboundMode.agentless == {}
    input.Body.channelSubtypeConfig.sms.defaultOutboundConfig.connectSourcePhoneNumberArn == STRING
    input.Body.channelSubtypeConfig.sms.defaultOutboundConfig.wisdomTemplateArn == STRING
    input.Body.channelSubtypeConfig.email.capacity == DOUBLE
    input.Body.channelSubtypeConfig.email.outboundMode.agentless == {}
    input.Body.channelSubtypeConfig.email.defaultOutboundConfig.connectSourceEmailAddress == STRING
    input.Body.channelSubtypeConfig.email.defaultOutboundConfig.sourceEmailAddressDisplayName == STRING
    input.Body.channelSubtypeConfig.email.defaultOutboundConfig.wisdomTemplateArn == STRING
    input.Body.source.customerProfilesSegmentArn == STRING
    input.Body.source.eventTrigger.customerProfilesDomainArn == STRING
    input.Body.connectCampaignFlowArn == STRING
    input.Body.schedule.startTime == TIMESTAMP
    input.Body.schedule.endTime == TIMESTAMP
    input.Body.schedule.refreshFrequency == STRING
    input.Body.communicationTimeConfig.localTimeZoneConfig.defaultTimeZone == STRING
    input.Body.communicationTimeConfig.localTimeZoneConfig.localTimeZoneDetection[_] == enum_LocalTimeZoneDetectionType[_]
    input.Body.communicationTimeConfig.telephony.openHours.dailyHours.MONDAY[_].startTime == STRING
    input.Body.communicationTimeConfig.telephony.openHours.dailyHours.MONDAY[_].endTime == STRING
    input.Body.communicationTimeConfig.telephony.openHours.dailyHours.TUESDAY[_].startTime == STRING
    input.Body.communicationTimeConfig.telephony.openHours.dailyHours.TUESDAY[_].endTime == STRING
    input.Body.communicationTimeConfig.telephony.openHours.dailyHours.WEDNESDAY[_].startTime == STRING
    input.Body.communicationTimeConfig.telephony.openHours.dailyHours.WEDNESDAY[_].endTime == STRING
    input.Body.communicationTimeConfig.telephony.openHours.dailyHours.THURSDAY[_].startTime == STRING
    input.Body.communicationTimeConfig.telephony.openHours.dailyHours.THURSDAY[_].endTime == STRING
    input.Body.communicationTimeConfig.telephony.openHours.dailyHours.FRIDAY[_].startTime == STRING
    input.Body.communicationTimeConfig.telephony.openHours.dailyHours.FRIDAY[_].endTime == STRING
    input.Body.communicationTimeConfig.telephony.openHours.dailyHours.SATURDAY[_].startTime == STRING
    input.Body.communicationTimeConfig.telephony.openHours.dailyHours.SATURDAY[_].endTime == STRING
    input.Body.communicationTimeConfig.telephony.openHours.dailyHours.SUNDAY[_].startTime == STRING
    input.Body.communicationTimeConfig.telephony.openHours.dailyHours.SUNDAY[_].endTime == STRING
    input.Body.communicationTimeConfig.telephony.restrictedPeriods.restrictedPeriodList[_].name == STRING
    input.Body.communicationTimeConfig.telephony.restrictedPeriods.restrictedPeriodList[_].startDate == STRING
    input.Body.communicationTimeConfig.telephony.restrictedPeriods.restrictedPeriodList[_].endDate == STRING
    input.Body.communicationTimeConfig.sms.openHours.dailyHours.MONDAY[_].startTime == STRING
    input.Body.communicationTimeConfig.sms.openHours.dailyHours.MONDAY[_].endTime == STRING
    input.Body.communicationTimeConfig.sms.openHours.dailyHours.TUESDAY[_].startTime == STRING
    input.Body.communicationTimeConfig.sms.openHours.dailyHours.TUESDAY[_].endTime == STRING
    input.Body.communicationTimeConfig.sms.openHours.dailyHours.WEDNESDAY[_].startTime == STRING
    input.Body.communicationTimeConfig.sms.openHours.dailyHours.WEDNESDAY[_].endTime == STRING
    input.Body.communicationTimeConfig.sms.openHours.dailyHours.THURSDAY[_].startTime == STRING
    input.Body.communicationTimeConfig.sms.openHours.dailyHours.THURSDAY[_].endTime == STRING
    input.Body.communicationTimeConfig.sms.openHours.dailyHours.FRIDAY[_].startTime == STRING
    input.Body.communicationTimeConfig.sms.openHours.dailyHours.FRIDAY[_].endTime == STRING
    input.Body.communicationTimeConfig.sms.openHours.dailyHours.SATURDAY[_].startTime == STRING
    input.Body.communicationTimeConfig.sms.openHours.dailyHours.SATURDAY[_].endTime == STRING
    input.Body.communicationTimeConfig.sms.openHours.dailyHours.SUNDAY[_].startTime == STRING
    input.Body.communicationTimeConfig.sms.openHours.dailyHours.SUNDAY[_].endTime == STRING
    input.Body.communicationTimeConfig.sms.restrictedPeriods.restrictedPeriodList[_].name == STRING
    input.Body.communicationTimeConfig.sms.restrictedPeriods.restrictedPeriodList[_].startDate == STRING
    input.Body.communicationTimeConfig.sms.restrictedPeriods.restrictedPeriodList[_].endDate == STRING
    input.Body.communicationTimeConfig.email.openHours.dailyHours.MONDAY[_].startTime == STRING
    input.Body.communicationTimeConfig.email.openHours.dailyHours.MONDAY[_].endTime == STRING
    input.Body.communicationTimeConfig.email.openHours.dailyHours.TUESDAY[_].startTime == STRING
    input.Body.communicationTimeConfig.email.openHours.dailyHours.TUESDAY[_].endTime == STRING
    input.Body.communicationTimeConfig.email.openHours.dailyHours.WEDNESDAY[_].startTime == STRING
    input.Body.communicationTimeConfig.email.openHours.dailyHours.WEDNESDAY[_].endTime == STRING
    input.Body.communicationTimeConfig.email.openHours.dailyHours.THURSDAY[_].startTime == STRING
    input.Body.communicationTimeConfig.email.openHours.dailyHours.THURSDAY[_].endTime == STRING
    input.Body.communicationTimeConfig.email.openHours.dailyHours.FRIDAY[_].startTime == STRING
    input.Body.communicationTimeConfig.email.openHours.dailyHours.FRIDAY[_].endTime == STRING
    input.Body.communicationTimeConfig.email.openHours.dailyHours.SATURDAY[_].startTime == STRING
    input.Body.communicationTimeConfig.email.openHours.dailyHours.SATURDAY[_].endTime == STRING
    input.Body.communicationTimeConfig.email.openHours.dailyHours.SUNDAY[_].startTime == STRING
    input.Body.communicationTimeConfig.email.openHours.dailyHours.SUNDAY[_].endTime == STRING
    input.Body.communicationTimeConfig.email.restrictedPeriods.restrictedPeriodList[_].name == STRING
    input.Body.communicationTimeConfig.email.restrictedPeriods.restrictedPeriodList[_].startDate == STRING
    input.Body.communicationTimeConfig.email.restrictedPeriods.restrictedPeriodList[_].endDate == STRING
    input.Body.communicationLimitsOverride.allChannelSubtypes.communicationLimitsList[_].maxCountPerRecipient == INTEGER
    input.Body.communicationLimitsOverride.allChannelSubtypes.communicationLimitsList[_].frequency == INTEGER
    input.Body.communicationLimitsOverride.allChannelSubtypes.communicationLimitsList[_].unit == enum_CommunicationLimitTimeUnit[_]
    input.Body.tags.STRING == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DeleteCampaign

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

DeleteCampaignChannelSubtypeConfig

enum_ChannelSubtype := [ "TELEPHONY", "SMS", "EMAIL" ]

valid {
    input.ReqMap.id == STRING
    input.Qs.channelSubtype == enum_ChannelSubtype[_]
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DeleteCampaignCommunicationLimits

enum_CommunicationLimitsConfigType := [ "ALL_CHANNEL_SUBTYPES" ]

valid {
    input.ReqMap.id == STRING
    input.Qs.config == enum_CommunicationLimitsConfigType[_]
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DeleteCampaignCommunicationTime

enum_CommunicationTimeConfigType := [ "TELEPHONY", "SMS", "EMAIL" ]

valid {
    input.ReqMap.id == STRING
    input.Qs.config == enum_CommunicationTimeConfigType[_]
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DeleteConnectInstanceConfig

enum_CampaignDeletionPolicy := [ "RETAIN_ALL", "DELETE_ALL" ]

valid {
    input.ReqMap.connectInstanceId == STRING
    input.Qs.campaignDeletionPolicy == enum_CampaignDeletionPolicy[_]
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DeleteConnectInstanceIntegration

valid {
    input.Body.integrationIdentifier.customerProfiles.domainArn == STRING
    input.Body.integrationIdentifier.qConnect.knowledgeBaseArn == STRING
    input.ReqMap.connectInstanceId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DeleteInstanceOnboardingJob

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

DescribeCampaign

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

GetCampaignState

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

GetCampaignStateBatch

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

GetConnectInstanceConfig

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

GetInstanceOnboardingJobStatus

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

ListCampaigns

enum_InstanceIdFilterOperator := [ "Eq" ]

valid {
    input.Body.maxResults == INTEGER
    input.Body.nextToken == STRING
    input.Body.filters.instanceIdFilter.value == STRING
    input.Body.filters.instanceIdFilter.operator == enum_InstanceIdFilterOperator[_]
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListConnectInstanceIntegrations

valid {
    input.ReqMap.connectInstanceId == STRING
    input.Qs.maxResults == INTEGER
    input.Qs.nextToken == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListTagsForResource

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

PauseCampaign

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

PutConnectInstanceIntegration

valid {
    input.Body.integrationConfig.customerProfiles.domainArn == STRING
    input.Body.integrationConfig.customerProfiles.objectTypeNames.Campaign-Email == STRING
    input.Body.integrationConfig.customerProfiles.objectTypeNames.Campaign-SMS == STRING
    input.Body.integrationConfig.customerProfiles.objectTypeNames.Campaign-Telephony == STRING
    input.Body.integrationConfig.customerProfiles.objectTypeNames.Campaign-Orchestration == STRING
    input.Body.integrationConfig.qConnect.knowledgeBaseArn == STRING
    input.ReqMap.connectInstanceId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

PutOutboundRequestBatch

valid {
    input.Body.outboundRequests[_].clientToken == STRING
    input.Body.outboundRequests[_].expirationTime == TIMESTAMP
    input.Body.outboundRequests[_].channelSubtypeParameters.telephony.destinationPhoneNumber == STRING
    input.Body.outboundRequests[_].channelSubtypeParameters.telephony.attributes.STRING == STRING
    input.Body.outboundRequests[_].channelSubtypeParameters.telephony.connectSourcePhoneNumber == STRING
    input.Body.outboundRequests[_].channelSubtypeParameters.telephony.answerMachineDetectionConfig.enableAnswerMachineDetection == BOOLEAN
    input.Body.outboundRequests[_].channelSubtypeParameters.telephony.answerMachineDetectionConfig.awaitAnswerMachinePrompt == BOOLEAN
    input.Body.outboundRequests[_].channelSubtypeParameters.sms.destinationPhoneNumber == STRING
    input.Body.outboundRequests[_].channelSubtypeParameters.sms.connectSourcePhoneNumberArn == STRING
    input.Body.outboundRequests[_].channelSubtypeParameters.sms.templateArn == STRING
    input.Body.outboundRequests[_].channelSubtypeParameters.sms.templateParameters.STRING == STRING
    input.Body.outboundRequests[_].channelSubtypeParameters.email.destinationEmailAddress == STRING
    input.Body.outboundRequests[_].channelSubtypeParameters.email.connectSourceEmailAddress == STRING
    input.Body.outboundRequests[_].channelSubtypeParameters.email.templateArn == STRING
    input.Body.outboundRequests[_].channelSubtypeParameters.email.templateParameters.STRING == STRING
    input.ReqMap.id == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

PutProfileOutboundRequestBatch

valid {
    input.Body.profileOutboundRequests[_].clientToken == STRING
    input.Body.profileOutboundRequests[_].profileId == STRING
    input.Body.profileOutboundRequests[_].expirationTime == TIMESTAMP
    input.ReqMap.id == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ResumeCampaign

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

StartCampaign

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

StartInstanceOnboardingJob

enum_EncryptionType := [ "KMS" ]

valid {
    input.Body.encryptionConfig.enabled == BOOLEAN
    input.Body.encryptionConfig.encryptionType == enum_EncryptionType[_]
    input.Body.encryptionConfig.keyArn == STRING
    input.ReqMap.connectInstanceId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

StopCampaign

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

TagResource

valid {
    input.Body.tags.STRING == STRING
    input.ReqMap.arn == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UntagResource

valid {
    input.ReqMap.arn == STRING
    input.Qs.tagKeys[_] == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UpdateCampaignChannelSubtypeConfig

valid {
    input.Body.channelSubtypeConfig.telephony.capacity == DOUBLE
    input.Body.channelSubtypeConfig.telephony.connectQueueId == STRING
    input.Body.channelSubtypeConfig.telephony.outboundMode.progressive.bandwidthAllocation == DOUBLE
    input.Body.channelSubtypeConfig.telephony.outboundMode.predictive.bandwidthAllocation == DOUBLE
    input.Body.channelSubtypeConfig.telephony.outboundMode.agentless == {}
    input.Body.channelSubtypeConfig.telephony.defaultOutboundConfig.connectContactFlowId == STRING
    input.Body.channelSubtypeConfig.telephony.defaultOutboundConfig.connectSourcePhoneNumber == STRING
    input.Body.channelSubtypeConfig.telephony.defaultOutboundConfig.answerMachineDetectionConfig.enableAnswerMachineDetection == BOOLEAN
    input.Body.channelSubtypeConfig.telephony.defaultOutboundConfig.answerMachineDetectionConfig.awaitAnswerMachinePrompt == BOOLEAN
    input.Body.channelSubtypeConfig.sms.capacity == DOUBLE
    input.Body.channelSubtypeConfig.sms.outboundMode.agentless == {}
    input.Body.channelSubtypeConfig.sms.defaultOutboundConfig.connectSourcePhoneNumberArn == STRING
    input.Body.channelSubtypeConfig.sms.defaultOutboundConfig.wisdomTemplateArn == STRING
    input.Body.channelSubtypeConfig.email.capacity == DOUBLE
    input.Body.channelSubtypeConfig.email.outboundMode.agentless == {}
    input.Body.channelSubtypeConfig.email.defaultOutboundConfig.connectSourceEmailAddress == STRING
    input.Body.channelSubtypeConfig.email.defaultOutboundConfig.sourceEmailAddressDisplayName == STRING
    input.Body.channelSubtypeConfig.email.defaultOutboundConfig.wisdomTemplateArn == STRING
    input.ReqMap.id == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UpdateCampaignCommunicationLimits

enum_CommunicationLimitTimeUnit := [ "DAY" ]

valid {
    input.Body.communicationLimitsOverride.allChannelSubtypes.communicationLimitsList[_].maxCountPerRecipient == INTEGER
    input.Body.communicationLimitsOverride.allChannelSubtypes.communicationLimitsList[_].frequency == INTEGER
    input.Body.communicationLimitsOverride.allChannelSubtypes.communicationLimitsList[_].unit == enum_CommunicationLimitTimeUnit[_]
    input.ReqMap.id == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UpdateCampaignCommunicationTime

enum_LocalTimeZoneDetectionType := [ "ZIP_CODE", "AREA_CODE" ]

valid {
    input.Body.communicationTimeConfig.localTimeZoneConfig.defaultTimeZone == STRING
    input.Body.communicationTimeConfig.localTimeZoneConfig.localTimeZoneDetection[_] == enum_LocalTimeZoneDetectionType[_]
    input.Body.communicationTimeConfig.telephony.openHours.dailyHours.MONDAY[_].startTime == STRING
    input.Body.communicationTimeConfig.telephony.openHours.dailyHours.MONDAY[_].endTime == STRING
    input.Body.communicationTimeConfig.telephony.openHours.dailyHours.TUESDAY[_].startTime == STRING
    input.Body.communicationTimeConfig.telephony.openHours.dailyHours.TUESDAY[_].endTime == STRING
    input.Body.communicationTimeConfig.telephony.openHours.dailyHours.WEDNESDAY[_].startTime == STRING
    input.Body.communicationTimeConfig.telephony.openHours.dailyHours.WEDNESDAY[_].endTime == STRING
    input.Body.communicationTimeConfig.telephony.openHours.dailyHours.THURSDAY[_].startTime == STRING
    input.Body.communicationTimeConfig.telephony.openHours.dailyHours.THURSDAY[_].endTime == STRING
    input.Body.communicationTimeConfig.telephony.openHours.dailyHours.FRIDAY[_].startTime == STRING
    input.Body.communicationTimeConfig.telephony.openHours.dailyHours.FRIDAY[_].endTime == STRING
    input.Body.communicationTimeConfig.telephony.openHours.dailyHours.SATURDAY[_].startTime == STRING
    input.Body.communicationTimeConfig.telephony.openHours.dailyHours.SATURDAY[_].endTime == STRING
    input.Body.communicationTimeConfig.telephony.openHours.dailyHours.SUNDAY[_].startTime == STRING
    input.Body.communicationTimeConfig.telephony.openHours.dailyHours.SUNDAY[_].endTime == STRING
    input.Body.communicationTimeConfig.telephony.restrictedPeriods.restrictedPeriodList[_].name == STRING
    input.Body.communicationTimeConfig.telephony.restrictedPeriods.restrictedPeriodList[_].startDate == STRING
    input.Body.communicationTimeConfig.telephony.restrictedPeriods.restrictedPeriodList[_].endDate == STRING
    input.Body.communicationTimeConfig.sms.openHours.dailyHours.MONDAY[_].startTime == STRING
    input.Body.communicationTimeConfig.sms.openHours.dailyHours.MONDAY[_].endTime == STRING
    input.Body.communicationTimeConfig.sms.openHours.dailyHours.TUESDAY[_].startTime == STRING
    input.Body.communicationTimeConfig.sms.openHours.dailyHours.TUESDAY[_].endTime == STRING
    input.Body.communicationTimeConfig.sms.openHours.dailyHours.WEDNESDAY[_].startTime == STRING
    input.Body.communicationTimeConfig.sms.openHours.dailyHours.WEDNESDAY[_].endTime == STRING
    input.Body.communicationTimeConfig.sms.openHours.dailyHours.THURSDAY[_].startTime == STRING
    input.Body.communicationTimeConfig.sms.openHours.dailyHours.THURSDAY[_].endTime == STRING
    input.Body.communicationTimeConfig.sms.openHours.dailyHours.FRIDAY[_].startTime == STRING
    input.Body.communicationTimeConfig.sms.openHours.dailyHours.FRIDAY[_].endTime == STRING
    input.Body.communicationTimeConfig.sms.openHours.dailyHours.SATURDAY[_].startTime == STRING
    input.Body.communicationTimeConfig.sms.openHours.dailyHours.SATURDAY[_].endTime == STRING
    input.Body.communicationTimeConfig.sms.openHours.dailyHours.SUNDAY[_].startTime == STRING
    input.Body.communicationTimeConfig.sms.openHours.dailyHours.SUNDAY[_].endTime == STRING
    input.Body.communicationTimeConfig.sms.restrictedPeriods.restrictedPeriodList[_].name == STRING
    input.Body.communicationTimeConfig.sms.restrictedPeriods.restrictedPeriodList[_].startDate == STRING
    input.Body.communicationTimeConfig.sms.restrictedPeriods.restrictedPeriodList[_].endDate == STRING
    input.Body.communicationTimeConfig.email.openHours.dailyHours.MONDAY[_].startTime == STRING
    input.Body.communicationTimeConfig.email.openHours.dailyHours.MONDAY[_].endTime == STRING
    input.Body.communicationTimeConfig.email.openHours.dailyHours.TUESDAY[_].startTime == STRING
    input.Body.communicationTimeConfig.email.openHours.dailyHours.TUESDAY[_].endTime == STRING
    input.Body.communicationTimeConfig.email.openHours.dailyHours.WEDNESDAY[_].startTime == STRING
    input.Body.communicationTimeConfig.email.openHours.dailyHours.WEDNESDAY[_].endTime == STRING
    input.Body.communicationTimeConfig.email.openHours.dailyHours.THURSDAY[_].startTime == STRING
    input.Body.communicationTimeConfig.email.openHours.dailyHours.THURSDAY[_].endTime == STRING
    input.Body.communicationTimeConfig.email.openHours.dailyHours.FRIDAY[_].startTime == STRING
    input.Body.communicationTimeConfig.email.openHours.dailyHours.FRIDAY[_].endTime == STRING
    input.Body.communicationTimeConfig.email.openHours.dailyHours.SATURDAY[_].startTime == STRING
    input.Body.communicationTimeConfig.email.openHours.dailyHours.SATURDAY[_].endTime == STRING
    input.Body.communicationTimeConfig.email.openHours.dailyHours.SUNDAY[_].startTime == STRING
    input.Body.communicationTimeConfig.email.openHours.dailyHours.SUNDAY[_].endTime == STRING
    input.Body.communicationTimeConfig.email.restrictedPeriods.restrictedPeriodList[_].name == STRING
    input.Body.communicationTimeConfig.email.restrictedPeriods.restrictedPeriodList[_].startDate == STRING
    input.Body.communicationTimeConfig.email.restrictedPeriods.restrictedPeriodList[_].endDate == STRING
    input.ReqMap.id == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UpdateCampaignFlowAssociation

valid {
    input.Body.connectCampaignFlowArn == STRING
    input.ReqMap.id == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UpdateCampaignName

valid {
    input.Body.name == STRING
    input.ReqMap.id == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UpdateCampaignSchedule

valid {
    input.Body.schedule.startTime == TIMESTAMP
    input.Body.schedule.endTime == TIMESTAMP
    input.Body.schedule.refreshFrequency == STRING
    input.ReqMap.id == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UpdateCampaignSource

valid {
    input.Body.source.customerProfilesSegmentArn == STRING
    input.Body.source.eventTrigger.customerProfilesDomainArn == STRING
    input.ReqMap.id == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}