PUBSUBLITE

pubsublite.admin.projects.locations.operations.cancel

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

pubsublite.admin.projects.locations.operations.delete

valid {
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

pubsublite.admin.projects.locations.operations.get

valid {
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

pubsublite.admin.projects.locations.operations.list

valid {
    input.ReqMap.name == STRING
    input.Qs.filter == STRING
    input.Qs.pageSize == INTEGER
    input.Qs.pageToken == STRING
    input.ProviderMetadata.Region == STRING
}

pubsublite.admin.projects.locations.reservations.create

valid {
    input.Body.name == STRING
    input.Body.throughputCapacity == STRING
    input.ReqMap.parent == STRING
    input.Qs.reservationId == STRING
    input.ProviderMetadata.Region == STRING
}

pubsublite.admin.projects.locations.reservations.delete

valid {
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

pubsublite.admin.projects.locations.reservations.get

valid {
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

pubsublite.admin.projects.locations.reservations.list

valid {
    input.ReqMap.parent == STRING
    input.Qs.pageSize == INTEGER
    input.Qs.pageToken == STRING
    input.ProviderMetadata.Region == STRING
}

pubsublite.admin.projects.locations.reservations.patch

valid {
    input.Body.name == STRING
    input.Body.throughputCapacity == STRING
    input.ReqMap.name == STRING
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

pubsublite.admin.projects.locations.reservations.topics.list

valid {
    input.ReqMap.name == STRING
    input.Qs.pageSize == INTEGER
    input.Qs.pageToken == STRING
    input.ProviderMetadata.Region == STRING
}

pubsublite.admin.projects.locations.subscriptions.create

enum_DeliveryConfigDeliveryRequirement := [ "DELIVERY_REQUIREMENT_UNSPECIFIED", "DELIVER_IMMEDIATELY", "DELIVER_AFTER_STORED" ]
enum_ExportConfigDesiredState := [ "STATE_UNSPECIFIED", "ACTIVE", "PAUSED", "PERMISSION_DENIED", "NOT_FOUND" ]

valid {
    input.Body.deliveryConfig.deliveryRequirement == enum_DeliveryConfigDeliveryRequirement[_]
    input.Body.exportConfig.deadLetterTopic == STRING
    input.Body.exportConfig.desiredState == enum_ExportConfigDesiredState[_]
    input.Body.exportConfig.pubsubConfig.topic == STRING
    input.Body.name == STRING
    input.Body.topic == STRING
    input.ReqMap.parent == STRING
    input.Qs.skipBacklog == BOOLEAN
    input.Qs.subscriptionId == STRING
    input.ProviderMetadata.Region == STRING
}

pubsublite.admin.projects.locations.subscriptions.delete

valid {
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

pubsublite.admin.projects.locations.subscriptions.get

valid {
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

pubsublite.admin.projects.locations.subscriptions.list

valid {
    input.ReqMap.parent == STRING
    input.Qs.pageSize == INTEGER
    input.Qs.pageToken == STRING
    input.ProviderMetadata.Region == STRING
}

pubsublite.admin.projects.locations.subscriptions.patch

enum_DeliveryConfigDeliveryRequirement := [ "DELIVERY_REQUIREMENT_UNSPECIFIED", "DELIVER_IMMEDIATELY", "DELIVER_AFTER_STORED" ]
enum_ExportConfigDesiredState := [ "STATE_UNSPECIFIED", "ACTIVE", "PAUSED", "PERMISSION_DENIED", "NOT_FOUND" ]

valid {
    input.Body.deliveryConfig.deliveryRequirement == enum_DeliveryConfigDeliveryRequirement[_]
    input.Body.exportConfig.deadLetterTopic == STRING
    input.Body.exportConfig.desiredState == enum_ExportConfigDesiredState[_]
    input.Body.exportConfig.pubsubConfig.topic == STRING
    input.Body.name == STRING
    input.Body.topic == STRING
    input.ReqMap.name == STRING
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

pubsublite.admin.projects.locations.subscriptions.seek

enum_SeekSubscriptionRequestNamedTarget := [ "NAMED_TARGET_UNSPECIFIED", "TAIL", "HEAD" ]

valid {
    input.Body.namedTarget == enum_SeekSubscriptionRequestNamedTarget[_]
    input.Body.timeTarget.eventTime == STRING
    input.Body.timeTarget.publishTime == STRING
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

pubsublite.admin.projects.locations.topics.create

valid {
    input.Body.name == STRING
    input.Body.partitionConfig.capacity.publishMibPerSec == INTEGER
    input.Body.partitionConfig.capacity.subscribeMibPerSec == INTEGER
    input.Body.partitionConfig.count == STRING
    input.Body.partitionConfig.scale == INTEGER
    input.Body.reservationConfig.throughputReservation == STRING
    input.Body.retentionConfig.perPartitionBytes == STRING
    input.Body.retentionConfig.period == STRING
    input.ReqMap.parent == STRING
    input.Qs.topicId == STRING
    input.ProviderMetadata.Region == STRING
}

pubsublite.admin.projects.locations.topics.delete

valid {
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

pubsublite.admin.projects.locations.topics.get

valid {
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

pubsublite.admin.projects.locations.topics.getPartitions

valid {
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

pubsublite.admin.projects.locations.topics.list

valid {
    input.ReqMap.parent == STRING
    input.Qs.pageSize == INTEGER
    input.Qs.pageToken == STRING
    input.ProviderMetadata.Region == STRING
}

pubsublite.admin.projects.locations.topics.patch

valid {
    input.Body.name == STRING
    input.Body.partitionConfig.capacity.publishMibPerSec == INTEGER
    input.Body.partitionConfig.capacity.subscribeMibPerSec == INTEGER
    input.Body.partitionConfig.count == STRING
    input.Body.partitionConfig.scale == INTEGER
    input.Body.reservationConfig.throughputReservation == STRING
    input.Body.retentionConfig.perPartitionBytes == STRING
    input.Body.retentionConfig.period == STRING
    input.ReqMap.name == STRING
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

pubsublite.admin.projects.locations.topics.subscriptions.list

valid {
    input.ReqMap.name == STRING
    input.Qs.pageSize == INTEGER
    input.Qs.pageToken == STRING
    input.ProviderMetadata.Region == STRING
}

pubsublite.cursor.projects.locations.subscriptions.commitCursor

valid {
    input.Body.cursor.offset == STRING
    input.Body.partition == STRING
    input.ReqMap.subscription == STRING
    input.ProviderMetadata.Region == STRING
}

pubsublite.cursor.projects.locations.subscriptions.cursors.list

valid {
    input.ReqMap.parent == STRING
    input.Qs.pageSize == INTEGER
    input.Qs.pageToken == STRING
    input.ProviderMetadata.Region == STRING
}

pubsublite.topicStats.projects.locations.topics.computeHeadCursor

valid {
    input.Body.partition == STRING
    input.ReqMap.topic == STRING
    input.ProviderMetadata.Region == STRING
}

pubsublite.topicStats.projects.locations.topics.computeMessageStats

valid {
    input.Body.endCursor.offset == STRING
    input.Body.partition == STRING
    input.Body.startCursor.offset == STRING
    input.ReqMap.topic == STRING
    input.ProviderMetadata.Region == STRING
}

pubsublite.topicStats.projects.locations.topics.computeTimeCursor

valid {
    input.Body.partition == STRING
    input.Body.target.eventTime == STRING
    input.Body.target.publishTime == STRING
    input.ReqMap.topic == STRING
    input.ProviderMetadata.Region == STRING
}