BLOCKCHAINNODEENGINE

blockchainnodeengine.projects.locations.blockchainNodes.create

enum_BlockchainNodeBlockchainType := [ "BLOCKCHAIN_TYPE_UNSPECIFIED", "ETHEREUM" ]
enum_EthereumDetailsConsensusClient := [ "CONSENSUS_CLIENT_UNSPECIFIED", "LIGHTHOUSE", "ERIGON_EMBEDDED_CONSENSUS_LAYER" ]
enum_EthereumDetailsExecutionClient := [ "EXECUTION_CLIENT_UNSPECIFIED", "GETH", "ERIGON" ]
enum_EthereumDetailsNetwork := [ "NETWORK_UNSPECIFIED", "MAINNET", "TESTNET_GOERLI_PRATER", "TESTNET_SEPOLIA", "TESTNET_HOLESKY" ]
enum_EthereumDetailsNodeType := [ "NODE_TYPE_UNSPECIFIED", "LIGHT", "FULL", "ARCHIVE" ]
enum_GethDetailsGarbageCollectionMode := [ "GARBAGE_COLLECTION_MODE_UNSPECIFIED", "FULL", "ARCHIVE" ]

valid {
    input.Body.blockchainType == enum_BlockchainNodeBlockchainType[_]
    input.Body.ethereumDetails.apiEnableAdmin == BOOLEAN
    input.Body.ethereumDetails.apiEnableDebug == BOOLEAN
    input.Body.ethereumDetails.consensusClient == enum_EthereumDetailsConsensusClient[_]
    input.Body.ethereumDetails.executionClient == enum_EthereumDetailsExecutionClient[_]
    input.Body.ethereumDetails.gethDetails.garbageCollectionMode == enum_GethDetailsGarbageCollectionMode[_]
    input.Body.ethereumDetails.network == enum_EthereumDetailsNetwork[_]
    input.Body.ethereumDetails.nodeType == enum_EthereumDetailsNodeType[_]
    input.Body.ethereumDetails.validatorConfig.beaconFeeRecipient == STRING
    input.Body.ethereumDetails.validatorConfig.managedValidatorClient == BOOLEAN
    input.Body.ethereumDetails.validatorConfig.mevRelayUrls[_] == STRING
    input.Body.labels.STRING == STRING
    input.Body.privateServiceConnectEnabled == BOOLEAN
    input.ReqMap.parent == STRING
    input.Qs.blockchainNodeId == STRING
    input.Qs.requestId == STRING
    input.ProviderMetadata.Region == STRING
}

blockchainnodeengine.projects.locations.blockchainNodes.delete

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

blockchainnodeengine.projects.locations.blockchainNodes.get

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

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

blockchainnodeengine.projects.locations.blockchainNodes.patch

enum_BlockchainNodeBlockchainType := [ "BLOCKCHAIN_TYPE_UNSPECIFIED", "ETHEREUM" ]
enum_EthereumDetailsConsensusClient := [ "CONSENSUS_CLIENT_UNSPECIFIED", "LIGHTHOUSE", "ERIGON_EMBEDDED_CONSENSUS_LAYER" ]
enum_EthereumDetailsExecutionClient := [ "EXECUTION_CLIENT_UNSPECIFIED", "GETH", "ERIGON" ]
enum_EthereumDetailsNetwork := [ "NETWORK_UNSPECIFIED", "MAINNET", "TESTNET_GOERLI_PRATER", "TESTNET_SEPOLIA", "TESTNET_HOLESKY" ]
enum_EthereumDetailsNodeType := [ "NODE_TYPE_UNSPECIFIED", "LIGHT", "FULL", "ARCHIVE" ]
enum_GethDetailsGarbageCollectionMode := [ "GARBAGE_COLLECTION_MODE_UNSPECIFIED", "FULL", "ARCHIVE" ]

valid {
    input.Body.blockchainType == enum_BlockchainNodeBlockchainType[_]
    input.Body.ethereumDetails.apiEnableAdmin == BOOLEAN
    input.Body.ethereumDetails.apiEnableDebug == BOOLEAN
    input.Body.ethereumDetails.consensusClient == enum_EthereumDetailsConsensusClient[_]
    input.Body.ethereumDetails.executionClient == enum_EthereumDetailsExecutionClient[_]
    input.Body.ethereumDetails.gethDetails.garbageCollectionMode == enum_GethDetailsGarbageCollectionMode[_]
    input.Body.ethereumDetails.network == enum_EthereumDetailsNetwork[_]
    input.Body.ethereumDetails.nodeType == enum_EthereumDetailsNodeType[_]
    input.Body.ethereumDetails.validatorConfig.beaconFeeRecipient == STRING
    input.Body.ethereumDetails.validatorConfig.managedValidatorClient == BOOLEAN
    input.Body.ethereumDetails.validatorConfig.mevRelayUrls[_] == STRING
    input.Body.labels.STRING == STRING
    input.Body.privateServiceConnectEnabled == BOOLEAN
    input.ReqMap.name == STRING
    input.Qs.requestId == STRING
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

blockchainnodeengine.projects.locations.get

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

blockchainnodeengine.projects.locations.list

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

blockchainnodeengine.projects.locations.operations.cancel

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

blockchainnodeengine.projects.locations.operations.delete

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

blockchainnodeengine.projects.locations.operations.get

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

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