file.projects.locations.backups.create

valid {
    input.Body.description == STRING
    input.Body.kmsKey == STRING
    input.Body.labels.STRING == STRING
    input.Body.sourceFileShare == STRING
    input.Body.sourceInstance == STRING
    input.Body.tags.STRING == STRING
    input.ReqMap.parent == STRING
    input.Qs.backupId == STRING
    input.ProviderMetadata.Region == STRING
}

file.projects.locations.backups.delete

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

file.projects.locations.backups.get

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

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

file.projects.locations.backups.patch

valid {
    input.Body.description == STRING
    input.Body.kmsKey == STRING
    input.Body.labels.STRING == STRING
    input.Body.sourceFileShare == STRING
    input.Body.sourceInstance == STRING
    input.Body.tags.STRING == STRING
    input.ReqMap.name == STRING
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

file.projects.locations.get

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

file.projects.locations.instances.create

enum_InstanceProtocol := [ "FILE_PROTOCOL_UNSPECIFIED", "NFS_V3", "NFS_V4_1" ]
enum_InstanceTier := [ "TIER_UNSPECIFIED", "STANDARD", "PREMIUM", "BASIC_HDD", "BASIC_SSD", "HIGH_SCALE_SSD", "ENTERPRISE", "ZONAL", "REGIONAL" ]
enum_NetworkConfigConnectMode := [ "CONNECT_MODE_UNSPECIFIED", "DIRECT_PEERING", "PRIVATE_SERVICE_ACCESS" ]
enum_NetworkConfigModes := [ "ADDRESS_MODE_UNSPECIFIED", "MODE_IPV4" ]
enum_NfsExportOptionsAccessMode := [ "ACCESS_MODE_UNSPECIFIED", "READ_ONLY", "READ_WRITE" ]
enum_NfsExportOptionsSquashMode := [ "SQUASH_MODE_UNSPECIFIED", "NO_ROOT_SQUASH", "ROOT_SQUASH" ]
enum_ReplicationRole := [ "ROLE_UNSPECIFIED", "ACTIVE", "STANDBY" ]

valid {
    input.Body.deletionProtectionEnabled == BOOLEAN
    input.Body.deletionProtectionReason == STRING
    input.Body.description == STRING
    input.Body.etag == STRING
    input.Body.fileShares[_].capacityGb == STRING
    input.Body.fileShares[_].name == STRING
    input.Body.fileShares[_].nfsExportOptions[_].accessMode == enum_NfsExportOptionsAccessMode[_]
    input.Body.fileShares[_].nfsExportOptions[_].anonGid == STRING
    input.Body.fileShares[_].nfsExportOptions[_].anonUid == STRING
    input.Body.fileShares[_].nfsExportOptions[_].ipRanges[_] == STRING
    input.Body.fileShares[_].nfsExportOptions[_].squashMode == enum_NfsExportOptionsSquashMode[_]
    input.Body.fileShares[_].sourceBackup == STRING
    input.Body.kmsKeyName == STRING
    input.Body.labels.STRING == STRING
    input.Body.networks[_].connectMode == enum_NetworkConfigConnectMode[_]
    input.Body.networks[_].modes[_] == enum_NetworkConfigModes[_]
    input.Body.networks[_].network == STRING
    input.Body.networks[_].reservedIpRange == STRING
    input.Body.performanceConfig.fixedIops.maxIops == STRING
    input.Body.performanceConfig.fixedIops.maxReadIops == STRING
    input.Body.performanceConfig.iopsPerTb.maxIopsPerTb == STRING
    input.Body.performanceConfig.iopsPerTb.maxReadIopsPerTb == STRING
    input.Body.protocol == enum_InstanceProtocol[_]
    input.Body.replication.replicas[_].peerInstance == STRING
    input.Body.replication.role == enum_ReplicationRole[_]
    input.Body.tags.STRING == STRING
    input.Body.tier == enum_InstanceTier[_]
    input.ReqMap.parent == STRING
    input.Qs.instanceId == STRING
    input.ProviderMetadata.Region == STRING
}

file.projects.locations.instances.delete

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

file.projects.locations.instances.get

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

file.projects.locations.instances.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
}

file.projects.locations.instances.patch

enum_InstanceProtocol := [ "FILE_PROTOCOL_UNSPECIFIED", "NFS_V3", "NFS_V4_1" ]
enum_InstanceTier := [ "TIER_UNSPECIFIED", "STANDARD", "PREMIUM", "BASIC_HDD", "BASIC_SSD", "HIGH_SCALE_SSD", "ENTERPRISE", "ZONAL", "REGIONAL" ]
enum_NetworkConfigConnectMode := [ "CONNECT_MODE_UNSPECIFIED", "DIRECT_PEERING", "PRIVATE_SERVICE_ACCESS" ]
enum_NetworkConfigModes := [ "ADDRESS_MODE_UNSPECIFIED", "MODE_IPV4" ]
enum_NfsExportOptionsAccessMode := [ "ACCESS_MODE_UNSPECIFIED", "READ_ONLY", "READ_WRITE" ]
enum_NfsExportOptionsSquashMode := [ "SQUASH_MODE_UNSPECIFIED", "NO_ROOT_SQUASH", "ROOT_SQUASH" ]
enum_ReplicationRole := [ "ROLE_UNSPECIFIED", "ACTIVE", "STANDBY" ]

valid {
    input.Body.deletionProtectionEnabled == BOOLEAN
    input.Body.deletionProtectionReason == STRING
    input.Body.description == STRING
    input.Body.etag == STRING
    input.Body.fileShares[_].capacityGb == STRING
    input.Body.fileShares[_].name == STRING
    input.Body.fileShares[_].nfsExportOptions[_].accessMode == enum_NfsExportOptionsAccessMode[_]
    input.Body.fileShares[_].nfsExportOptions[_].anonGid == STRING
    input.Body.fileShares[_].nfsExportOptions[_].anonUid == STRING
    input.Body.fileShares[_].nfsExportOptions[_].ipRanges[_] == STRING
    input.Body.fileShares[_].nfsExportOptions[_].squashMode == enum_NfsExportOptionsSquashMode[_]
    input.Body.fileShares[_].sourceBackup == STRING
    input.Body.kmsKeyName == STRING
    input.Body.labels.STRING == STRING
    input.Body.networks[_].connectMode == enum_NetworkConfigConnectMode[_]
    input.Body.networks[_].modes[_] == enum_NetworkConfigModes[_]
    input.Body.networks[_].network == STRING
    input.Body.networks[_].reservedIpRange == STRING
    input.Body.performanceConfig.fixedIops.maxIops == STRING
    input.Body.performanceConfig.fixedIops.maxReadIops == STRING
    input.Body.performanceConfig.iopsPerTb.maxIopsPerTb == STRING
    input.Body.performanceConfig.iopsPerTb.maxReadIopsPerTb == STRING
    input.Body.protocol == enum_InstanceProtocol[_]
    input.Body.replication.replicas[_].peerInstance == STRING
    input.Body.replication.role == enum_ReplicationRole[_]
    input.Body.tags.STRING == STRING
    input.Body.tier == enum_InstanceTier[_]
    input.ReqMap.name == STRING
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

file.projects.locations.instances.promoteReplica

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

file.projects.locations.instances.restore

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

file.projects.locations.instances.revert

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

file.projects.locations.instances.shares.create

enum_NfsExportOptionsAccessMode := [ "ACCESS_MODE_UNSPECIFIED", "READ_ONLY", "READ_WRITE" ]
enum_NfsExportOptionsSecurityFlavors := [ "SECURITY_FLAVOR_UNSPECIFIED", "AUTH_SYS", "KRB5", "KRB5I", "KRB5P" ]
enum_NfsExportOptionsSquashMode := [ "SQUASH_MODE_UNSPECIFIED", "NO_ROOT_SQUASH", "ROOT_SQUASH" ]

valid {
    input.Body.backup == STRING
    input.Body.capacityGb == STRING
    input.Body.description == STRING
    input.Body.labels.STRING == STRING
    input.Body.mountName == STRING
    input.Body.nfsExportOptions[_].accessMode == enum_NfsExportOptionsAccessMode[_]
    input.Body.nfsExportOptions[_].anonGid == STRING
    input.Body.nfsExportOptions[_].anonUid == STRING
    input.Body.nfsExportOptions[_].ipRanges[_] == STRING
    input.Body.nfsExportOptions[_].securityFlavors[_] == enum_NfsExportOptionsSecurityFlavors[_]
    input.Body.nfsExportOptions[_].squashMode == enum_NfsExportOptionsSquashMode[_]
    input.ReqMap.parent == STRING
    input.Qs.shareId == STRING
    input.ProviderMetadata.Region == STRING
}

file.projects.locations.instances.shares.delete

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

file.projects.locations.instances.shares.get

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

file.projects.locations.instances.shares.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
}

file.projects.locations.instances.shares.patch

enum_NfsExportOptionsAccessMode := [ "ACCESS_MODE_UNSPECIFIED", "READ_ONLY", "READ_WRITE" ]
enum_NfsExportOptionsSecurityFlavors := [ "SECURITY_FLAVOR_UNSPECIFIED", "AUTH_SYS", "KRB5", "KRB5I", "KRB5P" ]
enum_NfsExportOptionsSquashMode := [ "SQUASH_MODE_UNSPECIFIED", "NO_ROOT_SQUASH", "ROOT_SQUASH" ]

valid {
    input.Body.backup == STRING
    input.Body.capacityGb == STRING
    input.Body.description == STRING
    input.Body.labels.STRING == STRING
    input.Body.mountName == STRING
    input.Body.nfsExportOptions[_].accessMode == enum_NfsExportOptionsAccessMode[_]
    input.Body.nfsExportOptions[_].anonGid == STRING
    input.Body.nfsExportOptions[_].anonUid == STRING
    input.Body.nfsExportOptions[_].ipRanges[_] == STRING
    input.Body.nfsExportOptions[_].securityFlavors[_] == enum_NfsExportOptionsSecurityFlavors[_]
    input.Body.nfsExportOptions[_].squashMode == enum_NfsExportOptionsSquashMode[_]
    input.ReqMap.name == STRING
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

file.projects.locations.instances.snapshots.create

valid {
    input.Body.description == STRING
    input.Body.labels.STRING == STRING
    input.Body.tags.STRING == STRING
    input.ReqMap.parent == STRING
    input.Qs.snapshotId == STRING
    input.ProviderMetadata.Region == STRING
}

file.projects.locations.instances.snapshots.delete

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

file.projects.locations.instances.snapshots.get

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

file.projects.locations.instances.snapshots.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
}

file.projects.locations.instances.snapshots.patch

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

file.projects.locations.list

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

file.projects.locations.operations.cancel

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

file.projects.locations.operations.delete

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

file.projects.locations.operations.get

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

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