memcache.projects.locations.get

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

memcache.projects.locations.instances.applyParameters

valid {
    input.Body.applyAll == BOOLEAN
    input.Body.nodeIds[_] == STRING
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

memcache.projects.locations.instances.applySoftwareUpdate

valid {
    input.Body.applyAll == BOOLEAN
    input.Body.nodeIds[_] == STRING
    input.ReqMap.instance == STRING
    input.ProviderMetadata.Region == STRING
}

memcache.projects.locations.instances.create

enum_InstanceMemcacheVersion := [ "MEMCACHE_VERSION_UNSPECIFIED", "MEMCACHE_1_5", "MEMCACHE_1_6_15" ]
enum_InstanceMessageCode := [ "CODE_UNSPECIFIED", "ZONE_DISTRIBUTION_UNBALANCED" ]
enum_WeeklyMaintenanceWindowDay := [ "DAY_OF_WEEK_UNSPECIFIED", "MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY", "SATURDAY", "SUNDAY" ]

valid {
    input.Body.authorizedNetwork == STRING
    input.Body.displayName == STRING
    input.Body.instanceMessages[_].code == enum_InstanceMessageCode[_]
    input.Body.instanceMessages[_].message == STRING
    input.Body.labels.STRING == STRING
    input.Body.maintenancePolicy.description == STRING
    input.Body.maintenancePolicy.weeklyMaintenanceWindow[_].day == enum_WeeklyMaintenanceWindowDay[_]
    input.Body.maintenancePolicy.weeklyMaintenanceWindow[_].duration == STRING
    input.Body.maintenancePolicy.weeklyMaintenanceWindow[_].startTime.hours == INTEGER
    input.Body.maintenancePolicy.weeklyMaintenanceWindow[_].startTime.minutes == INTEGER
    input.Body.maintenancePolicy.weeklyMaintenanceWindow[_].startTime.nanos == INTEGER
    input.Body.maintenancePolicy.weeklyMaintenanceWindow[_].startTime.seconds == INTEGER
    input.Body.memcacheVersion == enum_InstanceMemcacheVersion[_]
    input.Body.name == STRING
    input.Body.nodeConfig.cpuCount == INTEGER
    input.Body.nodeConfig.memorySizeMb == INTEGER
    input.Body.nodeCount == INTEGER
    input.Body.parameters.params.STRING == STRING
    input.Body.reservedIpRangeId[_] == STRING
    input.Body.zones[_] == STRING
    input.ReqMap.parent == STRING
    input.Qs.instanceId == STRING
    input.ProviderMetadata.Region == STRING
}

memcache.projects.locations.instances.delete

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

memcache.projects.locations.instances.get

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

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

memcache.projects.locations.instances.patch

enum_InstanceMemcacheVersion := [ "MEMCACHE_VERSION_UNSPECIFIED", "MEMCACHE_1_5", "MEMCACHE_1_6_15" ]
enum_InstanceMessageCode := [ "CODE_UNSPECIFIED", "ZONE_DISTRIBUTION_UNBALANCED" ]
enum_WeeklyMaintenanceWindowDay := [ "DAY_OF_WEEK_UNSPECIFIED", "MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY", "SATURDAY", "SUNDAY" ]

valid {
    input.Body.authorizedNetwork == STRING
    input.Body.displayName == STRING
    input.Body.instanceMessages[_].code == enum_InstanceMessageCode[_]
    input.Body.instanceMessages[_].message == STRING
    input.Body.labels.STRING == STRING
    input.Body.maintenancePolicy.description == STRING
    input.Body.maintenancePolicy.weeklyMaintenanceWindow[_].day == enum_WeeklyMaintenanceWindowDay[_]
    input.Body.maintenancePolicy.weeklyMaintenanceWindow[_].duration == STRING
    input.Body.maintenancePolicy.weeklyMaintenanceWindow[_].startTime.hours == INTEGER
    input.Body.maintenancePolicy.weeklyMaintenanceWindow[_].startTime.minutes == INTEGER
    input.Body.maintenancePolicy.weeklyMaintenanceWindow[_].startTime.nanos == INTEGER
    input.Body.maintenancePolicy.weeklyMaintenanceWindow[_].startTime.seconds == INTEGER
    input.Body.memcacheVersion == enum_InstanceMemcacheVersion[_]
    input.Body.name == STRING
    input.Body.nodeConfig.cpuCount == INTEGER
    input.Body.nodeConfig.memorySizeMb == INTEGER
    input.Body.nodeCount == INTEGER
    input.Body.parameters.params.STRING == STRING
    input.Body.reservedIpRangeId[_] == STRING
    input.Body.zones[_] == STRING
    input.ReqMap.name == STRING
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

memcache.projects.locations.instances.rescheduleMaintenance

enum_RescheduleMaintenanceRequestRescheduleType := [ "RESCHEDULE_TYPE_UNSPECIFIED", "IMMEDIATE", "NEXT_AVAILABLE_WINDOW", "SPECIFIC_TIME" ]

valid {
    input.Body.rescheduleType == enum_RescheduleMaintenanceRequestRescheduleType[_]
    input.Body.scheduleTime == STRING
    input.ReqMap.instance == STRING
    input.ProviderMetadata.Region == STRING
}

memcache.projects.locations.instances.updateParameters

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

memcache.projects.locations.instances.upgrade

enum_GoogleCloudMemcacheV1UpgradeInstanceRequestMemcacheVersion := [ "MEMCACHE_VERSION_UNSPECIFIED", "MEMCACHE_1_5", "MEMCACHE_1_6_15" ]

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

memcache.projects.locations.list

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

memcache.projects.locations.operations.cancel

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

memcache.projects.locations.operations.delete

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

memcache.projects.locations.operations.get

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

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