FIREBASERULES

firebaserules.projects.releases.create

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

firebaserules.projects.releases.delete

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

firebaserules.projects.releases.get

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

firebaserules.projects.releases.getExecutable

enum_ExecutableVersionParameter := [ "RELEASE_EXECUTABLE_VERSION_UNSPECIFIED", "FIREBASE_RULES_EXECUTABLE_V1", "FIREBASE_RULES_EXECUTABLE_V2" ]

valid {
    input.ReqMap.name == STRING
    input.Qs.executableVersion == enum_ExecutableVersionParameter[_]
    input.ProviderMetadata.Region == STRING
}

firebaserules.projects.releases.list

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

firebaserules.projects.releases.patch

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

firebaserules.projects.rulesets.create

valid {
    input.Body.attachmentPoint == STRING
    input.Body.source.files[_].content == STRING
    input.Body.source.files[_].fingerprint == STRING
    input.Body.source.files[_].name == STRING
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

firebaserules.projects.rulesets.delete

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

firebaserules.projects.rulesets.get

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

firebaserules.projects.rulesets.list

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

firebaserules.projects.test

enum_TestCaseExpectation := [ "EXPECTATION_UNSPECIFIED", "ALLOW", "DENY" ]
enum_TestCaseExpressionReportLevel := [ "LEVEL_UNSPECIFIED", "NONE", "FULL", "VISITED" ]
enum_TestCasePathEncoding := [ "ENCODING_UNSPECIFIED", "URL_ENCODED", "PLAIN" ]

valid {
    input.Body.source.files[_].content == STRING
    input.Body.source.files[_].fingerprint == STRING
    input.Body.source.files[_].name == STRING
    input.Body.testSuite.testCases[_].expectation == enum_TestCaseExpectation[_]
    input.Body.testSuite.testCases[_].expressionReportLevel == enum_TestCaseExpressionReportLevel[_]
    input.Body.testSuite.testCases[_].functionMocks[_].args[_].anyValue.STRING == STRING
    input.Body.testSuite.testCases[_].functionMocks[_].args[_].exactValue == ANY
    input.Body.testSuite.testCases[_].functionMocks[_].function == STRING
    input.Body.testSuite.testCases[_].functionMocks[_].result.undefined.STRING == STRING
    input.Body.testSuite.testCases[_].functionMocks[_].result.value == ANY
    input.Body.testSuite.testCases[_].pathEncoding == enum_TestCasePathEncoding[_]
    input.Body.testSuite.testCases[_].request == ANY
    input.Body.testSuite.testCases[_].resource == ANY
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}