GKEBACKUP

gkebackup.projects.locations.backupPlans.backups.create

valid {
    input.Body.deleteLockDays == INTEGER
    input.Body.description == STRING
    input.Body.labels.STRING == STRING
    input.Body.retainDays == INTEGER
    input.ReqMap.parent == STRING
    input.Qs.backupId == STRING
    input.ProviderMetadata.Region == STRING
}

gkebackup.projects.locations.backupPlans.backups.delete

valid {
    input.ReqMap.name == STRING
    input.Qs.etag == STRING
    input.Qs.force == BOOLEAN
    input.ProviderMetadata.Region == STRING
}

gkebackup.projects.locations.backupPlans.backups.get

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

gkebackup.projects.locations.backupPlans.backups.getBackupIndexDownloadUrl

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

gkebackup.projects.locations.backupPlans.backups.getIamPolicy

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

gkebackup.projects.locations.backupPlans.backups.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
}

gkebackup.projects.locations.backupPlans.backups.patch

valid {
    input.Body.deleteLockDays == INTEGER
    input.Body.description == STRING
    input.Body.labels.STRING == STRING
    input.Body.retainDays == INTEGER
    input.ReqMap.name == STRING
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

gkebackup.projects.locations.backupPlans.backups.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
}

gkebackup.projects.locations.backupPlans.backups.testIamPermissions

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

gkebackup.projects.locations.backupPlans.backups.volumeBackups.get

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

gkebackup.projects.locations.backupPlans.backups.volumeBackups.getIamPolicy

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

gkebackup.projects.locations.backupPlans.backups.volumeBackups.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
}

gkebackup.projects.locations.backupPlans.backups.volumeBackups.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
}

gkebackup.projects.locations.backupPlans.backups.volumeBackups.testIamPermissions

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

gkebackup.projects.locations.backupPlans.create

enum_DayOfWeekListDaysOfWeek := [ "DAY_OF_WEEK_UNSPECIFIED", "MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY", "SATURDAY", "SUNDAY" ]

valid {
    input.Body.backupConfig.allNamespaces == BOOLEAN
    input.Body.backupConfig.encryptionKey.gcpKmsEncryptionKey == STRING
    input.Body.backupConfig.includeSecrets == BOOLEAN
    input.Body.backupConfig.includeVolumeData == BOOLEAN
    input.Body.backupConfig.selectedApplications.namespacedNames[_].name == STRING
    input.Body.backupConfig.selectedApplications.namespacedNames[_].namespace == STRING
    input.Body.backupConfig.selectedNamespaces.namespaces[_] == STRING
    input.Body.backupSchedule.cronSchedule == STRING
    input.Body.backupSchedule.paused == BOOLEAN
    input.Body.backupSchedule.rpoConfig.exclusionWindows[_].daily == BOOLEAN
    input.Body.backupSchedule.rpoConfig.exclusionWindows[_].daysOfWeek.daysOfWeek[_] == enum_DayOfWeekListDaysOfWeek[_]
    input.Body.backupSchedule.rpoConfig.exclusionWindows[_].duration == STRING
    input.Body.backupSchedule.rpoConfig.exclusionWindows[_].singleOccurrenceDate.day == INTEGER
    input.Body.backupSchedule.rpoConfig.exclusionWindows[_].singleOccurrenceDate.month == INTEGER
    input.Body.backupSchedule.rpoConfig.exclusionWindows[_].singleOccurrenceDate.year == INTEGER
    input.Body.backupSchedule.rpoConfig.exclusionWindows[_].startTime.hours == INTEGER
    input.Body.backupSchedule.rpoConfig.exclusionWindows[_].startTime.minutes == INTEGER
    input.Body.backupSchedule.rpoConfig.exclusionWindows[_].startTime.nanos == INTEGER
    input.Body.backupSchedule.rpoConfig.exclusionWindows[_].startTime.seconds == INTEGER
    input.Body.backupSchedule.rpoConfig.targetRpoMinutes == INTEGER
    input.Body.cluster == STRING
    input.Body.deactivated == BOOLEAN
    input.Body.description == STRING
    input.Body.labels.STRING == STRING
    input.Body.retentionPolicy.backupDeleteLockDays == INTEGER
    input.Body.retentionPolicy.backupRetainDays == INTEGER
    input.Body.retentionPolicy.locked == BOOLEAN
    input.ReqMap.parent == STRING
    input.Qs.backupPlanId == STRING
    input.ProviderMetadata.Region == STRING
}

gkebackup.projects.locations.backupPlans.delete

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

gkebackup.projects.locations.backupPlans.get

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

gkebackup.projects.locations.backupPlans.getIamPolicy

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

gkebackup.projects.locations.backupPlans.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
}

gkebackup.projects.locations.backupPlans.patch

enum_DayOfWeekListDaysOfWeek := [ "DAY_OF_WEEK_UNSPECIFIED", "MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY", "SATURDAY", "SUNDAY" ]

valid {
    input.Body.backupConfig.allNamespaces == BOOLEAN
    input.Body.backupConfig.encryptionKey.gcpKmsEncryptionKey == STRING
    input.Body.backupConfig.includeSecrets == BOOLEAN
    input.Body.backupConfig.includeVolumeData == BOOLEAN
    input.Body.backupConfig.selectedApplications.namespacedNames[_].name == STRING
    input.Body.backupConfig.selectedApplications.namespacedNames[_].namespace == STRING
    input.Body.backupConfig.selectedNamespaces.namespaces[_] == STRING
    input.Body.backupSchedule.cronSchedule == STRING
    input.Body.backupSchedule.paused == BOOLEAN
    input.Body.backupSchedule.rpoConfig.exclusionWindows[_].daily == BOOLEAN
    input.Body.backupSchedule.rpoConfig.exclusionWindows[_].daysOfWeek.daysOfWeek[_] == enum_DayOfWeekListDaysOfWeek[_]
    input.Body.backupSchedule.rpoConfig.exclusionWindows[_].duration == STRING
    input.Body.backupSchedule.rpoConfig.exclusionWindows[_].singleOccurrenceDate.day == INTEGER
    input.Body.backupSchedule.rpoConfig.exclusionWindows[_].singleOccurrenceDate.month == INTEGER
    input.Body.backupSchedule.rpoConfig.exclusionWindows[_].singleOccurrenceDate.year == INTEGER
    input.Body.backupSchedule.rpoConfig.exclusionWindows[_].startTime.hours == INTEGER
    input.Body.backupSchedule.rpoConfig.exclusionWindows[_].startTime.minutes == INTEGER
    input.Body.backupSchedule.rpoConfig.exclusionWindows[_].startTime.nanos == INTEGER
    input.Body.backupSchedule.rpoConfig.exclusionWindows[_].startTime.seconds == INTEGER
    input.Body.backupSchedule.rpoConfig.targetRpoMinutes == INTEGER
    input.Body.cluster == STRING
    input.Body.deactivated == BOOLEAN
    input.Body.description == STRING
    input.Body.labels.STRING == STRING
    input.Body.retentionPolicy.backupDeleteLockDays == INTEGER
    input.Body.retentionPolicy.backupRetainDays == INTEGER
    input.Body.retentionPolicy.locked == BOOLEAN
    input.ReqMap.name == STRING
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

gkebackup.projects.locations.backupPlans.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
}

gkebackup.projects.locations.backupPlans.testIamPermissions

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

gkebackup.projects.locations.get

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

gkebackup.projects.locations.list

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

gkebackup.projects.locations.operations.cancel

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

gkebackup.projects.locations.operations.delete

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

gkebackup.projects.locations.operations.get

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

gkebackup.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
}

gkebackup.projects.locations.restorePlans.create

enum_RestoreConfigClusterResourceConflictPolicy := [ "CLUSTER_RESOURCE_CONFLICT_POLICY_UNSPECIFIED", "USE_EXISTING_VERSION", "USE_BACKUP_VERSION" ]
enum_RestoreConfigNamespacedResourceRestoreMode := [ "NAMESPACED_RESOURCE_RESTORE_MODE_UNSPECIFIED", "DELETE_AND_RESTORE", "FAIL_ON_CONFLICT" ]
enum_RestoreConfigVolumeDataRestorePolicy := [ "VOLUME_DATA_RESTORE_POLICY_UNSPECIFIED", "RESTORE_VOLUME_DATA_FROM_BACKUP", "REUSE_VOLUME_HANDLE_FROM_BACKUP", "NO_VOLUME_DATA_RESTORATION" ]
enum_TransformationRuleActionOp := [ "OP_UNSPECIFIED", "REMOVE", "MOVE", "COPY", "ADD", "TEST", "REPLACE" ]

valid {
    input.Body.backupPlan == STRING
    input.Body.cluster == STRING
    input.Body.description == STRING
    input.Body.labels.STRING == STRING
    input.Body.restoreConfig.allNamespaces == BOOLEAN
    input.Body.restoreConfig.clusterResourceConflictPolicy == enum_RestoreConfigClusterResourceConflictPolicy[_]
    input.Body.restoreConfig.clusterResourceRestoreScope.allGroupKinds == BOOLEAN
    input.Body.restoreConfig.clusterResourceRestoreScope.excludedGroupKinds[_].resourceGroup == STRING
    input.Body.restoreConfig.clusterResourceRestoreScope.excludedGroupKinds[_].resourceKind == STRING
    input.Body.restoreConfig.clusterResourceRestoreScope.noGroupKinds == BOOLEAN
    input.Body.restoreConfig.clusterResourceRestoreScope.selectedGroupKinds[_].resourceGroup == STRING
    input.Body.restoreConfig.clusterResourceRestoreScope.selectedGroupKinds[_].resourceKind == STRING
    input.Body.restoreConfig.excludedNamespaces.namespaces[_] == STRING
    input.Body.restoreConfig.namespacedResourceRestoreMode == enum_RestoreConfigNamespacedResourceRestoreMode[_]
    input.Body.restoreConfig.noNamespaces == BOOLEAN
    input.Body.restoreConfig.selectedApplications.namespacedNames[_].name == STRING
    input.Body.restoreConfig.selectedApplications.namespacedNames[_].namespace == STRING
    input.Body.restoreConfig.selectedNamespaces.namespaces[_] == STRING
    input.Body.restoreConfig.substitutionRules[_].newValue == STRING
    input.Body.restoreConfig.substitutionRules[_].originalValuePattern == STRING
    input.Body.restoreConfig.substitutionRules[_].targetGroupKinds[_].resourceGroup == STRING
    input.Body.restoreConfig.substitutionRules[_].targetGroupKinds[_].resourceKind == STRING
    input.Body.restoreConfig.substitutionRules[_].targetJsonPath == STRING
    input.Body.restoreConfig.substitutionRules[_].targetNamespaces[_] == STRING
    input.Body.restoreConfig.transformationRules[_].description == STRING
    input.Body.restoreConfig.transformationRules[_].fieldActions[_].fromPath == STRING
    input.Body.restoreConfig.transformationRules[_].fieldActions[_].op == enum_TransformationRuleActionOp[_]
    input.Body.restoreConfig.transformationRules[_].fieldActions[_].path == STRING
    input.Body.restoreConfig.transformationRules[_].fieldActions[_].value == STRING
    input.Body.restoreConfig.transformationRules[_].resourceFilter.groupKinds[_].resourceGroup == STRING
    input.Body.restoreConfig.transformationRules[_].resourceFilter.groupKinds[_].resourceKind == STRING
    input.Body.restoreConfig.transformationRules[_].resourceFilter.jsonPath == STRING
    input.Body.restoreConfig.transformationRules[_].resourceFilter.namespaces[_] == STRING
    input.Body.restoreConfig.volumeDataRestorePolicy == enum_RestoreConfigVolumeDataRestorePolicy[_]
    input.ReqMap.parent == STRING
    input.Qs.restorePlanId == STRING
    input.ProviderMetadata.Region == STRING
}

gkebackup.projects.locations.restorePlans.delete

valid {
    input.ReqMap.name == STRING
    input.Qs.etag == STRING
    input.Qs.force == BOOLEAN
    input.ProviderMetadata.Region == STRING
}

gkebackup.projects.locations.restorePlans.get

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

gkebackup.projects.locations.restorePlans.getIamPolicy

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

gkebackup.projects.locations.restorePlans.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
}

gkebackup.projects.locations.restorePlans.patch

enum_RestoreConfigClusterResourceConflictPolicy := [ "CLUSTER_RESOURCE_CONFLICT_POLICY_UNSPECIFIED", "USE_EXISTING_VERSION", "USE_BACKUP_VERSION" ]
enum_RestoreConfigNamespacedResourceRestoreMode := [ "NAMESPACED_RESOURCE_RESTORE_MODE_UNSPECIFIED", "DELETE_AND_RESTORE", "FAIL_ON_CONFLICT" ]
enum_RestoreConfigVolumeDataRestorePolicy := [ "VOLUME_DATA_RESTORE_POLICY_UNSPECIFIED", "RESTORE_VOLUME_DATA_FROM_BACKUP", "REUSE_VOLUME_HANDLE_FROM_BACKUP", "NO_VOLUME_DATA_RESTORATION" ]
enum_TransformationRuleActionOp := [ "OP_UNSPECIFIED", "REMOVE", "MOVE", "COPY", "ADD", "TEST", "REPLACE" ]

valid {
    input.Body.backupPlan == STRING
    input.Body.cluster == STRING
    input.Body.description == STRING
    input.Body.labels.STRING == STRING
    input.Body.restoreConfig.allNamespaces == BOOLEAN
    input.Body.restoreConfig.clusterResourceConflictPolicy == enum_RestoreConfigClusterResourceConflictPolicy[_]
    input.Body.restoreConfig.clusterResourceRestoreScope.allGroupKinds == BOOLEAN
    input.Body.restoreConfig.clusterResourceRestoreScope.excludedGroupKinds[_].resourceGroup == STRING
    input.Body.restoreConfig.clusterResourceRestoreScope.excludedGroupKinds[_].resourceKind == STRING
    input.Body.restoreConfig.clusterResourceRestoreScope.noGroupKinds == BOOLEAN
    input.Body.restoreConfig.clusterResourceRestoreScope.selectedGroupKinds[_].resourceGroup == STRING
    input.Body.restoreConfig.clusterResourceRestoreScope.selectedGroupKinds[_].resourceKind == STRING
    input.Body.restoreConfig.excludedNamespaces.namespaces[_] == STRING
    input.Body.restoreConfig.namespacedResourceRestoreMode == enum_RestoreConfigNamespacedResourceRestoreMode[_]
    input.Body.restoreConfig.noNamespaces == BOOLEAN
    input.Body.restoreConfig.selectedApplications.namespacedNames[_].name == STRING
    input.Body.restoreConfig.selectedApplications.namespacedNames[_].namespace == STRING
    input.Body.restoreConfig.selectedNamespaces.namespaces[_] == STRING
    input.Body.restoreConfig.substitutionRules[_].newValue == STRING
    input.Body.restoreConfig.substitutionRules[_].originalValuePattern == STRING
    input.Body.restoreConfig.substitutionRules[_].targetGroupKinds[_].resourceGroup == STRING
    input.Body.restoreConfig.substitutionRules[_].targetGroupKinds[_].resourceKind == STRING
    input.Body.restoreConfig.substitutionRules[_].targetJsonPath == STRING
    input.Body.restoreConfig.substitutionRules[_].targetNamespaces[_] == STRING
    input.Body.restoreConfig.transformationRules[_].description == STRING
    input.Body.restoreConfig.transformationRules[_].fieldActions[_].fromPath == STRING
    input.Body.restoreConfig.transformationRules[_].fieldActions[_].op == enum_TransformationRuleActionOp[_]
    input.Body.restoreConfig.transformationRules[_].fieldActions[_].path == STRING
    input.Body.restoreConfig.transformationRules[_].fieldActions[_].value == STRING
    input.Body.restoreConfig.transformationRules[_].resourceFilter.groupKinds[_].resourceGroup == STRING
    input.Body.restoreConfig.transformationRules[_].resourceFilter.groupKinds[_].resourceKind == STRING
    input.Body.restoreConfig.transformationRules[_].resourceFilter.jsonPath == STRING
    input.Body.restoreConfig.transformationRules[_].resourceFilter.namespaces[_] == STRING
    input.Body.restoreConfig.volumeDataRestorePolicy == enum_RestoreConfigVolumeDataRestorePolicy[_]
    input.ReqMap.name == STRING
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

gkebackup.projects.locations.restorePlans.restores.create

valid {
    input.Body.backup == STRING
    input.Body.description == STRING
    input.Body.labels.STRING == STRING
    input.ReqMap.parent == STRING
    input.Qs.restoreId == STRING
    input.ProviderMetadata.Region == STRING
}

gkebackup.projects.locations.restorePlans.restores.delete

valid {
    input.ReqMap.name == STRING
    input.Qs.etag == STRING
    input.Qs.force == BOOLEAN
    input.ProviderMetadata.Region == STRING
}

gkebackup.projects.locations.restorePlans.restores.get

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

gkebackup.projects.locations.restorePlans.restores.getIamPolicy

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

gkebackup.projects.locations.restorePlans.restores.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
}

gkebackup.projects.locations.restorePlans.restores.patch

valid {
    input.Body.backup == STRING
    input.Body.description == STRING
    input.Body.labels.STRING == STRING
    input.ReqMap.name == STRING
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

gkebackup.projects.locations.restorePlans.restores.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
}

gkebackup.projects.locations.restorePlans.restores.testIamPermissions

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

gkebackup.projects.locations.restorePlans.restores.volumeRestores.get

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

gkebackup.projects.locations.restorePlans.restores.volumeRestores.getIamPolicy

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

gkebackup.projects.locations.restorePlans.restores.volumeRestores.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
}

gkebackup.projects.locations.restorePlans.restores.volumeRestores.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
}

gkebackup.projects.locations.restorePlans.restores.volumeRestores.testIamPermissions

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

gkebackup.projects.locations.restorePlans.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
}

gkebackup.projects.locations.restorePlans.testIamPermissions

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