FIREBASEAPPDISTRIBUTION
firebaseappdistribution.apps.get
enum_AppViewParameter := [ "APP_VIEW_UNSPECIFIED", "BASIC", "FULL" ]
valid {
input.ReqMap.mobilesdkAppId == STRING
input.Qs.appView == enum_AppViewParameter[_]
input.ProviderMetadata.Region == STRING
}
firebaseappdistribution.apps.getJwt
valid {
input.ReqMap.mobilesdkAppId == STRING
input.ProviderMetadata.Region == STRING
}
firebaseappdistribution.apps.provisionApp
valid {
input.ReqMap.mobilesdkAppId == STRING
input.ProviderMetadata.Region == STRING
}
firebaseappdistribution.apps.release_by_hash.get
valid {
input.ReqMap.mobilesdkAppId == STRING
input.ReqMap.uploadHash == STRING
input.ProviderMetadata.Region == STRING
}
firebaseappdistribution.apps.releases.enable_access
valid {
input.Body.buildVersion == STRING
input.Body.displayVersion == STRING
input.Body.emails[_] == STRING
input.Body.groupIds[_] == STRING
input.ReqMap.mobilesdkAppId == STRING
input.ReqMap.releaseId == STRING
input.ProviderMetadata.Region == STRING
}
firebaseappdistribution.apps.releases.notes.create
valid {
input.Body.releaseNotes.releaseNotes == STRING
input.ReqMap.mobilesdkAppId == STRING
input.ReqMap.releaseId == STRING
input.ProviderMetadata.Region == STRING
}
firebaseappdistribution.apps.testers.getTesterUdids
valid {
input.ReqMap.mobilesdkAppId == STRING
input.Qs.project == STRING
input.ProviderMetadata.Region == STRING
}
firebaseappdistribution.apps.upload_status.get
valid {
input.ReqMap.mobilesdkAppId == STRING
input.ReqMap.uploadToken == STRING
input.ProviderMetadata.Region == STRING
}
firebaseappdistribution.media.upload
enum_GdataCompositeMediaReferenceType := [ "PATH", "BLOB_REF", "INLINE", "BIGSTORE_REF", "COSMO_BINARY_REFERENCE" ]
enum_GdataMediaReferenceType := [ "PATH", "BLOB_REF", "INLINE", "GET_MEDIA", "COMPOSITE_MEDIA", "BIGSTORE_REF", "DIFF_VERSION_RESPONSE", "DIFF_CHECKSUMS_RESPONSE", "DIFF_DOWNLOAD_RESPONSE", "DIFF_UPLOAD_REQUEST", "DIFF_UPLOAD_RESPONSE", "COSMO_BINARY_REFERENCE", "ARBITRARY_BYTES" ]
valid {
input.Body.blob.algorithm == STRING
input.Body.blob.bigstoreObjectRef == STRING
input.Body.blob.blobRef == STRING
input.Body.blob.blobstore2Info.blobGeneration == STRING
input.Body.blob.blobstore2Info.blobId == STRING
input.Body.blob.blobstore2Info.downloadReadHandle == STRING
input.Body.blob.blobstore2Info.readToken == STRING
input.Body.blob.blobstore2Info.uploadMetadataContainer == STRING
input.Body.blob.compositeMedia[_].blobRef == STRING
input.Body.blob.compositeMedia[_].blobstore2Info.blobGeneration == STRING
input.Body.blob.compositeMedia[_].blobstore2Info.blobId == STRING
input.Body.blob.compositeMedia[_].blobstore2Info.downloadReadHandle == STRING
input.Body.blob.compositeMedia[_].blobstore2Info.readToken == STRING
input.Body.blob.compositeMedia[_].blobstore2Info.uploadMetadataContainer == STRING
input.Body.blob.compositeMedia[_].cosmoBinaryReference == STRING
input.Body.blob.compositeMedia[_].crc32cHash == INTEGER
input.Body.blob.compositeMedia[_].inline == STRING
input.Body.blob.compositeMedia[_].length == STRING
input.Body.blob.compositeMedia[_].md5Hash == STRING
input.Body.blob.compositeMedia[_].objectId.bucketName == STRING
input.Body.blob.compositeMedia[_].objectId.generation == STRING
input.Body.blob.compositeMedia[_].objectId.objectName == STRING
input.Body.blob.compositeMedia[_].path == STRING
input.Body.blob.compositeMedia[_].referenceType == enum_GdataCompositeMediaReferenceType[_]
input.Body.blob.compositeMedia[_].sha1Hash == STRING
input.Body.blob.contentType == STRING
input.Body.blob.contentTypeInfo.bestGuess == STRING
input.Body.blob.contentTypeInfo.fromBytes == STRING
input.Body.blob.contentTypeInfo.fromFileName == STRING
input.Body.blob.contentTypeInfo.fromHeader == STRING
input.Body.blob.contentTypeInfo.fromUrlPath == STRING
input.Body.blob.cosmoBinaryReference == STRING
input.Body.blob.crc32cHash == INTEGER
input.Body.blob.diffChecksumsResponse.checksumsLocation.blobRef == STRING
input.Body.blob.diffChecksumsResponse.checksumsLocation.blobstore2Info.blobGeneration == STRING
input.Body.blob.diffChecksumsResponse.checksumsLocation.blobstore2Info.blobId == STRING
input.Body.blob.diffChecksumsResponse.checksumsLocation.blobstore2Info.downloadReadHandle == STRING
input.Body.blob.diffChecksumsResponse.checksumsLocation.blobstore2Info.readToken == STRING
input.Body.blob.diffChecksumsResponse.checksumsLocation.blobstore2Info.uploadMetadataContainer == STRING
input.Body.blob.diffChecksumsResponse.checksumsLocation.cosmoBinaryReference == STRING
input.Body.blob.diffChecksumsResponse.checksumsLocation.crc32cHash == INTEGER
input.Body.blob.diffChecksumsResponse.checksumsLocation.inline == STRING
input.Body.blob.diffChecksumsResponse.checksumsLocation.length == STRING
input.Body.blob.diffChecksumsResponse.checksumsLocation.md5Hash == STRING
input.Body.blob.diffChecksumsResponse.checksumsLocation.objectId.bucketName == STRING
input.Body.blob.diffChecksumsResponse.checksumsLocation.objectId.generation == STRING
input.Body.blob.diffChecksumsResponse.checksumsLocation.objectId.objectName == STRING
input.Body.blob.diffChecksumsResponse.checksumsLocation.path == STRING
input.Body.blob.diffChecksumsResponse.checksumsLocation.referenceType == enum_GdataCompositeMediaReferenceType[_]
input.Body.blob.diffChecksumsResponse.checksumsLocation.sha1Hash == STRING
input.Body.blob.diffChecksumsResponse.chunkSizeBytes == STRING
input.Body.blob.diffChecksumsResponse.objectLocation.blobRef == STRING
input.Body.blob.diffChecksumsResponse.objectLocation.blobstore2Info.blobGeneration == STRING
input.Body.blob.diffChecksumsResponse.objectLocation.blobstore2Info.blobId == STRING
input.Body.blob.diffChecksumsResponse.objectLocation.blobstore2Info.downloadReadHandle == STRING
input.Body.blob.diffChecksumsResponse.objectLocation.blobstore2Info.readToken == STRING
input.Body.blob.diffChecksumsResponse.objectLocation.blobstore2Info.uploadMetadataContainer == STRING
input.Body.blob.diffChecksumsResponse.objectLocation.cosmoBinaryReference == STRING
input.Body.blob.diffChecksumsResponse.objectLocation.crc32cHash == INTEGER
input.Body.blob.diffChecksumsResponse.objectLocation.inline == STRING
input.Body.blob.diffChecksumsResponse.objectLocation.length == STRING
input.Body.blob.diffChecksumsResponse.objectLocation.md5Hash == STRING
input.Body.blob.diffChecksumsResponse.objectLocation.objectId.bucketName == STRING
input.Body.blob.diffChecksumsResponse.objectLocation.objectId.generation == STRING
input.Body.blob.diffChecksumsResponse.objectLocation.objectId.objectName == STRING
input.Body.blob.diffChecksumsResponse.objectLocation.path == STRING
input.Body.blob.diffChecksumsResponse.objectLocation.referenceType == enum_GdataCompositeMediaReferenceType[_]
input.Body.blob.diffChecksumsResponse.objectLocation.sha1Hash == STRING
input.Body.blob.diffChecksumsResponse.objectSizeBytes == STRING
input.Body.blob.diffChecksumsResponse.objectVersion == STRING
input.Body.blob.diffDownloadResponse.objectLocation.blobRef == STRING
input.Body.blob.diffDownloadResponse.objectLocation.blobstore2Info.blobGeneration == STRING
input.Body.blob.diffDownloadResponse.objectLocation.blobstore2Info.blobId == STRING
input.Body.blob.diffDownloadResponse.objectLocation.blobstore2Info.downloadReadHandle == STRING
input.Body.blob.diffDownloadResponse.objectLocation.blobstore2Info.readToken == STRING
input.Body.blob.diffDownloadResponse.objectLocation.blobstore2Info.uploadMetadataContainer == STRING
input.Body.blob.diffDownloadResponse.objectLocation.cosmoBinaryReference == STRING
input.Body.blob.diffDownloadResponse.objectLocation.crc32cHash == INTEGER
input.Body.blob.diffDownloadResponse.objectLocation.inline == STRING
input.Body.blob.diffDownloadResponse.objectLocation.length == STRING
input.Body.blob.diffDownloadResponse.objectLocation.md5Hash == STRING
input.Body.blob.diffDownloadResponse.objectLocation.objectId.bucketName == STRING
input.Body.blob.diffDownloadResponse.objectLocation.objectId.generation == STRING
input.Body.blob.diffDownloadResponse.objectLocation.objectId.objectName == STRING
input.Body.blob.diffDownloadResponse.objectLocation.path == STRING
input.Body.blob.diffDownloadResponse.objectLocation.referenceType == enum_GdataCompositeMediaReferenceType[_]
input.Body.blob.diffDownloadResponse.objectLocation.sha1Hash == STRING
input.Body.blob.diffUploadRequest.checksumsInfo.blobRef == STRING
input.Body.blob.diffUploadRequest.checksumsInfo.blobstore2Info.blobGeneration == STRING
input.Body.blob.diffUploadRequest.checksumsInfo.blobstore2Info.blobId == STRING
input.Body.blob.diffUploadRequest.checksumsInfo.blobstore2Info.downloadReadHandle == STRING
input.Body.blob.diffUploadRequest.checksumsInfo.blobstore2Info.readToken == STRING
input.Body.blob.diffUploadRequest.checksumsInfo.blobstore2Info.uploadMetadataContainer == STRING
input.Body.blob.diffUploadRequest.checksumsInfo.cosmoBinaryReference == STRING
input.Body.blob.diffUploadRequest.checksumsInfo.crc32cHash == INTEGER
input.Body.blob.diffUploadRequest.checksumsInfo.inline == STRING
input.Body.blob.diffUploadRequest.checksumsInfo.length == STRING
input.Body.blob.diffUploadRequest.checksumsInfo.md5Hash == STRING
input.Body.blob.diffUploadRequest.checksumsInfo.objectId.bucketName == STRING
input.Body.blob.diffUploadRequest.checksumsInfo.objectId.generation == STRING
input.Body.blob.diffUploadRequest.checksumsInfo.objectId.objectName == STRING
input.Body.blob.diffUploadRequest.checksumsInfo.path == STRING
input.Body.blob.diffUploadRequest.checksumsInfo.referenceType == enum_GdataCompositeMediaReferenceType[_]
input.Body.blob.diffUploadRequest.checksumsInfo.sha1Hash == STRING
input.Body.blob.diffUploadRequest.objectInfo.blobRef == STRING
input.Body.blob.diffUploadRequest.objectInfo.blobstore2Info.blobGeneration == STRING
input.Body.blob.diffUploadRequest.objectInfo.blobstore2Info.blobId == STRING
input.Body.blob.diffUploadRequest.objectInfo.blobstore2Info.downloadReadHandle == STRING
input.Body.blob.diffUploadRequest.objectInfo.blobstore2Info.readToken == STRING
input.Body.blob.diffUploadRequest.objectInfo.blobstore2Info.uploadMetadataContainer == STRING
input.Body.blob.diffUploadRequest.objectInfo.cosmoBinaryReference == STRING
input.Body.blob.diffUploadRequest.objectInfo.crc32cHash == INTEGER
input.Body.blob.diffUploadRequest.objectInfo.inline == STRING
input.Body.blob.diffUploadRequest.objectInfo.length == STRING
input.Body.blob.diffUploadRequest.objectInfo.md5Hash == STRING
input.Body.blob.diffUploadRequest.objectInfo.objectId.bucketName == STRING
input.Body.blob.diffUploadRequest.objectInfo.objectId.generation == STRING
input.Body.blob.diffUploadRequest.objectInfo.objectId.objectName == STRING
input.Body.blob.diffUploadRequest.objectInfo.path == STRING
input.Body.blob.diffUploadRequest.objectInfo.referenceType == enum_GdataCompositeMediaReferenceType[_]
input.Body.blob.diffUploadRequest.objectInfo.sha1Hash == STRING
input.Body.blob.diffUploadRequest.objectVersion == STRING
input.Body.blob.diffUploadResponse.objectVersion == STRING
input.Body.blob.diffUploadResponse.originalObject.blobRef == STRING
input.Body.blob.diffUploadResponse.originalObject.blobstore2Info.blobGeneration == STRING
input.Body.blob.diffUploadResponse.originalObject.blobstore2Info.blobId == STRING
input.Body.blob.diffUploadResponse.originalObject.blobstore2Info.downloadReadHandle == STRING
input.Body.blob.diffUploadResponse.originalObject.blobstore2Info.readToken == STRING
input.Body.blob.diffUploadResponse.originalObject.blobstore2Info.uploadMetadataContainer == STRING
input.Body.blob.diffUploadResponse.originalObject.cosmoBinaryReference == STRING
input.Body.blob.diffUploadResponse.originalObject.crc32cHash == INTEGER
input.Body.blob.diffUploadResponse.originalObject.inline == STRING
input.Body.blob.diffUploadResponse.originalObject.length == STRING
input.Body.blob.diffUploadResponse.originalObject.md5Hash == STRING
input.Body.blob.diffUploadResponse.originalObject.objectId.bucketName == STRING
input.Body.blob.diffUploadResponse.originalObject.objectId.generation == STRING
input.Body.blob.diffUploadResponse.originalObject.objectId.objectName == STRING
input.Body.blob.diffUploadResponse.originalObject.path == STRING
input.Body.blob.diffUploadResponse.originalObject.referenceType == enum_GdataCompositeMediaReferenceType[_]
input.Body.blob.diffUploadResponse.originalObject.sha1Hash == STRING
input.Body.blob.diffVersionResponse.objectSizeBytes == STRING
input.Body.blob.diffVersionResponse.objectVersion == STRING
input.Body.blob.downloadParameters.allowGzipCompression == BOOLEAN
input.Body.blob.downloadParameters.ignoreRange == BOOLEAN
input.Body.blob.filename == STRING
input.Body.blob.hash == STRING
input.Body.blob.hashVerified == BOOLEAN
input.Body.blob.inline == STRING
input.Body.blob.isPotentialRetry == BOOLEAN
input.Body.blob.length == STRING
input.Body.blob.md5Hash == STRING
input.Body.blob.mediaId == STRING
input.Body.blob.objectId.bucketName == STRING
input.Body.blob.objectId.generation == STRING
input.Body.blob.objectId.objectName == STRING
input.Body.blob.path == STRING
input.Body.blob.referenceType == enum_GdataMediaReferenceType[_]
input.Body.blob.sha1Hash == STRING
input.Body.blob.sha256Hash == STRING
input.Body.blob.timestamp == STRING
input.Body.blob.token == STRING
input.ReqMap.app == STRING
input.ProviderMetadata.Region == STRING
}
firebaseappdistribution.projects.apps.getAabInfo
valid {
input.ReqMap.name == STRING
input.ProviderMetadata.Region == STRING
}
firebaseappdistribution.projects.apps.getTestConfig
valid {
input.ReqMap.name == STRING
input.ProviderMetadata.Region == STRING
}
firebaseappdistribution.projects.apps.releases.batchDelete
valid {
input.Body.names[_] == STRING
input.ReqMap.parent == STRING
input.ProviderMetadata.Region == STRING
}
firebaseappdistribution.projects.apps.releases.distribute
valid {
input.Body.groupAliases[_] == STRING
input.Body.testerEmails[_] == STRING
input.ReqMap.name == STRING
input.ProviderMetadata.Region == STRING
}
firebaseappdistribution.projects.apps.releases.feedbackReports.delete
valid {
input.ReqMap.name == STRING
input.ProviderMetadata.Region == STRING
}
firebaseappdistribution.projects.apps.releases.feedbackReports.get
valid {
input.ReqMap.name == STRING
input.ProviderMetadata.Region == STRING
}
firebaseappdistribution.projects.apps.releases.feedbackReports.list
valid {
input.ReqMap.parent == STRING
input.Qs.pageSize == INTEGER
input.Qs.pageToken == STRING
input.ProviderMetadata.Region == STRING
}
firebaseappdistribution.projects.apps.releases.get
valid {
input.ReqMap.name == STRING
input.ProviderMetadata.Region == STRING
}
firebaseappdistribution.projects.apps.releases.list
valid {
input.ReqMap.parent == STRING
input.Qs.filter == STRING
input.Qs.orderBy == STRING
input.Qs.pageSize == INTEGER
input.Qs.pageToken == STRING
input.ProviderMetadata.Region == STRING
}
firebaseappdistribution.projects.apps.releases.operations.cancel
valid {
input.Body.STRING == STRING
input.ReqMap.name == STRING
input.ProviderMetadata.Region == STRING
}
firebaseappdistribution.projects.apps.releases.operations.delete
valid {
input.ReqMap.name == STRING
input.ProviderMetadata.Region == STRING
}
firebaseappdistribution.projects.apps.releases.operations.get
valid {
input.ReqMap.name == STRING
input.ProviderMetadata.Region == STRING
}
firebaseappdistribution.projects.apps.releases.operations.list
valid {
input.ReqMap.name == STRING
input.Qs.filter == STRING
input.Qs.pageSize == INTEGER
input.Qs.pageToken == STRING
input.ProviderMetadata.Region == STRING
}
firebaseappdistribution.projects.apps.releases.operations.wait
valid {
input.Body.timeout == STRING
input.ReqMap.name == STRING
input.ProviderMetadata.Region == STRING
}
firebaseappdistribution.projects.apps.releases.patch
valid {
input.Body.name == STRING
input.Body.releaseNotes.text == STRING
input.ReqMap.name == STRING
input.Qs.updateMask == STRING
input.ProviderMetadata.Region == STRING
}
firebaseappdistribution.projects.apps.releases.tests.cancel
valid {
input.ReqMap.name == STRING
input.ProviderMetadata.Region == STRING
}
firebaseappdistribution.projects.apps.releases.tests.create
valid {
input.Body.aiInstructions.appDescription == STRING
input.Body.aiInstructions.steps[_].assertion == STRING
input.Body.aiInstructions.steps[_].goal == STRING
input.Body.aiInstructions.steps[_].hint == STRING
input.Body.aiInstructions.steps[_].successCriteria == STRING
input.Body.deviceExecutions[_].device.locale == STRING
input.Body.deviceExecutions[_].device.model == STRING
input.Body.deviceExecutions[_].device.orientation == STRING
input.Body.deviceExecutions[_].device.version == STRING
input.Body.displayName == STRING
input.Body.loginCredential.fieldHints.passwordResourceName == STRING
input.Body.loginCredential.fieldHints.usernameResourceName == STRING
input.Body.loginCredential.google == BOOLEAN
input.Body.loginCredential.password == STRING
input.Body.loginCredential.username == STRING
input.Body.name == STRING
input.Body.testCase == STRING
input.ReqMap.parent == STRING
input.Qs.releaseTestId == STRING
input.ProviderMetadata.Region == STRING
}
firebaseappdistribution.projects.apps.releases.tests.get
valid {
input.ReqMap.name == STRING
input.ProviderMetadata.Region == STRING
}
firebaseappdistribution.projects.apps.releases.tests.list
enum_ViewParameter := [ "RELEASE_TEST_VIEW_UNSPECIFIED", "RELEASE_TEST_VIEW_BASIC", "RELEASE_TEST_VIEW_FULL" ]
valid {
input.ReqMap.parent == STRING
input.Qs.pageSize == INTEGER
input.Qs.pageToken == STRING
input.Qs.view == enum_ViewParameter[_]
input.ProviderMetadata.Region == STRING
}
firebaseappdistribution.projects.apps.testCases.create
valid {
input.Body.aiInstructions.appDescription == STRING
input.Body.aiInstructions.steps[_].assertion == STRING
input.Body.aiInstructions.steps[_].goal == STRING
input.Body.aiInstructions.steps[_].hint == STRING
input.Body.aiInstructions.steps[_].successCriteria == STRING
input.Body.displayName == STRING
input.Body.name == STRING
input.ReqMap.parent == STRING
input.Qs.testCaseId == STRING
input.ProviderMetadata.Region == STRING
}
firebaseappdistribution.projects.apps.testCases.delete
valid {
input.ReqMap.name == STRING
input.ProviderMetadata.Region == STRING
}
firebaseappdistribution.projects.apps.testCases.get
valid {
input.ReqMap.name == STRING
input.ProviderMetadata.Region == STRING
}
firebaseappdistribution.projects.apps.testCases.list
valid {
input.ReqMap.parent == STRING
input.Qs.pageSize == INTEGER
input.Qs.pageToken == STRING
input.ProviderMetadata.Region == STRING
}
firebaseappdistribution.projects.apps.testCases.patch
valid {
input.Body.aiInstructions.appDescription == STRING
input.Body.aiInstructions.steps[_].assertion == STRING
input.Body.aiInstructions.steps[_].goal == STRING
input.Body.aiInstructions.steps[_].hint == STRING
input.Body.aiInstructions.steps[_].successCriteria == STRING
input.Body.displayName == STRING
input.Body.name == STRING
input.ReqMap.name == STRING
input.ProviderMetadata.Region == STRING
}
firebaseappdistribution.projects.apps.updateTestConfig
valid {
input.Body.displayName == STRING
input.Body.name == STRING
input.Body.roboCrawler.aiInstructions.appDescription == STRING
input.Body.roboCrawler.aiInstructions.steps[_].assertion == STRING
input.Body.roboCrawler.aiInstructions.steps[_].goal == STRING
input.Body.roboCrawler.aiInstructions.steps[_].hint == STRING
input.Body.roboCrawler.aiInstructions.steps[_].successCriteria == STRING
input.Body.roboCrawler.loginCredential.fieldHints.passwordResourceName == STRING
input.Body.roboCrawler.loginCredential.fieldHints.usernameResourceName == STRING
input.Body.roboCrawler.loginCredential.google == BOOLEAN
input.Body.roboCrawler.loginCredential.password == STRING
input.Body.roboCrawler.loginCredential.username == STRING
input.Body.testDevices[_].locale == STRING
input.Body.testDevices[_].model == STRING
input.Body.testDevices[_].orientation == STRING
input.Body.testDevices[_].version == STRING
input.ReqMap.name == STRING
input.Qs.updateMask == STRING
input.ProviderMetadata.Region == STRING
}
firebaseappdistribution.projects.groups.batchJoin
valid {
input.Body.createMissingTesters == BOOLEAN
input.Body.emails[_] == STRING
input.ReqMap.group == STRING
input.ProviderMetadata.Region == STRING
}
firebaseappdistribution.projects.groups.batchLeave
valid {
input.Body.emails[_] == STRING
input.ReqMap.group == STRING
input.ProviderMetadata.Region == STRING
}
firebaseappdistribution.projects.groups.create
valid {
input.Body.displayName == STRING
input.Body.name == STRING
input.ReqMap.parent == STRING
input.Qs.groupId == STRING
input.ProviderMetadata.Region == STRING
}
firebaseappdistribution.projects.groups.delete
valid {
input.ReqMap.name == STRING
input.ProviderMetadata.Region == STRING
}
firebaseappdistribution.projects.groups.get
valid {
input.ReqMap.name == STRING
input.ProviderMetadata.Region == STRING
}
firebaseappdistribution.projects.groups.list
valid {
input.ReqMap.parent == STRING
input.Qs.pageSize == INTEGER
input.Qs.pageToken == STRING
input.ProviderMetadata.Region == STRING
}
firebaseappdistribution.projects.groups.patch
valid {
input.Body.displayName == STRING
input.Body.name == STRING
input.ReqMap.name == STRING
input.Qs.updateMask == STRING
input.ProviderMetadata.Region == STRING
}
firebaseappdistribution.projects.testers.batchAdd
valid {
input.Body.emails[_] == STRING
input.ReqMap.ProjectID == STRING
input.ProviderMetadata.Region == STRING
input.ProviderMetadata.ProjectID == STRING
}
firebaseappdistribution.projects.testers.batchRemove
valid {
input.Body.emails[_] == STRING
input.ReqMap.ProjectID == STRING
input.ProviderMetadata.Region == STRING
input.ProviderMetadata.ProjectID == STRING
}
firebaseappdistribution.projects.testers.getUdids
valid {
input.ReqMap.ProjectID == STRING
input.Qs.mobilesdkAppId == STRING
input.ProviderMetadata.Region == STRING
input.ProviderMetadata.ProjectID == STRING
}
firebaseappdistribution.projects.testers.list
valid {
input.ReqMap.parent == STRING
input.Qs.filter == STRING
input.Qs.pageSize == INTEGER
input.Qs.pageToken == STRING
input.ProviderMetadata.Region == STRING
}
firebaseappdistribution.projects.testers.patch
valid {
input.Body.displayName == STRING
input.Body.groups[_] == STRING
input.Body.name == STRING
input.ReqMap.name == STRING
input.Qs.updateMask == STRING
input.ProviderMetadata.Region == STRING
}
Updated 5 days ago