SOURCEREPO

sourcerepo.projects.getConfig

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

sourcerepo.projects.repos.create

enum_PubsubConfigMessageFormat := [ "MESSAGE_FORMAT_UNSPECIFIED", "PROTOBUF", "JSON" ]

valid {
    input.Body.mirrorConfig.deployKeyId == STRING
    input.Body.mirrorConfig.url == STRING
    input.Body.mirrorConfig.webhookId == STRING
    input.Body.name == STRING
    input.Body.pubsubConfigs.STRING.messageFormat == enum_PubsubConfigMessageFormat[_]
    input.Body.pubsubConfigs.STRING.serviceAccountEmail == STRING
    input.Body.pubsubConfigs.STRING.topic == STRING
    input.Body.size == STRING
    input.Body.url == STRING
    input.ReqMap.parent == STRING
    input.ProviderMetadata.Region == STRING
}

sourcerepo.projects.repos.delete

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

sourcerepo.projects.repos.get

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

sourcerepo.projects.repos.getIamPolicy

valid {
    input.ReqMap.resource == STRING
    input.Qs.options.requestedPolicyVersion == INTEGER
    input.ProviderMetadata.Region == STRING
}

sourcerepo.projects.repos.list

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

sourcerepo.projects.repos.patch

enum_PubsubConfigMessageFormat := [ "MESSAGE_FORMAT_UNSPECIFIED", "PROTOBUF", "JSON" ]

valid {
    input.Body.repo.mirrorConfig.deployKeyId == STRING
    input.Body.repo.mirrorConfig.url == STRING
    input.Body.repo.mirrorConfig.webhookId == STRING
    input.Body.repo.name == STRING
    input.Body.repo.pubsubConfigs.STRING.messageFormat == enum_PubsubConfigMessageFormat[_]
    input.Body.repo.pubsubConfigs.STRING.serviceAccountEmail == STRING
    input.Body.repo.pubsubConfigs.STRING.topic == STRING
    input.Body.repo.size == STRING
    input.Body.repo.url == STRING
    input.Body.updateMask == STRING
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

sourcerepo.projects.repos.setIamPolicy

enum_AuditLogConfigLogType := [ "LOG_TYPE_UNSPECIFIED", "ADMIN_READ", "DATA_WRITE", "DATA_READ" ]

valid {
    input.Body.policy.auditConfigs[_].auditLogConfigs[_].exemptedMembers[_] == STRING
    input.Body.policy.auditConfigs[_].auditLogConfigs[_].logType == enum_AuditLogConfigLogType[_]
    input.Body.policy.auditConfigs[_].service == STRING
    input.Body.policy.bindings[_].condition.description == STRING
    input.Body.policy.bindings[_].condition.expression == STRING
    input.Body.policy.bindings[_].condition.location == STRING
    input.Body.policy.bindings[_].condition.title == STRING
    input.Body.policy.bindings[_].members[_] == STRING
    input.Body.policy.bindings[_].role == STRING
    input.Body.policy.etag == STRING
    input.Body.policy.version == INTEGER
    input.Body.updateMask == STRING
    input.ReqMap.resource == STRING
    input.ProviderMetadata.Region == STRING
}

sourcerepo.projects.repos.sync

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

sourcerepo.projects.repos.testIamPermissions

valid {
    input.Body.permissions[_] == STRING
    input.ReqMap.resource == STRING
    input.ProviderMetadata.Region == STRING
}

sourcerepo.projects.updateConfig

enum_PubsubConfigMessageFormat := [ "MESSAGE_FORMAT_UNSPECIFIED", "PROTOBUF", "JSON" ]

valid {
    input.Body.projectConfig.enablePrivateKeyCheck == BOOLEAN
    input.Body.projectConfig.name == STRING
    input.Body.projectConfig.pubsubConfigs.STRING.messageFormat == enum_PubsubConfigMessageFormat[_]
    input.Body.projectConfig.pubsubConfigs.STRING.serviceAccountEmail == STRING
    input.Body.projectConfig.pubsubConfigs.STRING.topic == STRING
    input.Body.updateMask == STRING
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}