tpu.projects.locations.acceleratorTypes.get

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

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

tpu.projects.locations.generateServiceIdentity

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

tpu.projects.locations.get

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

tpu.projects.locations.list

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

tpu.projects.locations.nodes.create

enum_AcceleratorConfigType := [ "TYPE_UNSPECIFIED", "V2", "V3", "V4", "V5LITE_POD", "V5P", "V6E" ]
enum_AttachedDiskMode := [ "DISK_MODE_UNSPECIFIED", "READ_WRITE", "READ_ONLY" ]
enum_NodeHealth := [ "HEALTH_UNSPECIFIED", "HEALTHY", "TIMEOUT", "UNHEALTHY_TENSORFLOW", "UNHEALTHY_MAINTENANCE" ]

valid {
    input.Body.acceleratorConfig.topology == STRING
    input.Body.acceleratorConfig.type == enum_AcceleratorConfigType[_]
    input.Body.acceleratorType == STRING
    input.Body.cidrBlock == STRING
    input.Body.dataDisks[_].mode == enum_AttachedDiskMode[_]
    input.Body.dataDisks[_].sourceDisk == STRING
    input.Body.description == STRING
    input.Body.health == enum_NodeHealth[_]
    input.Body.labels.STRING == STRING
    input.Body.metadata.STRING == STRING
    input.Body.networkConfig.canIpForward == BOOLEAN
    input.Body.networkConfig.enableExternalIps == BOOLEAN
    input.Body.networkConfig.network == STRING
    input.Body.networkConfig.queueCount == INTEGER
    input.Body.networkConfig.subnetwork == STRING
    input.Body.runtimeVersion == STRING
    input.Body.schedulingConfig.preemptible == BOOLEAN
    input.Body.schedulingConfig.reserved == BOOLEAN
    input.Body.schedulingConfig.spot == BOOLEAN
    input.Body.serviceAccount.email == STRING
    input.Body.serviceAccount.scope[_] == STRING
    input.Body.shieldedInstanceConfig.enableSecureBoot == BOOLEAN
    input.Body.tags[_] == STRING
    input.ReqMap.parent == STRING
    input.Qs.nodeId == STRING
    input.ProviderMetadata.Region == STRING
}

tpu.projects.locations.nodes.delete

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

tpu.projects.locations.nodes.get

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

tpu.projects.locations.nodes.getGuestAttributes

valid {
    input.Body.queryPath == STRING
    input.Body.workerIds[_] == STRING
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

tpu.projects.locations.nodes.list

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

tpu.projects.locations.nodes.patch

enum_AcceleratorConfigType := [ "TYPE_UNSPECIFIED", "V2", "V3", "V4", "V5LITE_POD", "V5P", "V6E" ]
enum_AttachedDiskMode := [ "DISK_MODE_UNSPECIFIED", "READ_WRITE", "READ_ONLY" ]
enum_NodeHealth := [ "HEALTH_UNSPECIFIED", "HEALTHY", "TIMEOUT", "UNHEALTHY_TENSORFLOW", "UNHEALTHY_MAINTENANCE" ]

valid {
    input.Body.acceleratorConfig.topology == STRING
    input.Body.acceleratorConfig.type == enum_AcceleratorConfigType[_]
    input.Body.acceleratorType == STRING
    input.Body.cidrBlock == STRING
    input.Body.dataDisks[_].mode == enum_AttachedDiskMode[_]
    input.Body.dataDisks[_].sourceDisk == STRING
    input.Body.description == STRING
    input.Body.health == enum_NodeHealth[_]
    input.Body.labels.STRING == STRING
    input.Body.metadata.STRING == STRING
    input.Body.networkConfig.canIpForward == BOOLEAN
    input.Body.networkConfig.enableExternalIps == BOOLEAN
    input.Body.networkConfig.network == STRING
    input.Body.networkConfig.queueCount == INTEGER
    input.Body.networkConfig.subnetwork == STRING
    input.Body.runtimeVersion == STRING
    input.Body.schedulingConfig.preemptible == BOOLEAN
    input.Body.schedulingConfig.reserved == BOOLEAN
    input.Body.schedulingConfig.spot == BOOLEAN
    input.Body.serviceAccount.email == STRING
    input.Body.serviceAccount.scope[_] == STRING
    input.Body.shieldedInstanceConfig.enableSecureBoot == BOOLEAN
    input.Body.tags[_] == STRING
    input.ReqMap.name == STRING
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

tpu.projects.locations.nodes.performMaintenance

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

tpu.projects.locations.nodes.reimage

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

tpu.projects.locations.nodes.simulateMaintenanceEvent

valid {
    input.Body.workerIds[_] == STRING
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

tpu.projects.locations.nodes.start

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

tpu.projects.locations.nodes.stop

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

tpu.projects.locations.operations.cancel

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

tpu.projects.locations.operations.delete

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

tpu.projects.locations.operations.get

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

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

tpu.projects.locations.queuedResources.create

enum_AcceleratorConfigType := [ "TYPE_UNSPECIFIED", "V2", "V3", "V4", "V5LITE_POD", "V5P", "V6E" ]
enum_AttachedDiskMode := [ "DISK_MODE_UNSPECIFIED", "READ_WRITE", "READ_ONLY" ]
enum_NodeHealth := [ "HEALTH_UNSPECIFIED", "HEALTHY", "TIMEOUT", "UNHEALTHY_TENSORFLOW", "UNHEALTHY_MAINTENANCE" ]

valid {
    input.Body.guaranteed.minDuration == STRING
    input.Body.queueingPolicy.validAfterDuration == STRING
    input.Body.queueingPolicy.validAfterTime == STRING
    input.Body.queueingPolicy.validInterval.endTime == STRING
    input.Body.queueingPolicy.validInterval.startTime == STRING
    input.Body.queueingPolicy.validUntilDuration == STRING
    input.Body.queueingPolicy.validUntilTime == STRING
    input.Body.reservationName == STRING
    input.Body.spot.STRING == STRING
    input.Body.tpu.nodeSpec[_].multisliceParams.nodeCount == INTEGER
    input.Body.tpu.nodeSpec[_].multisliceParams.nodeIdPrefix == STRING
    input.Body.tpu.nodeSpec[_].node.acceleratorConfig.topology == STRING
    input.Body.tpu.nodeSpec[_].node.acceleratorConfig.type == enum_AcceleratorConfigType[_]
    input.Body.tpu.nodeSpec[_].node.acceleratorType == STRING
    input.Body.tpu.nodeSpec[_].node.cidrBlock == STRING
    input.Body.tpu.nodeSpec[_].node.dataDisks[_].mode == enum_AttachedDiskMode[_]
    input.Body.tpu.nodeSpec[_].node.dataDisks[_].sourceDisk == STRING
    input.Body.tpu.nodeSpec[_].node.description == STRING
    input.Body.tpu.nodeSpec[_].node.health == enum_NodeHealth[_]
    input.Body.tpu.nodeSpec[_].node.labels.STRING == STRING
    input.Body.tpu.nodeSpec[_].node.metadata.STRING == STRING
    input.Body.tpu.nodeSpec[_].node.networkConfig.canIpForward == BOOLEAN
    input.Body.tpu.nodeSpec[_].node.networkConfig.enableExternalIps == BOOLEAN
    input.Body.tpu.nodeSpec[_].node.networkConfig.network == STRING
    input.Body.tpu.nodeSpec[_].node.networkConfig.queueCount == INTEGER
    input.Body.tpu.nodeSpec[_].node.networkConfig.subnetwork == STRING
    input.Body.tpu.nodeSpec[_].node.runtimeVersion == STRING
    input.Body.tpu.nodeSpec[_].node.schedulingConfig.preemptible == BOOLEAN
    input.Body.tpu.nodeSpec[_].node.schedulingConfig.reserved == BOOLEAN
    input.Body.tpu.nodeSpec[_].node.schedulingConfig.spot == BOOLEAN
    input.Body.tpu.nodeSpec[_].node.serviceAccount.email == STRING
    input.Body.tpu.nodeSpec[_].node.serviceAccount.scope[_] == STRING
    input.Body.tpu.nodeSpec[_].node.shieldedInstanceConfig.enableSecureBoot == BOOLEAN
    input.Body.tpu.nodeSpec[_].node.tags[_] == STRING
    input.Body.tpu.nodeSpec[_].nodeId == STRING
    input.Body.tpu.nodeSpec[_].parent == STRING
    input.ReqMap.parent == STRING
    input.Qs.queuedResourceId == STRING
    input.Qs.requestId == STRING
    input.ProviderMetadata.Region == STRING
}

tpu.projects.locations.queuedResources.delete

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

tpu.projects.locations.queuedResources.get

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

tpu.projects.locations.queuedResources.list

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

tpu.projects.locations.queuedResources.performMaintenanceQueuedResource

valid {
    input.Body.nodeNames[_] == STRING
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

tpu.projects.locations.queuedResources.reset

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

tpu.projects.locations.reservations.list

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

tpu.projects.locations.runtimeVersions.get

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

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

tpu.projects.locations.tensorflowVersions.get

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

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