BAREMETALSOLUTION

baremetalsolution.operations.cancel

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

baremetalsolution.operations.delete

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

baremetalsolution.operations.get

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

baremetalsolution.operations.list

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

baremetalsolution.projects.locations.get

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

baremetalsolution.projects.locations.instances.detachLun

valid {
    input.Body.lun == STRING
    input.Body.skipReboot == BOOLEAN
    input.ReqMap.instance == STRING
    input.ProviderMetadata.Region == STRING
}

baremetalsolution.projects.locations.instances.disableInteractiveSerialConsole

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

baremetalsolution.projects.locations.instances.enableInteractiveSerialConsole

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

baremetalsolution.projects.locations.instances.get

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

baremetalsolution.projects.locations.instances.list

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

baremetalsolution.projects.locations.instances.loadAuthInfo

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

baremetalsolution.projects.locations.instances.patch

enum_InstanceWorkloadProfile := [ "WORKLOAD_PROFILE_UNSPECIFIED", "WORKLOAD_PROFILE_GENERIC", "WORKLOAD_PROFILE_HANA" ]
enum_LogicalNetworkInterfaceNetworkType := [ "TYPE_UNSPECIFIED", "CLIENT", "PRIVATE" ]
enum_LunMultiprotocolType := [ "MULTIPROTOCOL_TYPE_UNSPECIFIED", "LINUX" ]
enum_LunState := [ "STATE_UNSPECIFIED", "CREATING", "UPDATING", "READY", "DELETING", "COOL_OFF" ]
enum_LunStorageType := [ "STORAGE_TYPE_UNSPECIFIED", "SSD", "HDD" ]
enum_VolumePerformanceTier := [ "VOLUME_PERFORMANCE_TIER_UNSPECIFIED", "VOLUME_PERFORMANCE_TIER_SHARED", "VOLUME_PERFORMANCE_TIER_ASSIGNED", "VOLUME_PERFORMANCE_TIER_HT", "VOLUME_PERFORMANCE_TIER_QOS2_PERFORMANCE" ]
enum_VolumeSnapshotAutoDeleteBehavior := [ "SNAPSHOT_AUTO_DELETE_BEHAVIOR_UNSPECIFIED", "DISABLED", "OLDEST_FIRST", "NEWEST_FIRST" ]
enum_VolumeState := [ "STATE_UNSPECIFIED", "CREATING", "READY", "DELETING", "UPDATING", "COOL_OFF" ]
enum_VolumeStorageType := [ "STORAGE_TYPE_UNSPECIFIED", "SSD", "HDD" ]
enum_VolumeWorkloadProfile := [ "WORKLOAD_PROFILE_UNSPECIFIED", "GENERIC", "HANA" ]

valid {
    input.Body.hyperthreadingEnabled == BOOLEAN
    input.Body.kmsKeyVersion == STRING
    input.Body.labels.STRING == STRING
    input.Body.logicalInterfaces[_].interfaceIndex == INTEGER
    input.Body.logicalInterfaces[_].logicalNetworkInterfaces[_].defaultGateway == BOOLEAN
    input.Body.logicalInterfaces[_].logicalNetworkInterfaces[_].id == STRING
    input.Body.logicalInterfaces[_].logicalNetworkInterfaces[_].ipAddress == STRING
    input.Body.logicalInterfaces[_].logicalNetworkInterfaces[_].network == STRING
    input.Body.logicalInterfaces[_].logicalNetworkInterfaces[_].networkType == enum_LogicalNetworkInterfaceNetworkType[_]
    input.Body.logicalInterfaces[_].name == STRING
    input.Body.luns[_].bootLun == BOOLEAN
    input.Body.luns[_].id == STRING
    input.Body.luns[_].multiprotocolType == enum_LunMultiprotocolType[_]
    input.Body.luns[_].shareable == BOOLEAN
    input.Body.luns[_].sizeGb == STRING
    input.Body.luns[_].state == enum_LunState[_]
    input.Body.luns[_].storageType == enum_LunStorageType[_]
    input.Body.luns[_].storageVolume == STRING
    input.Body.luns[_].wwid == STRING
    input.Body.machineType == STRING
    input.Body.name == STRING
    input.Body.networkTemplate == STRING
    input.Body.osImage == STRING
    input.Body.pod == STRING
    input.Body.sshKeys[_] == STRING
    input.Body.volumes[_].autoGrownSizeGib == STRING
    input.Body.volumes[_].currentSizeGib == STRING
    input.Body.volumes[_].emergencySizeGib == STRING
    input.Body.volumes[_].id == STRING
    input.Body.volumes[_].labels.STRING == STRING
    input.Body.volumes[_].maxSizeGib == STRING
    input.Body.volumes[_].notes == STRING
    input.Body.volumes[_].originallyRequestedSizeGib == STRING
    input.Body.volumes[_].performanceTier == enum_VolumePerformanceTier[_]
    input.Body.volumes[_].pod == STRING
    input.Body.volumes[_].remainingSpaceGib == STRING
    input.Body.volumes[_].requestedSizeGib == STRING
    input.Body.volumes[_].snapshotAutoDeleteBehavior == enum_VolumeSnapshotAutoDeleteBehavior[_]
    input.Body.volumes[_].snapshotEnabled == BOOLEAN
    input.Body.volumes[_].snapshotReservationDetail.reservedSpaceGib == STRING
    input.Body.volumes[_].snapshotReservationDetail.reservedSpacePercent == INTEGER
    input.Body.volumes[_].snapshotReservationDetail.reservedSpaceRemainingGib == STRING
    input.Body.volumes[_].snapshotReservationDetail.reservedSpaceUsedPercent == INTEGER
    input.Body.volumes[_].state == enum_VolumeState[_]
    input.Body.volumes[_].storageType == enum_VolumeStorageType[_]
    input.Body.volumes[_].workloadProfile == enum_VolumeWorkloadProfile[_]
    input.Body.workloadProfile == enum_InstanceWorkloadProfile[_]
    input.ReqMap.name == STRING
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

baremetalsolution.projects.locations.instances.rename

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

baremetalsolution.projects.locations.instances.reset

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

baremetalsolution.projects.locations.instances.start

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

baremetalsolution.projects.locations.instances.stop

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

baremetalsolution.projects.locations.list

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

baremetalsolution.projects.locations.networks.get

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

baremetalsolution.projects.locations.networks.list

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

baremetalsolution.projects.locations.networks.listNetworkUsage

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

baremetalsolution.projects.locations.networks.patch

enum_NetworkState := [ "STATE_UNSPECIFIED", "PROVISIONING", "PROVISIONED", "DEPROVISIONING", "UPDATING" ]
enum_NetworkType := [ "TYPE_UNSPECIFIED", "CLIENT", "PRIVATE" ]
enum_VRFState := [ "STATE_UNSPECIFIED", "PROVISIONING", "PROVISIONED" ]

valid {
    input.Body.cidr == STRING
    input.Body.id == STRING
    input.Body.ipAddress == STRING
    input.Body.jumboFramesEnabled == BOOLEAN
    input.Body.labels.STRING == STRING
    input.Body.macAddress[_] == STRING
    input.Body.mountPoints[_].defaultGateway == BOOLEAN
    input.Body.mountPoints[_].instance == STRING
    input.Body.mountPoints[_].ipAddress == STRING
    input.Body.mountPoints[_].logicalInterface == STRING
    input.Body.pod == STRING
    input.Body.reservations[_].endAddress == STRING
    input.Body.reservations[_].note == STRING
    input.Body.reservations[_].startAddress == STRING
    input.Body.servicesCidr == STRING
    input.Body.state == enum_NetworkState[_]
    input.Body.type == enum_NetworkType[_]
    input.Body.vlanId == STRING
    input.Body.vrf.name == STRING
    input.Body.vrf.qosPolicy.bandwidthGbps == NUMBER
    input.Body.vrf.state == enum_VRFState[_]
    input.Body.vrf.vlanAttachments[_].id == STRING
    input.Body.vrf.vlanAttachments[_].interconnectAttachment == STRING
    input.Body.vrf.vlanAttachments[_].pairingKey == STRING
    input.Body.vrf.vlanAttachments[_].peerIp == STRING
    input.Body.vrf.vlanAttachments[_].peerVlanId == STRING
    input.Body.vrf.vlanAttachments[_].qosPolicy.bandwidthGbps == NUMBER
    input.Body.vrf.vlanAttachments[_].routerIp == STRING
    input.Body.vrfAttachment == STRING
    input.ReqMap.name == STRING
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

baremetalsolution.projects.locations.networks.rename

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

baremetalsolution.projects.locations.nfsShares.create

enum_AllowedClientMountPermissions := [ "MOUNT_PERMISSIONS_UNSPECIFIED", "READ", "READ_WRITE" ]
enum_NfsShareStorageType := [ "STORAGE_TYPE_UNSPECIFIED", "SSD", "HDD" ]

valid {
    input.Body.allowedClients[_].allowDev == BOOLEAN
    input.Body.allowedClients[_].allowSuid == BOOLEAN
    input.Body.allowedClients[_].allowedClientsCidr == STRING
    input.Body.allowedClients[_].mountPermissions == enum_AllowedClientMountPermissions[_]
    input.Body.allowedClients[_].network == STRING
    input.Body.allowedClients[_].noRootSquash == BOOLEAN
    input.Body.labels.STRING == STRING
    input.Body.name == STRING
    input.Body.pod == STRING
    input.Body.requestedSizeGib == STRING
    input.Body.storageType == enum_NfsShareStorageType[_]
    input.ReqMap.parent == STRING
    input.ProviderMetadata.Region == STRING
}

baremetalsolution.projects.locations.nfsShares.delete

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

baremetalsolution.projects.locations.nfsShares.get

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

baremetalsolution.projects.locations.nfsShares.list

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

baremetalsolution.projects.locations.nfsShares.patch

enum_AllowedClientMountPermissions := [ "MOUNT_PERMISSIONS_UNSPECIFIED", "READ", "READ_WRITE" ]
enum_NfsShareStorageType := [ "STORAGE_TYPE_UNSPECIFIED", "SSD", "HDD" ]

valid {
    input.Body.allowedClients[_].allowDev == BOOLEAN
    input.Body.allowedClients[_].allowSuid == BOOLEAN
    input.Body.allowedClients[_].allowedClientsCidr == STRING
    input.Body.allowedClients[_].mountPermissions == enum_AllowedClientMountPermissions[_]
    input.Body.allowedClients[_].network == STRING
    input.Body.allowedClients[_].noRootSquash == BOOLEAN
    input.Body.labels.STRING == STRING
    input.Body.name == STRING
    input.Body.pod == STRING
    input.Body.requestedSizeGib == STRING
    input.Body.storageType == enum_NfsShareStorageType[_]
    input.ReqMap.name == STRING
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

baremetalsolution.projects.locations.nfsShares.rename

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

baremetalsolution.projects.locations.operations.get

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

baremetalsolution.projects.locations.osImages.get

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

baremetalsolution.projects.locations.osImages.list

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

baremetalsolution.projects.locations.provisioningConfigs.create

enum_InstanceConfigNetworkConfig := [ "NETWORKCONFIG_UNSPECIFIED", "SINGLE_VLAN", "MULTI_VLAN" ]
enum_LogicalNetworkInterfaceNetworkType := [ "TYPE_UNSPECIFIED", "CLIENT", "PRIVATE" ]
enum_NetworkConfigBandwidth := [ "BANDWIDTH_UNSPECIFIED", "BW_1_GBPS", "BW_2_GBPS", "BW_5_GBPS", "BW_10_GBPS" ]
enum_NetworkConfigServiceCidr := [ "SERVICE_CIDR_UNSPECIFIED", "DISABLED", "HIGH_26", "HIGH_27", "HIGH_28" ]
enum_NetworkConfigType := [ "TYPE_UNSPECIFIED", "CLIENT", "PRIVATE" ]
enum_NfsExportPermissions := [ "PERMISSIONS_UNSPECIFIED", "READ_ONLY", "READ_WRITE" ]
enum_VolumeConfigPerformanceTier := [ "VOLUME_PERFORMANCE_TIER_UNSPECIFIED", "VOLUME_PERFORMANCE_TIER_SHARED", "VOLUME_PERFORMANCE_TIER_ASSIGNED", "VOLUME_PERFORMANCE_TIER_HT", "VOLUME_PERFORMANCE_TIER_QOS2_PERFORMANCE" ]
enum_VolumeConfigProtocol := [ "PROTOCOL_UNSPECIFIED", "PROTOCOL_FC", "PROTOCOL_NFS" ]
enum_VolumeConfigType := [ "TYPE_UNSPECIFIED", "FLASH", "DISK" ]

valid {
    input.Body.customId == STRING
    input.Body.email == STRING
    input.Body.handoverServiceAccount == STRING
    input.Body.instances[_].accountNetworksEnabled == BOOLEAN
    input.Body.instances[_].clientNetwork.address == STRING
    input.Body.instances[_].clientNetwork.existingNetworkId == STRING
    input.Body.instances[_].clientNetwork.networkId == STRING
    input.Body.instances[_].hyperthreading == BOOLEAN
    input.Body.instances[_].id == STRING
    input.Body.instances[_].instanceType == STRING
    input.Body.instances[_].kmsKeyVersion == STRING
    input.Body.instances[_].logicalInterfaces[_].interfaceIndex == INTEGER
    input.Body.instances[_].logicalInterfaces[_].logicalNetworkInterfaces[_].defaultGateway == BOOLEAN
    input.Body.instances[_].logicalInterfaces[_].logicalNetworkInterfaces[_].id == STRING
    input.Body.instances[_].logicalInterfaces[_].logicalNetworkInterfaces[_].ipAddress == STRING
    input.Body.instances[_].logicalInterfaces[_].logicalNetworkInterfaces[_].network == STRING
    input.Body.instances[_].logicalInterfaces[_].logicalNetworkInterfaces[_].networkType == enum_LogicalNetworkInterfaceNetworkType[_]
    input.Body.instances[_].logicalInterfaces[_].name == STRING
    input.Body.instances[_].name == STRING
    input.Body.instances[_].networkConfig == enum_InstanceConfigNetworkConfig[_]
    input.Body.instances[_].networkTemplate == STRING
    input.Body.instances[_].osImage == STRING
    input.Body.instances[_].privateNetwork.address == STRING
    input.Body.instances[_].privateNetwork.existingNetworkId == STRING
    input.Body.instances[_].privateNetwork.networkId == STRING
    input.Body.instances[_].sshKeyNames[_] == STRING
    input.Body.instances[_].userNote == STRING
    input.Body.location == STRING
    input.Body.networks[_].bandwidth == enum_NetworkConfigBandwidth[_]
    input.Body.networks[_].cidr == STRING
    input.Body.networks[_].gcpService == STRING
    input.Body.networks[_].id == STRING
    input.Body.networks[_].jumboFramesEnabled == BOOLEAN
    input.Body.networks[_].serviceCidr == enum_NetworkConfigServiceCidr[_]
    input.Body.networks[_].type == enum_NetworkConfigType[_]
    input.Body.networks[_].userNote == STRING
    input.Body.networks[_].vlanAttachments[_].id == STRING
    input.Body.networks[_].vlanAttachments[_].pairingKey == STRING
    input.Body.networks[_].vlanSameProject == BOOLEAN
    input.Body.pod == STRING
    input.Body.statusMessage == STRING
    input.Body.ticketId == STRING
    input.Body.volumes[_].gcpService == STRING
    input.Body.volumes[_].id == STRING
    input.Body.volumes[_].lunRanges[_].quantity == INTEGER
    input.Body.volumes[_].lunRanges[_].sizeGb == INTEGER
    input.Body.volumes[_].machineIds[_] == STRING
    input.Body.volumes[_].nfsExports[_].allowDev == BOOLEAN
    input.Body.volumes[_].nfsExports[_].allowSuid == BOOLEAN
    input.Body.volumes[_].nfsExports[_].cidr == STRING
    input.Body.volumes[_].nfsExports[_].machineId == STRING
    input.Body.volumes[_].nfsExports[_].networkId == STRING
    input.Body.volumes[_].nfsExports[_].noRootSquash == BOOLEAN
    input.Body.volumes[_].nfsExports[_].permissions == enum_NfsExportPermissions[_]
    input.Body.volumes[_].performanceTier == enum_VolumeConfigPerformanceTier[_]
    input.Body.volumes[_].protocol == enum_VolumeConfigProtocol[_]
    input.Body.volumes[_].sizeGb == INTEGER
    input.Body.volumes[_].snapshotsEnabled == BOOLEAN
    input.Body.volumes[_].type == enum_VolumeConfigType[_]
    input.Body.volumes[_].userNote == STRING
    input.Body.vpcScEnabled == BOOLEAN
    input.ReqMap.parent == STRING
    input.Qs.email == STRING
    input.ProviderMetadata.Region == STRING
}

baremetalsolution.projects.locations.provisioningConfigs.get

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

baremetalsolution.projects.locations.provisioningConfigs.patch

enum_InstanceConfigNetworkConfig := [ "NETWORKCONFIG_UNSPECIFIED", "SINGLE_VLAN", "MULTI_VLAN" ]
enum_LogicalNetworkInterfaceNetworkType := [ "TYPE_UNSPECIFIED", "CLIENT", "PRIVATE" ]
enum_NetworkConfigBandwidth := [ "BANDWIDTH_UNSPECIFIED", "BW_1_GBPS", "BW_2_GBPS", "BW_5_GBPS", "BW_10_GBPS" ]
enum_NetworkConfigServiceCidr := [ "SERVICE_CIDR_UNSPECIFIED", "DISABLED", "HIGH_26", "HIGH_27", "HIGH_28" ]
enum_NetworkConfigType := [ "TYPE_UNSPECIFIED", "CLIENT", "PRIVATE" ]
enum_NfsExportPermissions := [ "PERMISSIONS_UNSPECIFIED", "READ_ONLY", "READ_WRITE" ]
enum_VolumeConfigPerformanceTier := [ "VOLUME_PERFORMANCE_TIER_UNSPECIFIED", "VOLUME_PERFORMANCE_TIER_SHARED", "VOLUME_PERFORMANCE_TIER_ASSIGNED", "VOLUME_PERFORMANCE_TIER_HT", "VOLUME_PERFORMANCE_TIER_QOS2_PERFORMANCE" ]
enum_VolumeConfigProtocol := [ "PROTOCOL_UNSPECIFIED", "PROTOCOL_FC", "PROTOCOL_NFS" ]
enum_VolumeConfigType := [ "TYPE_UNSPECIFIED", "FLASH", "DISK" ]

valid {
    input.Body.customId == STRING
    input.Body.email == STRING
    input.Body.handoverServiceAccount == STRING
    input.Body.instances[_].accountNetworksEnabled == BOOLEAN
    input.Body.instances[_].clientNetwork.address == STRING
    input.Body.instances[_].clientNetwork.existingNetworkId == STRING
    input.Body.instances[_].clientNetwork.networkId == STRING
    input.Body.instances[_].hyperthreading == BOOLEAN
    input.Body.instances[_].id == STRING
    input.Body.instances[_].instanceType == STRING
    input.Body.instances[_].kmsKeyVersion == STRING
    input.Body.instances[_].logicalInterfaces[_].interfaceIndex == INTEGER
    input.Body.instances[_].logicalInterfaces[_].logicalNetworkInterfaces[_].defaultGateway == BOOLEAN
    input.Body.instances[_].logicalInterfaces[_].logicalNetworkInterfaces[_].id == STRING
    input.Body.instances[_].logicalInterfaces[_].logicalNetworkInterfaces[_].ipAddress == STRING
    input.Body.instances[_].logicalInterfaces[_].logicalNetworkInterfaces[_].network == STRING
    input.Body.instances[_].logicalInterfaces[_].logicalNetworkInterfaces[_].networkType == enum_LogicalNetworkInterfaceNetworkType[_]
    input.Body.instances[_].logicalInterfaces[_].name == STRING
    input.Body.instances[_].name == STRING
    input.Body.instances[_].networkConfig == enum_InstanceConfigNetworkConfig[_]
    input.Body.instances[_].networkTemplate == STRING
    input.Body.instances[_].osImage == STRING
    input.Body.instances[_].privateNetwork.address == STRING
    input.Body.instances[_].privateNetwork.existingNetworkId == STRING
    input.Body.instances[_].privateNetwork.networkId == STRING
    input.Body.instances[_].sshKeyNames[_] == STRING
    input.Body.instances[_].userNote == STRING
    input.Body.location == STRING
    input.Body.networks[_].bandwidth == enum_NetworkConfigBandwidth[_]
    input.Body.networks[_].cidr == STRING
    input.Body.networks[_].gcpService == STRING
    input.Body.networks[_].id == STRING
    input.Body.networks[_].jumboFramesEnabled == BOOLEAN
    input.Body.networks[_].serviceCidr == enum_NetworkConfigServiceCidr[_]
    input.Body.networks[_].type == enum_NetworkConfigType[_]
    input.Body.networks[_].userNote == STRING
    input.Body.networks[_].vlanAttachments[_].id == STRING
    input.Body.networks[_].vlanAttachments[_].pairingKey == STRING
    input.Body.networks[_].vlanSameProject == BOOLEAN
    input.Body.pod == STRING
    input.Body.statusMessage == STRING
    input.Body.ticketId == STRING
    input.Body.volumes[_].gcpService == STRING
    input.Body.volumes[_].id == STRING
    input.Body.volumes[_].lunRanges[_].quantity == INTEGER
    input.Body.volumes[_].lunRanges[_].sizeGb == INTEGER
    input.Body.volumes[_].machineIds[_] == STRING
    input.Body.volumes[_].nfsExports[_].allowDev == BOOLEAN
    input.Body.volumes[_].nfsExports[_].allowSuid == BOOLEAN
    input.Body.volumes[_].nfsExports[_].cidr == STRING
    input.Body.volumes[_].nfsExports[_].machineId == STRING
    input.Body.volumes[_].nfsExports[_].networkId == STRING
    input.Body.volumes[_].nfsExports[_].noRootSquash == BOOLEAN
    input.Body.volumes[_].nfsExports[_].permissions == enum_NfsExportPermissions[_]
    input.Body.volumes[_].performanceTier == enum_VolumeConfigPerformanceTier[_]
    input.Body.volumes[_].protocol == enum_VolumeConfigProtocol[_]
    input.Body.volumes[_].sizeGb == INTEGER
    input.Body.volumes[_].snapshotsEnabled == BOOLEAN
    input.Body.volumes[_].type == enum_VolumeConfigType[_]
    input.Body.volumes[_].userNote == STRING
    input.Body.vpcScEnabled == BOOLEAN
    input.ReqMap.name == STRING
    input.Qs.email == STRING
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

baremetalsolution.projects.locations.provisioningConfigs.submit

enum_InstanceConfigNetworkConfig := [ "NETWORKCONFIG_UNSPECIFIED", "SINGLE_VLAN", "MULTI_VLAN" ]
enum_LogicalNetworkInterfaceNetworkType := [ "TYPE_UNSPECIFIED", "CLIENT", "PRIVATE" ]
enum_NetworkConfigBandwidth := [ "BANDWIDTH_UNSPECIFIED", "BW_1_GBPS", "BW_2_GBPS", "BW_5_GBPS", "BW_10_GBPS" ]
enum_NetworkConfigServiceCidr := [ "SERVICE_CIDR_UNSPECIFIED", "DISABLED", "HIGH_26", "HIGH_27", "HIGH_28" ]
enum_NetworkConfigType := [ "TYPE_UNSPECIFIED", "CLIENT", "PRIVATE" ]
enum_NfsExportPermissions := [ "PERMISSIONS_UNSPECIFIED", "READ_ONLY", "READ_WRITE" ]
enum_VolumeConfigPerformanceTier := [ "VOLUME_PERFORMANCE_TIER_UNSPECIFIED", "VOLUME_PERFORMANCE_TIER_SHARED", "VOLUME_PERFORMANCE_TIER_ASSIGNED", "VOLUME_PERFORMANCE_TIER_HT", "VOLUME_PERFORMANCE_TIER_QOS2_PERFORMANCE" ]
enum_VolumeConfigProtocol := [ "PROTOCOL_UNSPECIFIED", "PROTOCOL_FC", "PROTOCOL_NFS" ]
enum_VolumeConfigType := [ "TYPE_UNSPECIFIED", "FLASH", "DISK" ]

valid {
    input.Body.email == STRING
    input.Body.provisioningConfig.customId == STRING
    input.Body.provisioningConfig.email == STRING
    input.Body.provisioningConfig.handoverServiceAccount == STRING
    input.Body.provisioningConfig.instances[_].accountNetworksEnabled == BOOLEAN
    input.Body.provisioningConfig.instances[_].clientNetwork.address == STRING
    input.Body.provisioningConfig.instances[_].clientNetwork.existingNetworkId == STRING
    input.Body.provisioningConfig.instances[_].clientNetwork.networkId == STRING
    input.Body.provisioningConfig.instances[_].hyperthreading == BOOLEAN
    input.Body.provisioningConfig.instances[_].id == STRING
    input.Body.provisioningConfig.instances[_].instanceType == STRING
    input.Body.provisioningConfig.instances[_].kmsKeyVersion == STRING
    input.Body.provisioningConfig.instances[_].logicalInterfaces[_].interfaceIndex == INTEGER
    input.Body.provisioningConfig.instances[_].logicalInterfaces[_].logicalNetworkInterfaces[_].defaultGateway == BOOLEAN
    input.Body.provisioningConfig.instances[_].logicalInterfaces[_].logicalNetworkInterfaces[_].id == STRING
    input.Body.provisioningConfig.instances[_].logicalInterfaces[_].logicalNetworkInterfaces[_].ipAddress == STRING
    input.Body.provisioningConfig.instances[_].logicalInterfaces[_].logicalNetworkInterfaces[_].network == STRING
    input.Body.provisioningConfig.instances[_].logicalInterfaces[_].logicalNetworkInterfaces[_].networkType == enum_LogicalNetworkInterfaceNetworkType[_]
    input.Body.provisioningConfig.instances[_].logicalInterfaces[_].name == STRING
    input.Body.provisioningConfig.instances[_].name == STRING
    input.Body.provisioningConfig.instances[_].networkConfig == enum_InstanceConfigNetworkConfig[_]
    input.Body.provisioningConfig.instances[_].networkTemplate == STRING
    input.Body.provisioningConfig.instances[_].osImage == STRING
    input.Body.provisioningConfig.instances[_].privateNetwork.address == STRING
    input.Body.provisioningConfig.instances[_].privateNetwork.existingNetworkId == STRING
    input.Body.provisioningConfig.instances[_].privateNetwork.networkId == STRING
    input.Body.provisioningConfig.instances[_].sshKeyNames[_] == STRING
    input.Body.provisioningConfig.instances[_].userNote == STRING
    input.Body.provisioningConfig.location == STRING
    input.Body.provisioningConfig.networks[_].bandwidth == enum_NetworkConfigBandwidth[_]
    input.Body.provisioningConfig.networks[_].cidr == STRING
    input.Body.provisioningConfig.networks[_].gcpService == STRING
    input.Body.provisioningConfig.networks[_].id == STRING
    input.Body.provisioningConfig.networks[_].jumboFramesEnabled == BOOLEAN
    input.Body.provisioningConfig.networks[_].serviceCidr == enum_NetworkConfigServiceCidr[_]
    input.Body.provisioningConfig.networks[_].type == enum_NetworkConfigType[_]
    input.Body.provisioningConfig.networks[_].userNote == STRING
    input.Body.provisioningConfig.networks[_].vlanAttachments[_].id == STRING
    input.Body.provisioningConfig.networks[_].vlanAttachments[_].pairingKey == STRING
    input.Body.provisioningConfig.networks[_].vlanSameProject == BOOLEAN
    input.Body.provisioningConfig.pod == STRING
    input.Body.provisioningConfig.statusMessage == STRING
    input.Body.provisioningConfig.ticketId == STRING
    input.Body.provisioningConfig.volumes[_].gcpService == STRING
    input.Body.provisioningConfig.volumes[_].id == STRING
    input.Body.provisioningConfig.volumes[_].lunRanges[_].quantity == INTEGER
    input.Body.provisioningConfig.volumes[_].lunRanges[_].sizeGb == INTEGER
    input.Body.provisioningConfig.volumes[_].machineIds[_] == STRING
    input.Body.provisioningConfig.volumes[_].nfsExports[_].allowDev == BOOLEAN
    input.Body.provisioningConfig.volumes[_].nfsExports[_].allowSuid == BOOLEAN
    input.Body.provisioningConfig.volumes[_].nfsExports[_].cidr == STRING
    input.Body.provisioningConfig.volumes[_].nfsExports[_].machineId == STRING
    input.Body.provisioningConfig.volumes[_].nfsExports[_].networkId == STRING
    input.Body.provisioningConfig.volumes[_].nfsExports[_].noRootSquash == BOOLEAN
    input.Body.provisioningConfig.volumes[_].nfsExports[_].permissions == enum_NfsExportPermissions[_]
    input.Body.provisioningConfig.volumes[_].performanceTier == enum_VolumeConfigPerformanceTier[_]
    input.Body.provisioningConfig.volumes[_].protocol == enum_VolumeConfigProtocol[_]
    input.Body.provisioningConfig.volumes[_].sizeGb == INTEGER
    input.Body.provisioningConfig.volumes[_].snapshotsEnabled == BOOLEAN
    input.Body.provisioningConfig.volumes[_].type == enum_VolumeConfigType[_]
    input.Body.provisioningConfig.volumes[_].userNote == STRING
    input.Body.provisioningConfig.vpcScEnabled == BOOLEAN
    input.ReqMap.parent == STRING
    input.ProviderMetadata.Region == STRING
}

baremetalsolution.projects.locations.provisioningQuotas.list

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

baremetalsolution.projects.locations.sshKeys.create

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

baremetalsolution.projects.locations.sshKeys.delete

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

baremetalsolution.projects.locations.sshKeys.list

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

baremetalsolution.projects.locations.submitProvisioningConfig

enum_NetworkConfigBandwidth := [ "BANDWIDTH_UNSPECIFIED", "BW_1_GBPS", "BW_2_GBPS", "BW_5_GBPS", "BW_10_GBPS" ]
enum_NetworkConfigServiceCidr := [ "SERVICE_CIDR_UNSPECIFIED", "DISABLED", "HIGH_26", "HIGH_27", "HIGH_28" ]
enum_NetworkConfigType := [ "TYPE_UNSPECIFIED", "CLIENT", "PRIVATE" ]
enum_NfsExportPermissions := [ "PERMISSIONS_UNSPECIFIED", "READ_ONLY", "READ_WRITE" ]
enum_VolumeConfigProtocol := [ "PROTOCOL_UNSPECIFIED", "PROTOCOL_FC", "PROTOCOL_NFS" ]
enum_VolumeConfigType := [ "TYPE_UNSPECIFIED", "FLASH", "DISK" ]

valid {
    input.Body.email == STRING
    input.Body.provisioningConfig.instances[_].clientNetwork.address == STRING
    input.Body.provisioningConfig.instances[_].clientNetwork.existingNetworkId == STRING
    input.Body.provisioningConfig.instances[_].clientNetwork.networkId == STRING
    input.Body.provisioningConfig.instances[_].hyperthreading == BOOLEAN
    input.Body.provisioningConfig.instances[_].id == STRING
    input.Body.provisioningConfig.instances[_].instanceType == STRING
    input.Body.provisioningConfig.instances[_].location == STRING
    input.Body.provisioningConfig.instances[_].osImage == STRING
    input.Body.provisioningConfig.instances[_].privateNetwork.address == STRING
    input.Body.provisioningConfig.instances[_].privateNetwork.existingNetworkId == STRING
    input.Body.provisioningConfig.instances[_].privateNetwork.networkId == STRING
    input.Body.provisioningConfig.instances[_].userNote == STRING
    input.Body.provisioningConfig.networks[_].bandwidth == enum_NetworkConfigBandwidth[_]
    input.Body.provisioningConfig.networks[_].cidr == STRING
    input.Body.provisioningConfig.networks[_].id == STRING
    input.Body.provisioningConfig.networks[_].location == STRING
    input.Body.provisioningConfig.networks[_].serviceCidr == enum_NetworkConfigServiceCidr[_]
    input.Body.provisioningConfig.networks[_].type == enum_NetworkConfigType[_]
    input.Body.provisioningConfig.networks[_].userNote == STRING
    input.Body.provisioningConfig.networks[_].vlanAttachments[_].id == STRING
    input.Body.provisioningConfig.networks[_].vlanAttachments[_].pairingKey == STRING
    input.Body.provisioningConfig.ticketId == STRING
    input.Body.provisioningConfig.volumes[_].id == STRING
    input.Body.provisioningConfig.volumes[_].location == STRING
    input.Body.provisioningConfig.volumes[_].lunRanges[_].quantity == INTEGER
    input.Body.provisioningConfig.volumes[_].lunRanges[_].sizeGb == INTEGER
    input.Body.provisioningConfig.volumes[_].machineIds[_] == STRING
    input.Body.provisioningConfig.volumes[_].nfsExports[_].allowDev == BOOLEAN
    input.Body.provisioningConfig.volumes[_].nfsExports[_].allowSuid == BOOLEAN
    input.Body.provisioningConfig.volumes[_].nfsExports[_].cidr == STRING
    input.Body.provisioningConfig.volumes[_].nfsExports[_].machineId == STRING
    input.Body.provisioningConfig.volumes[_].nfsExports[_].networkId == STRING
    input.Body.provisioningConfig.volumes[_].nfsExports[_].noRootSquash == BOOLEAN
    input.Body.provisioningConfig.volumes[_].nfsExports[_].permissions == enum_NfsExportPermissions[_]
    input.Body.provisioningConfig.volumes[_].protocol == enum_VolumeConfigProtocol[_]
    input.Body.provisioningConfig.volumes[_].sizeGb == INTEGER
    input.Body.provisioningConfig.volumes[_].snapshotsEnabled == BOOLEAN
    input.Body.provisioningConfig.volumes[_].type == enum_VolumeConfigType[_]
    input.Body.provisioningConfig.volumes[_].userNote == STRING
    input.ReqMap.location == STRING
    input.ReqMap.ProjectID == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.ProjectID == STRING
}

baremetalsolution.projects.locations.volumes.evict

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

baremetalsolution.projects.locations.volumes.get

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

baremetalsolution.projects.locations.volumes.list

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

baremetalsolution.projects.locations.volumes.luns.evict

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

baremetalsolution.projects.locations.volumes.luns.get

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

baremetalsolution.projects.locations.volumes.luns.list

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

baremetalsolution.projects.locations.volumes.patch

enum_VolumePerformanceTier := [ "VOLUME_PERFORMANCE_TIER_UNSPECIFIED", "VOLUME_PERFORMANCE_TIER_SHARED", "VOLUME_PERFORMANCE_TIER_ASSIGNED", "VOLUME_PERFORMANCE_TIER_HT", "VOLUME_PERFORMANCE_TIER_QOS2_PERFORMANCE" ]
enum_VolumeSnapshotAutoDeleteBehavior := [ "SNAPSHOT_AUTO_DELETE_BEHAVIOR_UNSPECIFIED", "DISABLED", "OLDEST_FIRST", "NEWEST_FIRST" ]
enum_VolumeState := [ "STATE_UNSPECIFIED", "CREATING", "READY", "DELETING", "UPDATING", "COOL_OFF" ]
enum_VolumeStorageType := [ "STORAGE_TYPE_UNSPECIFIED", "SSD", "HDD" ]
enum_VolumeWorkloadProfile := [ "WORKLOAD_PROFILE_UNSPECIFIED", "GENERIC", "HANA" ]

valid {
    input.Body.autoGrownSizeGib == STRING
    input.Body.currentSizeGib == STRING
    input.Body.emergencySizeGib == STRING
    input.Body.id == STRING
    input.Body.labels.STRING == STRING
    input.Body.maxSizeGib == STRING
    input.Body.notes == STRING
    input.Body.originallyRequestedSizeGib == STRING
    input.Body.performanceTier == enum_VolumePerformanceTier[_]
    input.Body.pod == STRING
    input.Body.remainingSpaceGib == STRING
    input.Body.requestedSizeGib == STRING
    input.Body.snapshotAutoDeleteBehavior == enum_VolumeSnapshotAutoDeleteBehavior[_]
    input.Body.snapshotEnabled == BOOLEAN
    input.Body.snapshotReservationDetail.reservedSpaceGib == STRING
    input.Body.snapshotReservationDetail.reservedSpacePercent == INTEGER
    input.Body.snapshotReservationDetail.reservedSpaceRemainingGib == STRING
    input.Body.snapshotReservationDetail.reservedSpaceUsedPercent == INTEGER
    input.Body.state == enum_VolumeState[_]
    input.Body.storageType == enum_VolumeStorageType[_]
    input.Body.workloadProfile == enum_VolumeWorkloadProfile[_]
    input.ReqMap.name == STRING
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

baremetalsolution.projects.locations.volumes.rename

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

baremetalsolution.projects.locations.volumes.resize

valid {
    input.Body.sizeGib == STRING
    input.ReqMap.volume == STRING
    input.ProviderMetadata.Region == STRING
}

baremetalsolution.projects.locations.volumes.snapshots.create

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

baremetalsolution.projects.locations.volumes.snapshots.delete

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

baremetalsolution.projects.locations.volumes.snapshots.get

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

baremetalsolution.projects.locations.volumes.snapshots.list

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

baremetalsolution.projects.locations.volumes.snapshots.restoreVolumeSnapshot

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

baremetalsolution.projects.provisioningQuotas.list

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