WORKSTATIONS

workstations.projects.locations.get

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

workstations.projects.locations.list

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

workstations.projects.locations.operations.cancel

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

workstations.projects.locations.operations.delete

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

workstations.projects.locations.operations.get

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

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

workstations.projects.locations.workstationClusters.create

valid {
    input.Body.annotations.STRING == STRING
    input.Body.displayName == STRING
    input.Body.domainConfig.domain == STRING
    input.Body.etag == STRING
    input.Body.labels.STRING == STRING
    input.Body.name == STRING
    input.Body.network == STRING
    input.Body.privateClusterConfig.allowedProjects[_] == STRING
    input.Body.privateClusterConfig.enablePrivateEndpoint == BOOLEAN
    input.Body.subnetwork == STRING
    input.Body.tags.STRING == STRING
    input.ReqMap.parent == STRING
    input.Qs.validateOnly == BOOLEAN
    input.Qs.workstationClusterId == STRING
    input.ProviderMetadata.Region == STRING
}

workstations.projects.locations.workstationClusters.delete

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

workstations.projects.locations.workstationClusters.get

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

workstations.projects.locations.workstationClusters.list

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

workstations.projects.locations.workstationClusters.patch

valid {
    input.Body.annotations.STRING == STRING
    input.Body.displayName == STRING
    input.Body.domainConfig.domain == STRING
    input.Body.etag == STRING
    input.Body.labels.STRING == STRING
    input.Body.name == STRING
    input.Body.network == STRING
    input.Body.privateClusterConfig.allowedProjects[_] == STRING
    input.Body.privateClusterConfig.enablePrivateEndpoint == BOOLEAN
    input.Body.subnetwork == STRING
    input.Body.tags.STRING == STRING
    input.ReqMap.name == STRING
    input.Qs.allowMissing == BOOLEAN
    input.Qs.updateMask == STRING
    input.Qs.validateOnly == BOOLEAN
    input.ProviderMetadata.Region == STRING
}

workstations.projects.locations.workstationClusters.workstationConfigs.create

enum_GceRegionalPersistentDiskReclaimPolicy := [ "RECLAIM_POLICY_UNSPECIFIED", "DELETE", "RETAIN" ]

valid {
    input.Body.allowedPorts[_].first == INTEGER
    input.Body.allowedPorts[_].last == INTEGER
    input.Body.annotations.STRING == STRING
    input.Body.container.args[_] == STRING
    input.Body.container.command[_] == STRING
    input.Body.container.env.STRING == STRING
    input.Body.container.image == STRING
    input.Body.container.runAsUser == INTEGER
    input.Body.container.workingDir == STRING
    input.Body.disableTcpConnections == BOOLEAN
    input.Body.displayName == STRING
    input.Body.enableAuditAgent == BOOLEAN
    input.Body.encryptionKey.kmsKey == STRING
    input.Body.encryptionKey.kmsKeyServiceAccount == STRING
    input.Body.ephemeralDirectories[_].gcePd.diskType == STRING
    input.Body.ephemeralDirectories[_].gcePd.readOnly == BOOLEAN
    input.Body.ephemeralDirectories[_].gcePd.sourceImage == STRING
    input.Body.ephemeralDirectories[_].gcePd.sourceSnapshot == STRING
    input.Body.ephemeralDirectories[_].mountPath == STRING
    input.Body.etag == STRING
    input.Body.grantWorkstationAdminRoleOnCreate == BOOLEAN
    input.Body.host.gceInstance.accelerators[_].count == INTEGER
    input.Body.host.gceInstance.accelerators[_].type == STRING
    input.Body.host.gceInstance.boostConfigs[_].accelerators[_].count == INTEGER
    input.Body.host.gceInstance.boostConfigs[_].accelerators[_].type == STRING
    input.Body.host.gceInstance.boostConfigs[_].bootDiskSizeGb == INTEGER
    input.Body.host.gceInstance.boostConfigs[_].enableNestedVirtualization == BOOLEAN
    input.Body.host.gceInstance.boostConfigs[_].id == STRING
    input.Body.host.gceInstance.boostConfigs[_].machineType == STRING
    input.Body.host.gceInstance.boostConfigs[_].poolSize == INTEGER
    input.Body.host.gceInstance.bootDiskSizeGb == INTEGER
    input.Body.host.gceInstance.confidentialInstanceConfig.enableConfidentialCompute == BOOLEAN
    input.Body.host.gceInstance.disablePublicIpAddresses == BOOLEAN
    input.Body.host.gceInstance.disableSsh == BOOLEAN
    input.Body.host.gceInstance.enableNestedVirtualization == BOOLEAN
    input.Body.host.gceInstance.machineType == STRING
    input.Body.host.gceInstance.poolSize == INTEGER
    input.Body.host.gceInstance.serviceAccount == STRING
    input.Body.host.gceInstance.serviceAccountScopes[_] == STRING
    input.Body.host.gceInstance.shieldedInstanceConfig.enableIntegrityMonitoring == BOOLEAN
    input.Body.host.gceInstance.shieldedInstanceConfig.enableSecureBoot == BOOLEAN
    input.Body.host.gceInstance.shieldedInstanceConfig.enableVtpm == BOOLEAN
    input.Body.host.gceInstance.tags[_] == STRING
    input.Body.host.gceInstance.vmTags.STRING == STRING
    input.Body.idleTimeout == STRING
    input.Body.labels.STRING == STRING
    input.Body.maxUsableWorkstations == INTEGER
    input.Body.name == STRING
    input.Body.persistentDirectories[_].gcePd.diskType == STRING
    input.Body.persistentDirectories[_].gcePd.fsType == STRING
    input.Body.persistentDirectories[_].gcePd.reclaimPolicy == enum_GceRegionalPersistentDiskReclaimPolicy[_]
    input.Body.persistentDirectories[_].gcePd.sizeGb == INTEGER
    input.Body.persistentDirectories[_].gcePd.sourceSnapshot == STRING
    input.Body.persistentDirectories[_].mountPath == STRING
    input.Body.readinessChecks[_].path == STRING
    input.Body.readinessChecks[_].port == INTEGER
    input.Body.replicaZones[_] == STRING
    input.Body.runningTimeout == STRING
    input.ReqMap.parent == STRING
    input.Qs.validateOnly == BOOLEAN
    input.Qs.workstationConfigId == STRING
    input.ProviderMetadata.Region == STRING
}

workstations.projects.locations.workstationClusters.workstationConfigs.delete

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

workstations.projects.locations.workstationClusters.workstationConfigs.get

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

workstations.projects.locations.workstationClusters.workstationConfigs.getIamPolicy

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

workstations.projects.locations.workstationClusters.workstationConfigs.list

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

workstations.projects.locations.workstationClusters.workstationConfigs.listUsable

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

workstations.projects.locations.workstationClusters.workstationConfigs.patch

enum_GceRegionalPersistentDiskReclaimPolicy := [ "RECLAIM_POLICY_UNSPECIFIED", "DELETE", "RETAIN" ]

valid {
    input.Body.allowedPorts[_].first == INTEGER
    input.Body.allowedPorts[_].last == INTEGER
    input.Body.annotations.STRING == STRING
    input.Body.container.args[_] == STRING
    input.Body.container.command[_] == STRING
    input.Body.container.env.STRING == STRING
    input.Body.container.image == STRING
    input.Body.container.runAsUser == INTEGER
    input.Body.container.workingDir == STRING
    input.Body.disableTcpConnections == BOOLEAN
    input.Body.displayName == STRING
    input.Body.enableAuditAgent == BOOLEAN
    input.Body.encryptionKey.kmsKey == STRING
    input.Body.encryptionKey.kmsKeyServiceAccount == STRING
    input.Body.ephemeralDirectories[_].gcePd.diskType == STRING
    input.Body.ephemeralDirectories[_].gcePd.readOnly == BOOLEAN
    input.Body.ephemeralDirectories[_].gcePd.sourceImage == STRING
    input.Body.ephemeralDirectories[_].gcePd.sourceSnapshot == STRING
    input.Body.ephemeralDirectories[_].mountPath == STRING
    input.Body.etag == STRING
    input.Body.grantWorkstationAdminRoleOnCreate == BOOLEAN
    input.Body.host.gceInstance.accelerators[_].count == INTEGER
    input.Body.host.gceInstance.accelerators[_].type == STRING
    input.Body.host.gceInstance.boostConfigs[_].accelerators[_].count == INTEGER
    input.Body.host.gceInstance.boostConfigs[_].accelerators[_].type == STRING
    input.Body.host.gceInstance.boostConfigs[_].bootDiskSizeGb == INTEGER
    input.Body.host.gceInstance.boostConfigs[_].enableNestedVirtualization == BOOLEAN
    input.Body.host.gceInstance.boostConfigs[_].id == STRING
    input.Body.host.gceInstance.boostConfigs[_].machineType == STRING
    input.Body.host.gceInstance.boostConfigs[_].poolSize == INTEGER
    input.Body.host.gceInstance.bootDiskSizeGb == INTEGER
    input.Body.host.gceInstance.confidentialInstanceConfig.enableConfidentialCompute == BOOLEAN
    input.Body.host.gceInstance.disablePublicIpAddresses == BOOLEAN
    input.Body.host.gceInstance.disableSsh == BOOLEAN
    input.Body.host.gceInstance.enableNestedVirtualization == BOOLEAN
    input.Body.host.gceInstance.machineType == STRING
    input.Body.host.gceInstance.poolSize == INTEGER
    input.Body.host.gceInstance.serviceAccount == STRING
    input.Body.host.gceInstance.serviceAccountScopes[_] == STRING
    input.Body.host.gceInstance.shieldedInstanceConfig.enableIntegrityMonitoring == BOOLEAN
    input.Body.host.gceInstance.shieldedInstanceConfig.enableSecureBoot == BOOLEAN
    input.Body.host.gceInstance.shieldedInstanceConfig.enableVtpm == BOOLEAN
    input.Body.host.gceInstance.tags[_] == STRING
    input.Body.host.gceInstance.vmTags.STRING == STRING
    input.Body.idleTimeout == STRING
    input.Body.labels.STRING == STRING
    input.Body.maxUsableWorkstations == INTEGER
    input.Body.name == STRING
    input.Body.persistentDirectories[_].gcePd.diskType == STRING
    input.Body.persistentDirectories[_].gcePd.fsType == STRING
    input.Body.persistentDirectories[_].gcePd.reclaimPolicy == enum_GceRegionalPersistentDiskReclaimPolicy[_]
    input.Body.persistentDirectories[_].gcePd.sizeGb == INTEGER
    input.Body.persistentDirectories[_].gcePd.sourceSnapshot == STRING
    input.Body.persistentDirectories[_].mountPath == STRING
    input.Body.readinessChecks[_].path == STRING
    input.Body.readinessChecks[_].port == INTEGER
    input.Body.replicaZones[_] == STRING
    input.Body.runningTimeout == STRING
    input.ReqMap.name == STRING
    input.Qs.allowMissing == BOOLEAN
    input.Qs.updateMask == STRING
    input.Qs.validateOnly == BOOLEAN
    input.ProviderMetadata.Region == STRING
}

workstations.projects.locations.workstationClusters.workstationConfigs.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
}

workstations.projects.locations.workstationClusters.workstationConfigs.testIamPermissions

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

workstations.projects.locations.workstationClusters.workstationConfigs.workstations.create

valid {
    input.Body.annotations.STRING == STRING
    input.Body.displayName == STRING
    input.Body.env.STRING == STRING
    input.Body.etag == STRING
    input.Body.labels.STRING == STRING
    input.Body.name == STRING
    input.ReqMap.parent == STRING
    input.Qs.validateOnly == BOOLEAN
    input.Qs.workstationId == STRING
    input.ProviderMetadata.Region == STRING
}

workstations.projects.locations.workstationClusters.workstationConfigs.workstations.delete

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

workstations.projects.locations.workstationClusters.workstationConfigs.workstations.generateAccessToken

valid {
    input.Body.expireTime == STRING
    input.Body.port == INTEGER
    input.Body.ttl == STRING
    input.ReqMap.workstation == STRING
    input.ProviderMetadata.Region == STRING
}

workstations.projects.locations.workstationClusters.workstationConfigs.workstations.get

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

workstations.projects.locations.workstationClusters.workstationConfigs.workstations.getIamPolicy

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

workstations.projects.locations.workstationClusters.workstationConfigs.workstations.list

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

workstations.projects.locations.workstationClusters.workstationConfigs.workstations.listUsable

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

workstations.projects.locations.workstationClusters.workstationConfigs.workstations.patch

valid {
    input.Body.annotations.STRING == STRING
    input.Body.displayName == STRING
    input.Body.env.STRING == STRING
    input.Body.etag == STRING
    input.Body.labels.STRING == STRING
    input.Body.name == STRING
    input.ReqMap.name == STRING
    input.Qs.allowMissing == BOOLEAN
    input.Qs.updateMask == STRING
    input.Qs.validateOnly == BOOLEAN
    input.ProviderMetadata.Region == STRING
}

workstations.projects.locations.workstationClusters.workstationConfigs.workstations.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
}

workstations.projects.locations.workstationClusters.workstationConfigs.workstations.start

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

workstations.projects.locations.workstationClusters.workstationConfigs.workstations.stop

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

workstations.projects.locations.workstationClusters.workstationConfigs.workstations.testIamPermissions

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