AIPLATFORM

aiplatform.datasets.create

valid {
    input.Body.description == STRING
    input.Body.displayName == STRING
    input.Body.encryptionSpec.kmsKeyName == STRING
    input.Body.etag == STRING
    input.Body.labels.STRING == STRING
    input.Body.metadata == ANY
    input.Body.metadataSchemaUri == STRING
    input.Body.modelReference == STRING
    input.Body.savedQueries[_].displayName == STRING
    input.Body.savedQueries[_].etag == STRING
    input.Body.savedQueries[_].metadata == ANY
    input.Body.savedQueries[_].problemType == STRING
    input.Qs.parent == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.datasets.datasetVersions.create

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

aiplatform.datasets.datasetVersions.delete

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

aiplatform.datasets.datasetVersions.get

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

aiplatform.datasets.datasetVersions.list

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

aiplatform.datasets.datasetVersions.patch

valid {
    input.Body.displayName == STRING
    input.Body.etag == STRING
    input.ReqMap.name == STRING
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.datasets.datasetVersions.restore

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

aiplatform.datasets.delete

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

aiplatform.datasets.get

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

aiplatform.datasets.list

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

aiplatform.datasets.patch

valid {
    input.Body.description == STRING
    input.Body.displayName == STRING
    input.Body.encryptionSpec.kmsKeyName == STRING
    input.Body.etag == STRING
    input.Body.labels.STRING == STRING
    input.Body.metadata == ANY
    input.Body.metadataSchemaUri == STRING
    input.Body.modelReference == STRING
    input.Body.savedQueries[_].displayName == STRING
    input.Body.savedQueries[_].etag == STRING
    input.Body.savedQueries[_].metadata == ANY
    input.Body.savedQueries[_].problemType == STRING
    input.ReqMap.name == STRING
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.endpoints.computeTokens

valid {
    input.Body.contents[_].parts[_].fileData.fileUri == STRING
    input.Body.contents[_].parts[_].fileData.mimeType == STRING
    input.Body.contents[_].parts[_].functionCall.args.STRING == ANY
    input.Body.contents[_].parts[_].functionCall.name == STRING
    input.Body.contents[_].parts[_].functionResponse.name == STRING
    input.Body.contents[_].parts[_].functionResponse.response.STRING == ANY
    input.Body.contents[_].parts[_].inlineData.data == STRING
    input.Body.contents[_].parts[_].inlineData.mimeType == STRING
    input.Body.contents[_].parts[_].text == STRING
    input.Body.contents[_].parts[_].videoMetadata.endOffset == STRING
    input.Body.contents[_].parts[_].videoMetadata.startOffset == STRING
    input.Body.contents[_].role == STRING
    input.Body.instances[_] == ANY
    input.Body.model == STRING
    input.ReqMap.endpoint == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.endpoints.countTokens

enum_GoogleCloudAiplatformV1DynamicRetrievalConfigMode := [ "MODE_UNSPECIFIED", "MODE_DYNAMIC" ]
enum_GoogleCloudAiplatformV1GenerationConfigRoutingConfigAutoRoutingModeModelRoutingPreference := [ "UNKNOWN", "PRIORITIZE_QUALITY", "BALANCED", "PRIORITIZE_COST" ]
enum_GoogleCloudAiplatformV1SchemaType := [ "TYPE_UNSPECIFIED", "STRING", "NUMBER", "INTEGER", "BOOLEAN", "ARRAY", "OBJECT" ]

valid {
    input.Body.contents[_].parts[_].fileData.fileUri == STRING
    input.Body.contents[_].parts[_].fileData.mimeType == STRING
    input.Body.contents[_].parts[_].functionCall.args.STRING == ANY
    input.Body.contents[_].parts[_].functionCall.name == STRING
    input.Body.contents[_].parts[_].functionResponse.name == STRING
    input.Body.contents[_].parts[_].functionResponse.response.STRING == ANY
    input.Body.contents[_].parts[_].inlineData.data == STRING
    input.Body.contents[_].parts[_].inlineData.mimeType == STRING
    input.Body.contents[_].parts[_].text == STRING
    input.Body.contents[_].parts[_].videoMetadata.endOffset == STRING
    input.Body.contents[_].parts[_].videoMetadata.startOffset == STRING
    input.Body.contents[_].role == STRING
    input.Body.generationConfig.audioTimestamp == BOOLEAN
    input.Body.generationConfig.candidateCount == INTEGER
    input.Body.generationConfig.frequencyPenalty == NUMBER
    input.Body.generationConfig.logprobs == INTEGER
    input.Body.generationConfig.maxOutputTokens == INTEGER
    input.Body.generationConfig.presencePenalty == NUMBER
    input.Body.generationConfig.responseLogprobs == BOOLEAN
    input.Body.generationConfig.responseMimeType == STRING
    input.Body.generationConfig.responseSchema.anyOf[_] == NESTED
    input.Body.generationConfig.responseSchema.default == ANY
    input.Body.generationConfig.responseSchema.description == STRING
    input.Body.generationConfig.responseSchema.enum[_] == STRING
    input.Body.generationConfig.responseSchema.example == ANY
    input.Body.generationConfig.responseSchema.format == STRING
    input.Body.generationConfig.responseSchema.items == NESTED
    input.Body.generationConfig.responseSchema.maxItems == STRING
    input.Body.generationConfig.responseSchema.maxLength == STRING
    input.Body.generationConfig.responseSchema.maxProperties == STRING
    input.Body.generationConfig.responseSchema.maximum == NUMBER
    input.Body.generationConfig.responseSchema.minItems == STRING
    input.Body.generationConfig.responseSchema.minLength == STRING
    input.Body.generationConfig.responseSchema.minProperties == STRING
    input.Body.generationConfig.responseSchema.minimum == NUMBER
    input.Body.generationConfig.responseSchema.nullable == BOOLEAN
    input.Body.generationConfig.responseSchema.pattern == STRING
    input.Body.generationConfig.responseSchema.properties.STRING == NESTED
    input.Body.generationConfig.responseSchema.propertyOrdering[_] == STRING
    input.Body.generationConfig.responseSchema.required[_] == STRING
    input.Body.generationConfig.responseSchema.title == STRING
    input.Body.generationConfig.responseSchema.type == enum_GoogleCloudAiplatformV1SchemaType[_]
    input.Body.generationConfig.routingConfig.autoMode.modelRoutingPreference == enum_GoogleCloudAiplatformV1GenerationConfigRoutingConfigAutoRoutingModeModelRoutingPreference[_]
    input.Body.generationConfig.routingConfig.manualMode.modelName == STRING
    input.Body.generationConfig.seed == INTEGER
    input.Body.generationConfig.stopSequences[_] == STRING
    input.Body.generationConfig.temperature == NUMBER
    input.Body.generationConfig.topK == NUMBER
    input.Body.generationConfig.topP == NUMBER
    input.Body.instances[_] == ANY
    input.Body.model == STRING
    input.Body.systemInstruction.parts[_].fileData.fileUri == STRING
    input.Body.systemInstruction.parts[_].fileData.mimeType == STRING
    input.Body.systemInstruction.parts[_].functionCall.args.STRING == ANY
    input.Body.systemInstruction.parts[_].functionCall.name == STRING
    input.Body.systemInstruction.parts[_].functionResponse.name == STRING
    input.Body.systemInstruction.parts[_].functionResponse.response.STRING == ANY
    input.Body.systemInstruction.parts[_].inlineData.data == STRING
    input.Body.systemInstruction.parts[_].inlineData.mimeType == STRING
    input.Body.systemInstruction.parts[_].text == STRING
    input.Body.systemInstruction.parts[_].videoMetadata.endOffset == STRING
    input.Body.systemInstruction.parts[_].videoMetadata.startOffset == STRING
    input.Body.systemInstruction.role == STRING
    input.Body.tools[_].functionDeclarations[_].description == STRING
    input.Body.tools[_].functionDeclarations[_].name == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.anyOf[_] == NESTED
    input.Body.tools[_].functionDeclarations[_].parameters.default == ANY
    input.Body.tools[_].functionDeclarations[_].parameters.description == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.enum[_] == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.example == ANY
    input.Body.tools[_].functionDeclarations[_].parameters.format == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.items == NESTED
    input.Body.tools[_].functionDeclarations[_].parameters.maxItems == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.maxLength == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.maxProperties == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.maximum == NUMBER
    input.Body.tools[_].functionDeclarations[_].parameters.minItems == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.minLength == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.minProperties == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.minimum == NUMBER
    input.Body.tools[_].functionDeclarations[_].parameters.nullable == BOOLEAN
    input.Body.tools[_].functionDeclarations[_].parameters.pattern == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.properties.STRING == NESTED
    input.Body.tools[_].functionDeclarations[_].parameters.propertyOrdering[_] == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.required[_] == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.title == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.type == enum_GoogleCloudAiplatformV1SchemaType[_]
    input.Body.tools[_].functionDeclarations[_].response.anyOf[_] == NESTED
    input.Body.tools[_].functionDeclarations[_].response.default == ANY
    input.Body.tools[_].functionDeclarations[_].response.description == STRING
    input.Body.tools[_].functionDeclarations[_].response.enum[_] == STRING
    input.Body.tools[_].functionDeclarations[_].response.example == ANY
    input.Body.tools[_].functionDeclarations[_].response.format == STRING
    input.Body.tools[_].functionDeclarations[_].response.items == NESTED
    input.Body.tools[_].functionDeclarations[_].response.maxItems == STRING
    input.Body.tools[_].functionDeclarations[_].response.maxLength == STRING
    input.Body.tools[_].functionDeclarations[_].response.maxProperties == STRING
    input.Body.tools[_].functionDeclarations[_].response.maximum == NUMBER
    input.Body.tools[_].functionDeclarations[_].response.minItems == STRING
    input.Body.tools[_].functionDeclarations[_].response.minLength == STRING
    input.Body.tools[_].functionDeclarations[_].response.minProperties == STRING
    input.Body.tools[_].functionDeclarations[_].response.minimum == NUMBER
    input.Body.tools[_].functionDeclarations[_].response.nullable == BOOLEAN
    input.Body.tools[_].functionDeclarations[_].response.pattern == STRING
    input.Body.tools[_].functionDeclarations[_].response.properties.STRING == NESTED
    input.Body.tools[_].functionDeclarations[_].response.propertyOrdering[_] == STRING
    input.Body.tools[_].functionDeclarations[_].response.required[_] == STRING
    input.Body.tools[_].functionDeclarations[_].response.title == STRING
    input.Body.tools[_].functionDeclarations[_].response.type == enum_GoogleCloudAiplatformV1SchemaType[_]
    input.Body.tools[_].googleSearchRetrieval.dynamicRetrievalConfig.dynamicThreshold == NUMBER
    input.Body.tools[_].googleSearchRetrieval.dynamicRetrievalConfig.mode == enum_GoogleCloudAiplatformV1DynamicRetrievalConfigMode[_]
    input.Body.tools[_].retrieval.disableAttribution == BOOLEAN
    input.Body.tools[_].retrieval.vertexAiSearch.datastore == STRING
    input.Body.tools[_].retrieval.vertexRagStore.ragCorpora[_] == STRING
    input.Body.tools[_].retrieval.vertexRagStore.ragResources[_].ragCorpus == STRING
    input.Body.tools[_].retrieval.vertexRagStore.ragResources[_].ragFileIds[_] == STRING
    input.Body.tools[_].retrieval.vertexRagStore.similarityTopK == INTEGER
    input.Body.tools[_].retrieval.vertexRagStore.vectorDistanceThreshold == NUMBER
    input.ReqMap.endpoint == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.endpoints.generateContent

enum_GoogleCloudAiplatformV1DynamicRetrievalConfigMode := [ "MODE_UNSPECIFIED", "MODE_DYNAMIC" ]
enum_GoogleCloudAiplatformV1FunctionCallingConfigMode := [ "MODE_UNSPECIFIED", "AUTO", "ANY", "NONE" ]
enum_GoogleCloudAiplatformV1GenerationConfigRoutingConfigAutoRoutingModeModelRoutingPreference := [ "UNKNOWN", "PRIORITIZE_QUALITY", "BALANCED", "PRIORITIZE_COST" ]
enum_GoogleCloudAiplatformV1SafetySettingCategory := [ "HARM_CATEGORY_UNSPECIFIED", "HARM_CATEGORY_HATE_SPEECH", "HARM_CATEGORY_DANGEROUS_CONTENT", "HARM_CATEGORY_HARASSMENT", "HARM_CATEGORY_SEXUALLY_EXPLICIT", "HARM_CATEGORY_CIVIC_INTEGRITY" ]
enum_GoogleCloudAiplatformV1SafetySettingMethod := [ "HARM_BLOCK_METHOD_UNSPECIFIED", "SEVERITY", "PROBABILITY" ]
enum_GoogleCloudAiplatformV1SafetySettingThreshold := [ "HARM_BLOCK_THRESHOLD_UNSPECIFIED", "BLOCK_LOW_AND_ABOVE", "BLOCK_MEDIUM_AND_ABOVE", "BLOCK_ONLY_HIGH", "BLOCK_NONE", "OFF" ]
enum_GoogleCloudAiplatformV1SchemaType := [ "TYPE_UNSPECIFIED", "STRING", "NUMBER", "INTEGER", "BOOLEAN", "ARRAY", "OBJECT" ]

valid {
    input.Body.contents[_].parts[_].fileData.fileUri == STRING
    input.Body.contents[_].parts[_].fileData.mimeType == STRING
    input.Body.contents[_].parts[_].functionCall.args.STRING == ANY
    input.Body.contents[_].parts[_].functionCall.name == STRING
    input.Body.contents[_].parts[_].functionResponse.name == STRING
    input.Body.contents[_].parts[_].functionResponse.response.STRING == ANY
    input.Body.contents[_].parts[_].inlineData.data == STRING
    input.Body.contents[_].parts[_].inlineData.mimeType == STRING
    input.Body.contents[_].parts[_].text == STRING
    input.Body.contents[_].parts[_].videoMetadata.endOffset == STRING
    input.Body.contents[_].parts[_].videoMetadata.startOffset == STRING
    input.Body.contents[_].role == STRING
    input.Body.generationConfig.audioTimestamp == BOOLEAN
    input.Body.generationConfig.candidateCount == INTEGER
    input.Body.generationConfig.frequencyPenalty == NUMBER
    input.Body.generationConfig.logprobs == INTEGER
    input.Body.generationConfig.maxOutputTokens == INTEGER
    input.Body.generationConfig.presencePenalty == NUMBER
    input.Body.generationConfig.responseLogprobs == BOOLEAN
    input.Body.generationConfig.responseMimeType == STRING
    input.Body.generationConfig.responseSchema.anyOf[_] == NESTED
    input.Body.generationConfig.responseSchema.default == ANY
    input.Body.generationConfig.responseSchema.description == STRING
    input.Body.generationConfig.responseSchema.enum[_] == STRING
    input.Body.generationConfig.responseSchema.example == ANY
    input.Body.generationConfig.responseSchema.format == STRING
    input.Body.generationConfig.responseSchema.items == NESTED
    input.Body.generationConfig.responseSchema.maxItems == STRING
    input.Body.generationConfig.responseSchema.maxLength == STRING
    input.Body.generationConfig.responseSchema.maxProperties == STRING
    input.Body.generationConfig.responseSchema.maximum == NUMBER
    input.Body.generationConfig.responseSchema.minItems == STRING
    input.Body.generationConfig.responseSchema.minLength == STRING
    input.Body.generationConfig.responseSchema.minProperties == STRING
    input.Body.generationConfig.responseSchema.minimum == NUMBER
    input.Body.generationConfig.responseSchema.nullable == BOOLEAN
    input.Body.generationConfig.responseSchema.pattern == STRING
    input.Body.generationConfig.responseSchema.properties.STRING == NESTED
    input.Body.generationConfig.responseSchema.propertyOrdering[_] == STRING
    input.Body.generationConfig.responseSchema.required[_] == STRING
    input.Body.generationConfig.responseSchema.title == STRING
    input.Body.generationConfig.responseSchema.type == enum_GoogleCloudAiplatformV1SchemaType[_]
    input.Body.generationConfig.routingConfig.autoMode.modelRoutingPreference == enum_GoogleCloudAiplatformV1GenerationConfigRoutingConfigAutoRoutingModeModelRoutingPreference[_]
    input.Body.generationConfig.routingConfig.manualMode.modelName == STRING
    input.Body.generationConfig.seed == INTEGER
    input.Body.generationConfig.stopSequences[_] == STRING
    input.Body.generationConfig.temperature == NUMBER
    input.Body.generationConfig.topK == NUMBER
    input.Body.generationConfig.topP == NUMBER
    input.Body.labels.STRING == STRING
    input.Body.safetySettings[_].category == enum_GoogleCloudAiplatformV1SafetySettingCategory[_]
    input.Body.safetySettings[_].method == enum_GoogleCloudAiplatformV1SafetySettingMethod[_]
    input.Body.safetySettings[_].threshold == enum_GoogleCloudAiplatformV1SafetySettingThreshold[_]
    input.Body.systemInstruction.parts[_].fileData.fileUri == STRING
    input.Body.systemInstruction.parts[_].fileData.mimeType == STRING
    input.Body.systemInstruction.parts[_].functionCall.args.STRING == ANY
    input.Body.systemInstruction.parts[_].functionCall.name == STRING
    input.Body.systemInstruction.parts[_].functionResponse.name == STRING
    input.Body.systemInstruction.parts[_].functionResponse.response.STRING == ANY
    input.Body.systemInstruction.parts[_].inlineData.data == STRING
    input.Body.systemInstruction.parts[_].inlineData.mimeType == STRING
    input.Body.systemInstruction.parts[_].text == STRING
    input.Body.systemInstruction.parts[_].videoMetadata.endOffset == STRING
    input.Body.systemInstruction.parts[_].videoMetadata.startOffset == STRING
    input.Body.systemInstruction.role == STRING
    input.Body.toolConfig.functionCallingConfig.allowedFunctionNames[_] == STRING
    input.Body.toolConfig.functionCallingConfig.mode == enum_GoogleCloudAiplatformV1FunctionCallingConfigMode[_]
    input.Body.tools[_].functionDeclarations[_].description == STRING
    input.Body.tools[_].functionDeclarations[_].name == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.anyOf[_] == NESTED
    input.Body.tools[_].functionDeclarations[_].parameters.default == ANY
    input.Body.tools[_].functionDeclarations[_].parameters.description == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.enum[_] == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.example == ANY
    input.Body.tools[_].functionDeclarations[_].parameters.format == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.items == NESTED
    input.Body.tools[_].functionDeclarations[_].parameters.maxItems == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.maxLength == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.maxProperties == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.maximum == NUMBER
    input.Body.tools[_].functionDeclarations[_].parameters.minItems == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.minLength == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.minProperties == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.minimum == NUMBER
    input.Body.tools[_].functionDeclarations[_].parameters.nullable == BOOLEAN
    input.Body.tools[_].functionDeclarations[_].parameters.pattern == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.properties.STRING == NESTED
    input.Body.tools[_].functionDeclarations[_].parameters.propertyOrdering[_] == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.required[_] == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.title == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.type == enum_GoogleCloudAiplatformV1SchemaType[_]
    input.Body.tools[_].functionDeclarations[_].response.anyOf[_] == NESTED
    input.Body.tools[_].functionDeclarations[_].response.default == ANY
    input.Body.tools[_].functionDeclarations[_].response.description == STRING
    input.Body.tools[_].functionDeclarations[_].response.enum[_] == STRING
    input.Body.tools[_].functionDeclarations[_].response.example == ANY
    input.Body.tools[_].functionDeclarations[_].response.format == STRING
    input.Body.tools[_].functionDeclarations[_].response.items == NESTED
    input.Body.tools[_].functionDeclarations[_].response.maxItems == STRING
    input.Body.tools[_].functionDeclarations[_].response.maxLength == STRING
    input.Body.tools[_].functionDeclarations[_].response.maxProperties == STRING
    input.Body.tools[_].functionDeclarations[_].response.maximum == NUMBER
    input.Body.tools[_].functionDeclarations[_].response.minItems == STRING
    input.Body.tools[_].functionDeclarations[_].response.minLength == STRING
    input.Body.tools[_].functionDeclarations[_].response.minProperties == STRING
    input.Body.tools[_].functionDeclarations[_].response.minimum == NUMBER
    input.Body.tools[_].functionDeclarations[_].response.nullable == BOOLEAN
    input.Body.tools[_].functionDeclarations[_].response.pattern == STRING
    input.Body.tools[_].functionDeclarations[_].response.properties.STRING == NESTED
    input.Body.tools[_].functionDeclarations[_].response.propertyOrdering[_] == STRING
    input.Body.tools[_].functionDeclarations[_].response.required[_] == STRING
    input.Body.tools[_].functionDeclarations[_].response.title == STRING
    input.Body.tools[_].functionDeclarations[_].response.type == enum_GoogleCloudAiplatformV1SchemaType[_]
    input.Body.tools[_].googleSearchRetrieval.dynamicRetrievalConfig.dynamicThreshold == NUMBER
    input.Body.tools[_].googleSearchRetrieval.dynamicRetrievalConfig.mode == enum_GoogleCloudAiplatformV1DynamicRetrievalConfigMode[_]
    input.Body.tools[_].retrieval.disableAttribution == BOOLEAN
    input.Body.tools[_].retrieval.vertexAiSearch.datastore == STRING
    input.Body.tools[_].retrieval.vertexRagStore.ragCorpora[_] == STRING
    input.Body.tools[_].retrieval.vertexRagStore.ragResources[_].ragCorpus == STRING
    input.Body.tools[_].retrieval.vertexRagStore.ragResources[_].ragFileIds[_] == STRING
    input.Body.tools[_].retrieval.vertexRagStore.similarityTopK == INTEGER
    input.Body.tools[_].retrieval.vertexRagStore.vectorDistanceThreshold == NUMBER
    input.ReqMap.model == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.endpoints.streamGenerateContent

enum_GoogleCloudAiplatformV1DynamicRetrievalConfigMode := [ "MODE_UNSPECIFIED", "MODE_DYNAMIC" ]
enum_GoogleCloudAiplatformV1FunctionCallingConfigMode := [ "MODE_UNSPECIFIED", "AUTO", "ANY", "NONE" ]
enum_GoogleCloudAiplatformV1GenerationConfigRoutingConfigAutoRoutingModeModelRoutingPreference := [ "UNKNOWN", "PRIORITIZE_QUALITY", "BALANCED", "PRIORITIZE_COST" ]
enum_GoogleCloudAiplatformV1SafetySettingCategory := [ "HARM_CATEGORY_UNSPECIFIED", "HARM_CATEGORY_HATE_SPEECH", "HARM_CATEGORY_DANGEROUS_CONTENT", "HARM_CATEGORY_HARASSMENT", "HARM_CATEGORY_SEXUALLY_EXPLICIT", "HARM_CATEGORY_CIVIC_INTEGRITY" ]
enum_GoogleCloudAiplatformV1SafetySettingMethod := [ "HARM_BLOCK_METHOD_UNSPECIFIED", "SEVERITY", "PROBABILITY" ]
enum_GoogleCloudAiplatformV1SafetySettingThreshold := [ "HARM_BLOCK_THRESHOLD_UNSPECIFIED", "BLOCK_LOW_AND_ABOVE", "BLOCK_MEDIUM_AND_ABOVE", "BLOCK_ONLY_HIGH", "BLOCK_NONE", "OFF" ]
enum_GoogleCloudAiplatformV1SchemaType := [ "TYPE_UNSPECIFIED", "STRING", "NUMBER", "INTEGER", "BOOLEAN", "ARRAY", "OBJECT" ]

valid {
    input.Body.contents[_].parts[_].fileData.fileUri == STRING
    input.Body.contents[_].parts[_].fileData.mimeType == STRING
    input.Body.contents[_].parts[_].functionCall.args.STRING == ANY
    input.Body.contents[_].parts[_].functionCall.name == STRING
    input.Body.contents[_].parts[_].functionResponse.name == STRING
    input.Body.contents[_].parts[_].functionResponse.response.STRING == ANY
    input.Body.contents[_].parts[_].inlineData.data == STRING
    input.Body.contents[_].parts[_].inlineData.mimeType == STRING
    input.Body.contents[_].parts[_].text == STRING
    input.Body.contents[_].parts[_].videoMetadata.endOffset == STRING
    input.Body.contents[_].parts[_].videoMetadata.startOffset == STRING
    input.Body.contents[_].role == STRING
    input.Body.generationConfig.audioTimestamp == BOOLEAN
    input.Body.generationConfig.candidateCount == INTEGER
    input.Body.generationConfig.frequencyPenalty == NUMBER
    input.Body.generationConfig.logprobs == INTEGER
    input.Body.generationConfig.maxOutputTokens == INTEGER
    input.Body.generationConfig.presencePenalty == NUMBER
    input.Body.generationConfig.responseLogprobs == BOOLEAN
    input.Body.generationConfig.responseMimeType == STRING
    input.Body.generationConfig.responseSchema.anyOf[_] == NESTED
    input.Body.generationConfig.responseSchema.default == ANY
    input.Body.generationConfig.responseSchema.description == STRING
    input.Body.generationConfig.responseSchema.enum[_] == STRING
    input.Body.generationConfig.responseSchema.example == ANY
    input.Body.generationConfig.responseSchema.format == STRING
    input.Body.generationConfig.responseSchema.items == NESTED
    input.Body.generationConfig.responseSchema.maxItems == STRING
    input.Body.generationConfig.responseSchema.maxLength == STRING
    input.Body.generationConfig.responseSchema.maxProperties == STRING
    input.Body.generationConfig.responseSchema.maximum == NUMBER
    input.Body.generationConfig.responseSchema.minItems == STRING
    input.Body.generationConfig.responseSchema.minLength == STRING
    input.Body.generationConfig.responseSchema.minProperties == STRING
    input.Body.generationConfig.responseSchema.minimum == NUMBER
    input.Body.generationConfig.responseSchema.nullable == BOOLEAN
    input.Body.generationConfig.responseSchema.pattern == STRING
    input.Body.generationConfig.responseSchema.properties.STRING == NESTED
    input.Body.generationConfig.responseSchema.propertyOrdering[_] == STRING
    input.Body.generationConfig.responseSchema.required[_] == STRING
    input.Body.generationConfig.responseSchema.title == STRING
    input.Body.generationConfig.responseSchema.type == enum_GoogleCloudAiplatformV1SchemaType[_]
    input.Body.generationConfig.routingConfig.autoMode.modelRoutingPreference == enum_GoogleCloudAiplatformV1GenerationConfigRoutingConfigAutoRoutingModeModelRoutingPreference[_]
    input.Body.generationConfig.routingConfig.manualMode.modelName == STRING
    input.Body.generationConfig.seed == INTEGER
    input.Body.generationConfig.stopSequences[_] == STRING
    input.Body.generationConfig.temperature == NUMBER
    input.Body.generationConfig.topK == NUMBER
    input.Body.generationConfig.topP == NUMBER
    input.Body.labels.STRING == STRING
    input.Body.safetySettings[_].category == enum_GoogleCloudAiplatformV1SafetySettingCategory[_]
    input.Body.safetySettings[_].method == enum_GoogleCloudAiplatformV1SafetySettingMethod[_]
    input.Body.safetySettings[_].threshold == enum_GoogleCloudAiplatformV1SafetySettingThreshold[_]
    input.Body.systemInstruction.parts[_].fileData.fileUri == STRING
    input.Body.systemInstruction.parts[_].fileData.mimeType == STRING
    input.Body.systemInstruction.parts[_].functionCall.args.STRING == ANY
    input.Body.systemInstruction.parts[_].functionCall.name == STRING
    input.Body.systemInstruction.parts[_].functionResponse.name == STRING
    input.Body.systemInstruction.parts[_].functionResponse.response.STRING == ANY
    input.Body.systemInstruction.parts[_].inlineData.data == STRING
    input.Body.systemInstruction.parts[_].inlineData.mimeType == STRING
    input.Body.systemInstruction.parts[_].text == STRING
    input.Body.systemInstruction.parts[_].videoMetadata.endOffset == STRING
    input.Body.systemInstruction.parts[_].videoMetadata.startOffset == STRING
    input.Body.systemInstruction.role == STRING
    input.Body.toolConfig.functionCallingConfig.allowedFunctionNames[_] == STRING
    input.Body.toolConfig.functionCallingConfig.mode == enum_GoogleCloudAiplatformV1FunctionCallingConfigMode[_]
    input.Body.tools[_].functionDeclarations[_].description == STRING
    input.Body.tools[_].functionDeclarations[_].name == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.anyOf[_] == NESTED
    input.Body.tools[_].functionDeclarations[_].parameters.default == ANY
    input.Body.tools[_].functionDeclarations[_].parameters.description == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.enum[_] == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.example == ANY
    input.Body.tools[_].functionDeclarations[_].parameters.format == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.items == NESTED
    input.Body.tools[_].functionDeclarations[_].parameters.maxItems == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.maxLength == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.maxProperties == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.maximum == NUMBER
    input.Body.tools[_].functionDeclarations[_].parameters.minItems == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.minLength == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.minProperties == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.minimum == NUMBER
    input.Body.tools[_].functionDeclarations[_].parameters.nullable == BOOLEAN
    input.Body.tools[_].functionDeclarations[_].parameters.pattern == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.properties.STRING == NESTED
    input.Body.tools[_].functionDeclarations[_].parameters.propertyOrdering[_] == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.required[_] == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.title == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.type == enum_GoogleCloudAiplatformV1SchemaType[_]
    input.Body.tools[_].functionDeclarations[_].response.anyOf[_] == NESTED
    input.Body.tools[_].functionDeclarations[_].response.default == ANY
    input.Body.tools[_].functionDeclarations[_].response.description == STRING
    input.Body.tools[_].functionDeclarations[_].response.enum[_] == STRING
    input.Body.tools[_].functionDeclarations[_].response.example == ANY
    input.Body.tools[_].functionDeclarations[_].response.format == STRING
    input.Body.tools[_].functionDeclarations[_].response.items == NESTED
    input.Body.tools[_].functionDeclarations[_].response.maxItems == STRING
    input.Body.tools[_].functionDeclarations[_].response.maxLength == STRING
    input.Body.tools[_].functionDeclarations[_].response.maxProperties == STRING
    input.Body.tools[_].functionDeclarations[_].response.maximum == NUMBER
    input.Body.tools[_].functionDeclarations[_].response.minItems == STRING
    input.Body.tools[_].functionDeclarations[_].response.minLength == STRING
    input.Body.tools[_].functionDeclarations[_].response.minProperties == STRING
    input.Body.tools[_].functionDeclarations[_].response.minimum == NUMBER
    input.Body.tools[_].functionDeclarations[_].response.nullable == BOOLEAN
    input.Body.tools[_].functionDeclarations[_].response.pattern == STRING
    input.Body.tools[_].functionDeclarations[_].response.properties.STRING == NESTED
    input.Body.tools[_].functionDeclarations[_].response.propertyOrdering[_] == STRING
    input.Body.tools[_].functionDeclarations[_].response.required[_] == STRING
    input.Body.tools[_].functionDeclarations[_].response.title == STRING
    input.Body.tools[_].functionDeclarations[_].response.type == enum_GoogleCloudAiplatformV1SchemaType[_]
    input.Body.tools[_].googleSearchRetrieval.dynamicRetrievalConfig.dynamicThreshold == NUMBER
    input.Body.tools[_].googleSearchRetrieval.dynamicRetrievalConfig.mode == enum_GoogleCloudAiplatformV1DynamicRetrievalConfigMode[_]
    input.Body.tools[_].retrieval.disableAttribution == BOOLEAN
    input.Body.tools[_].retrieval.vertexAiSearch.datastore == STRING
    input.Body.tools[_].retrieval.vertexRagStore.ragCorpora[_] == STRING
    input.Body.tools[_].retrieval.vertexRagStore.ragResources[_].ragCorpus == STRING
    input.Body.tools[_].retrieval.vertexRagStore.ragResources[_].ragFileIds[_] == STRING
    input.Body.tools[_].retrieval.vertexRagStore.similarityTopK == INTEGER
    input.Body.tools[_].retrieval.vertexRagStore.vectorDistanceThreshold == NUMBER
    input.ReqMap.model == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.media.upload

valid {
    input.Body.ragFile.description == STRING
    input.Body.ragFile.displayName == STRING
    input.Body.ragFile.jiraSource.jiraQueries[_].apiKeyConfig.apiKeySecretVersion == STRING
    input.Body.ragFile.jiraSource.jiraQueries[_].customQueries[_] == STRING
    input.Body.ragFile.jiraSource.jiraQueries[_].email == STRING
    input.Body.ragFile.jiraSource.jiraQueries[_].projects[_] == STRING
    input.Body.ragFile.jiraSource.jiraQueries[_].serverUri == STRING
    input.Body.ragFile.sharePointSources.sharePointSources[_].clientId == STRING
    input.Body.ragFile.sharePointSources.sharePointSources[_].clientSecret.apiKeySecretVersion == STRING
    input.Body.ragFile.sharePointSources.sharePointSources[_].driveId == STRING
    input.Body.ragFile.sharePointSources.sharePointSources[_].driveName == STRING
    input.Body.ragFile.sharePointSources.sharePointSources[_].sharepointFolderId == STRING
    input.Body.ragFile.sharePointSources.sharePointSources[_].sharepointFolderPath == STRING
    input.Body.ragFile.sharePointSources.sharePointSources[_].sharepointSiteName == STRING
    input.Body.ragFile.sharePointSources.sharePointSources[_].tenantId == STRING
    input.Body.ragFile.slackSource.channels[_].apiKeyConfig.apiKeySecretVersion == STRING
    input.Body.ragFile.slackSource.channels[_].channels[_].channelId == STRING
    input.Body.ragFile.slackSource.channels[_].channels[_].endTime == STRING
    input.Body.ragFile.slackSource.channels[_].channels[_].startTime == STRING
    input.Body.uploadRagFileConfig.ragFileChunkingConfig.chunkOverlap == INTEGER
    input.Body.uploadRagFileConfig.ragFileChunkingConfig.chunkSize == INTEGER
    input.ReqMap.parent == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.getCacheConfig

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

aiplatform.projects.locations.agents.operations.cancel

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

aiplatform.projects.locations.agents.operations.delete

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

aiplatform.projects.locations.agents.operations.get

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

aiplatform.projects.locations.agents.operations.list

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

aiplatform.projects.locations.agents.operations.wait

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

aiplatform.projects.locations.apps.operations.cancel

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

aiplatform.projects.locations.apps.operations.delete

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

aiplatform.projects.locations.apps.operations.get

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

aiplatform.projects.locations.apps.operations.list

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

aiplatform.projects.locations.apps.operations.wait

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

aiplatform.projects.locations.augmentPrompt

enum_GoogleCloudAiplatformV1beta1CodeExecutionResultOutcome := [ "OUTCOME_UNSPECIFIED", "OUTCOME_OK", "OUTCOME_FAILED", "OUTCOME_DEADLINE_EXCEEDED" ]
enum_GoogleCloudAiplatformV1beta1ExecutableCodeLanguage := [ "LANGUAGE_UNSPECIFIED", "PYTHON" ]

valid {
    input.Body.contents[_].parts[_].codeExecutionResult.outcome == enum_GoogleCloudAiplatformV1beta1CodeExecutionResultOutcome[_]
    input.Body.contents[_].parts[_].codeExecutionResult.output == STRING
    input.Body.contents[_].parts[_].executableCode.code == STRING
    input.Body.contents[_].parts[_].executableCode.language == enum_GoogleCloudAiplatformV1beta1ExecutableCodeLanguage[_]
    input.Body.contents[_].parts[_].fileData.fileUri == STRING
    input.Body.contents[_].parts[_].fileData.mimeType == STRING
    input.Body.contents[_].parts[_].functionCall.args.STRING == ANY
    input.Body.contents[_].parts[_].functionCall.name == STRING
    input.Body.contents[_].parts[_].functionResponse.name == STRING
    input.Body.contents[_].parts[_].functionResponse.response.STRING == ANY
    input.Body.contents[_].parts[_].inlineData.data == STRING
    input.Body.contents[_].parts[_].inlineData.mimeType == STRING
    input.Body.contents[_].parts[_].text == STRING
    input.Body.contents[_].parts[_].videoMetadata.endOffset == STRING
    input.Body.contents[_].parts[_].videoMetadata.startOffset == STRING
    input.Body.contents[_].role == STRING
    input.Body.model.model == STRING
    input.Body.model.modelVersion == STRING
    input.Body.vertexRagStore.ragCorpora[_] == STRING
    input.Body.vertexRagStore.ragResources[_].ragCorpus == STRING
    input.Body.vertexRagStore.ragResources[_].ragFileIds[_] == STRING
    input.Body.vertexRagStore.similarityTopK == INTEGER
    input.Body.vertexRagStore.vectorDistanceThreshold == NUMBER
    input.ReqMap.parent == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.locations.batchPredictionJobs.cancel

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

aiplatform.projects.locations.batchPredictionJobs.create

enum_GoogleCloudAiplatformV1ExamplesExampleGcsSourceDataFormat := [ "DATA_FORMAT_UNSPECIFIED", "JSONL" ]
enum_GoogleCloudAiplatformV1ExplanationMetadataInputMetadataEncoding := [ "ENCODING_UNSPECIFIED", "IDENTITY", "BAG_OF_FEATURES", "BAG_OF_FEATURES_SPARSE", "INDICATOR", "COMBINED_EMBEDDING", "CONCAT_EMBEDDING" ]
enum_GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMap := [ "COLOR_MAP_UNSPECIFIED", "PINK_GREEN", "VIRIDIS", "RED", "GREEN", "RED_GREEN", "PINK_WHITE_GREEN" ]
enum_GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOverlayType := [ "OVERLAY_TYPE_UNSPECIFIED", "NONE", "ORIGINAL", "GRAYSCALE", "MASK_BLACK" ]
enum_GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPolarity := [ "POLARITY_UNSPECIFIED", "POSITIVE", "NEGATIVE", "BOTH" ]
enum_GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationType := [ "TYPE_UNSPECIFIED", "PIXELS", "OUTLINES" ]
enum_GoogleCloudAiplatformV1MachineSpecAcceleratorType := [ "ACCELERATOR_TYPE_UNSPECIFIED", "NVIDIA_TESLA_K80", "NVIDIA_TESLA_P100", "NVIDIA_TESLA_V100", "NVIDIA_TESLA_P4", "NVIDIA_TESLA_T4", "NVIDIA_TESLA_A100", "NVIDIA_A100_80GB", "NVIDIA_L4", "NVIDIA_H100_80GB", "TPU_V2", "TPU_V3", "TPU_V4_POD", "TPU_V5_LITEPOD" ]
enum_GoogleCloudAiplatformV1PresetsModality := [ "MODALITY_UNSPECIFIED", "IMAGE", "TEXT", "TABULAR" ]
enum_GoogleCloudAiplatformV1PresetsQuery := [ "PRECISE", "FAST" ]
enum_GoogleCloudAiplatformV1ReservationAffinityReservationAffinityType := [ "TYPE_UNSPECIFIED", "NO_RESERVATION", "ANY_RESERVATION", "SPECIFIC_RESERVATION" ]

valid {
    input.Body.dedicatedResources.machineSpec.acceleratorCount == INTEGER
    input.Body.dedicatedResources.machineSpec.acceleratorType == enum_GoogleCloudAiplatformV1MachineSpecAcceleratorType[_]
    input.Body.dedicatedResources.machineSpec.machineType == STRING
    input.Body.dedicatedResources.machineSpec.reservationAffinity.key == STRING
    input.Body.dedicatedResources.machineSpec.reservationAffinity.reservationAffinityType == enum_GoogleCloudAiplatformV1ReservationAffinityReservationAffinityType[_]
    input.Body.dedicatedResources.machineSpec.reservationAffinity.values[_] == STRING
    input.Body.dedicatedResources.machineSpec.tpuTopology == STRING
    input.Body.dedicatedResources.maxReplicaCount == INTEGER
    input.Body.dedicatedResources.startingReplicaCount == INTEGER
    input.Body.disableContainerLogging == BOOLEAN
    input.Body.displayName == STRING
    input.Body.encryptionSpec.kmsKeyName == STRING
    input.Body.explanationSpec.metadata.featureAttributionsSchemaUri == STRING
    input.Body.explanationSpec.metadata.inputs.STRING.denseShapeTensorName == STRING
    input.Body.explanationSpec.metadata.inputs.STRING.encodedBaselines[_] == ANY
    input.Body.explanationSpec.metadata.inputs.STRING.encodedTensorName == STRING
    input.Body.explanationSpec.metadata.inputs.STRING.encoding == enum_GoogleCloudAiplatformV1ExplanationMetadataInputMetadataEncoding[_]
    input.Body.explanationSpec.metadata.inputs.STRING.featureValueDomain.maxValue == NUMBER
    input.Body.explanationSpec.metadata.inputs.STRING.featureValueDomain.minValue == NUMBER
    input.Body.explanationSpec.metadata.inputs.STRING.featureValueDomain.originalMean == NUMBER
    input.Body.explanationSpec.metadata.inputs.STRING.featureValueDomain.originalStddev == NUMBER
    input.Body.explanationSpec.metadata.inputs.STRING.groupName == STRING
    input.Body.explanationSpec.metadata.inputs.STRING.indexFeatureMapping[_] == STRING
    input.Body.explanationSpec.metadata.inputs.STRING.indicesTensorName == STRING
    input.Body.explanationSpec.metadata.inputs.STRING.inputBaselines[_] == ANY
    input.Body.explanationSpec.metadata.inputs.STRING.inputTensorName == STRING
    input.Body.explanationSpec.metadata.inputs.STRING.modality == STRING
    input.Body.explanationSpec.metadata.inputs.STRING.visualization.clipPercentLowerbound == NUMBER
    input.Body.explanationSpec.metadata.inputs.STRING.visualization.clipPercentUpperbound == NUMBER
    input.Body.explanationSpec.metadata.inputs.STRING.visualization.colorMap == enum_GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMap[_]
    input.Body.explanationSpec.metadata.inputs.STRING.visualization.overlayType == enum_GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOverlayType[_]
    input.Body.explanationSpec.metadata.inputs.STRING.visualization.polarity == enum_GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPolarity[_]
    input.Body.explanationSpec.metadata.inputs.STRING.visualization.type == enum_GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationType[_]
    input.Body.explanationSpec.metadata.latentSpaceSource == STRING
    input.Body.explanationSpec.metadata.outputs.STRING.displayNameMappingKey == STRING
    input.Body.explanationSpec.metadata.outputs.STRING.indexDisplayNameMapping == ANY
    input.Body.explanationSpec.metadata.outputs.STRING.outputTensorName == STRING
    input.Body.explanationSpec.parameters.examples.exampleGcsSource.dataFormat == enum_GoogleCloudAiplatformV1ExamplesExampleGcsSourceDataFormat[_]
    input.Body.explanationSpec.parameters.examples.exampleGcsSource.gcsSource.uris[_] == STRING
    input.Body.explanationSpec.parameters.examples.nearestNeighborSearchConfig == ANY
    input.Body.explanationSpec.parameters.examples.neighborCount == INTEGER
    input.Body.explanationSpec.parameters.examples.presets.modality == enum_GoogleCloudAiplatformV1PresetsModality[_]
    input.Body.explanationSpec.parameters.examples.presets.query == enum_GoogleCloudAiplatformV1PresetsQuery[_]
    input.Body.explanationSpec.parameters.integratedGradientsAttribution.blurBaselineConfig.maxBlurSigma == NUMBER
    input.Body.explanationSpec.parameters.integratedGradientsAttribution.smoothGradConfig.featureNoiseSigma.noiseSigma[_].name == STRING
    input.Body.explanationSpec.parameters.integratedGradientsAttribution.smoothGradConfig.featureNoiseSigma.noiseSigma[_].sigma == NUMBER
    input.Body.explanationSpec.parameters.integratedGradientsAttribution.smoothGradConfig.noiseSigma == NUMBER
    input.Body.explanationSpec.parameters.integratedGradientsAttribution.smoothGradConfig.noisySampleCount == INTEGER
    input.Body.explanationSpec.parameters.integratedGradientsAttribution.stepCount == INTEGER
    input.Body.explanationSpec.parameters.outputIndices[_] == ANY
    input.Body.explanationSpec.parameters.sampledShapleyAttribution.pathCount == INTEGER
    input.Body.explanationSpec.parameters.topK == INTEGER
    input.Body.explanationSpec.parameters.xraiAttribution.blurBaselineConfig.maxBlurSigma == NUMBER
    input.Body.explanationSpec.parameters.xraiAttribution.smoothGradConfig.featureNoiseSigma.noiseSigma[_].name == STRING
    input.Body.explanationSpec.parameters.xraiAttribution.smoothGradConfig.featureNoiseSigma.noiseSigma[_].sigma == NUMBER
    input.Body.explanationSpec.parameters.xraiAttribution.smoothGradConfig.noiseSigma == NUMBER
    input.Body.explanationSpec.parameters.xraiAttribution.smoothGradConfig.noisySampleCount == INTEGER
    input.Body.explanationSpec.parameters.xraiAttribution.stepCount == INTEGER
    input.Body.generateExplanation == BOOLEAN
    input.Body.inputConfig.bigquerySource.inputUri == STRING
    input.Body.inputConfig.gcsSource.uris[_] == STRING
    input.Body.inputConfig.instancesFormat == STRING
    input.Body.instanceConfig.excludedFields[_] == STRING
    input.Body.instanceConfig.includedFields[_] == STRING
    input.Body.instanceConfig.instanceType == STRING
    input.Body.instanceConfig.keyField == STRING
    input.Body.labels.STRING == STRING
    input.Body.manualBatchTuningParameters.batchSize == INTEGER
    input.Body.model == STRING
    input.Body.modelParameters == ANY
    input.Body.outputConfig.bigqueryDestination.outputUri == STRING
    input.Body.outputConfig.gcsDestination.outputUriPrefix == STRING
    input.Body.outputConfig.predictionsFormat == STRING
    input.Body.serviceAccount == STRING
    input.Body.unmanagedContainerModel.artifactUri == STRING
    input.Body.unmanagedContainerModel.containerSpec.args[_] == STRING
    input.Body.unmanagedContainerModel.containerSpec.command[_] == STRING
    input.Body.unmanagedContainerModel.containerSpec.deploymentTimeout == STRING
    input.Body.unmanagedContainerModel.containerSpec.env[_].name == STRING
    input.Body.unmanagedContainerModel.containerSpec.env[_].value == STRING
    input.Body.unmanagedContainerModel.containerSpec.grpcPorts[_].containerPort == INTEGER
    input.Body.unmanagedContainerModel.containerSpec.healthProbe.exec.command[_] == STRING
    input.Body.unmanagedContainerModel.containerSpec.healthProbe.periodSeconds == INTEGER
    input.Body.unmanagedContainerModel.containerSpec.healthProbe.timeoutSeconds == INTEGER
    input.Body.unmanagedContainerModel.containerSpec.healthRoute == STRING
    input.Body.unmanagedContainerModel.containerSpec.imageUri == STRING
    input.Body.unmanagedContainerModel.containerSpec.ports[_].containerPort == INTEGER
    input.Body.unmanagedContainerModel.containerSpec.predictRoute == STRING
    input.Body.unmanagedContainerModel.containerSpec.sharedMemorySizeMb == STRING
    input.Body.unmanagedContainerModel.containerSpec.startupProbe.exec.command[_] == STRING
    input.Body.unmanagedContainerModel.containerSpec.startupProbe.periodSeconds == INTEGER
    input.Body.unmanagedContainerModel.containerSpec.startupProbe.timeoutSeconds == INTEGER
    input.Body.unmanagedContainerModel.predictSchemata.instanceSchemaUri == STRING
    input.Body.unmanagedContainerModel.predictSchemata.parametersSchemaUri == STRING
    input.Body.unmanagedContainerModel.predictSchemata.predictionSchemaUri == STRING
    input.ReqMap.parent == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.locations.batchPredictionJobs.delete

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

aiplatform.projects.locations.batchPredictionJobs.get

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

aiplatform.projects.locations.batchPredictionJobs.list

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

aiplatform.projects.locations.cachedContents.create

enum_GoogleCloudAiplatformV1beta1CodeExecutionResultOutcome := [ "OUTCOME_UNSPECIFIED", "OUTCOME_OK", "OUTCOME_FAILED", "OUTCOME_DEADLINE_EXCEEDED" ]
enum_GoogleCloudAiplatformV1beta1DynamicRetrievalConfigMode := [ "MODE_UNSPECIFIED", "MODE_DYNAMIC" ]
enum_GoogleCloudAiplatformV1beta1ExecutableCodeLanguage := [ "LANGUAGE_UNSPECIFIED", "PYTHON" ]
enum_GoogleCloudAiplatformV1beta1FunctionCallingConfigMode := [ "MODE_UNSPECIFIED", "AUTO", "ANY", "NONE" ]
enum_GoogleCloudAiplatformV1beta1SchemaType := [ "TYPE_UNSPECIFIED", "STRING", "NUMBER", "INTEGER", "BOOLEAN", "ARRAY", "OBJECT" ]

valid {
    input.Body.contents[_].parts[_].codeExecutionResult.outcome == enum_GoogleCloudAiplatformV1beta1CodeExecutionResultOutcome[_]
    input.Body.contents[_].parts[_].codeExecutionResult.output == STRING
    input.Body.contents[_].parts[_].executableCode.code == STRING
    input.Body.contents[_].parts[_].executableCode.language == enum_GoogleCloudAiplatformV1beta1ExecutableCodeLanguage[_]
    input.Body.contents[_].parts[_].fileData.fileUri == STRING
    input.Body.contents[_].parts[_].fileData.mimeType == STRING
    input.Body.contents[_].parts[_].functionCall.args.STRING == ANY
    input.Body.contents[_].parts[_].functionCall.name == STRING
    input.Body.contents[_].parts[_].functionResponse.name == STRING
    input.Body.contents[_].parts[_].functionResponse.response.STRING == ANY
    input.Body.contents[_].parts[_].inlineData.data == STRING
    input.Body.contents[_].parts[_].inlineData.mimeType == STRING
    input.Body.contents[_].parts[_].text == STRING
    input.Body.contents[_].parts[_].videoMetadata.endOffset == STRING
    input.Body.contents[_].parts[_].videoMetadata.startOffset == STRING
    input.Body.contents[_].role == STRING
    input.Body.displayName == STRING
    input.Body.expireTime == STRING
    input.Body.model == STRING
    input.Body.name == STRING
    input.Body.systemInstruction.parts[_].codeExecutionResult.outcome == enum_GoogleCloudAiplatformV1beta1CodeExecutionResultOutcome[_]
    input.Body.systemInstruction.parts[_].codeExecutionResult.output == STRING
    input.Body.systemInstruction.parts[_].executableCode.code == STRING
    input.Body.systemInstruction.parts[_].executableCode.language == enum_GoogleCloudAiplatformV1beta1ExecutableCodeLanguage[_]
    input.Body.systemInstruction.parts[_].fileData.fileUri == STRING
    input.Body.systemInstruction.parts[_].fileData.mimeType == STRING
    input.Body.systemInstruction.parts[_].functionCall.args.STRING == ANY
    input.Body.systemInstruction.parts[_].functionCall.name == STRING
    input.Body.systemInstruction.parts[_].functionResponse.name == STRING
    input.Body.systemInstruction.parts[_].functionResponse.response.STRING == ANY
    input.Body.systemInstruction.parts[_].inlineData.data == STRING
    input.Body.systemInstruction.parts[_].inlineData.mimeType == STRING
    input.Body.systemInstruction.parts[_].text == STRING
    input.Body.systemInstruction.parts[_].videoMetadata.endOffset == STRING
    input.Body.systemInstruction.parts[_].videoMetadata.startOffset == STRING
    input.Body.systemInstruction.role == STRING
    input.Body.toolConfig.functionCallingConfig.allowedFunctionNames[_] == STRING
    input.Body.toolConfig.functionCallingConfig.mode == enum_GoogleCloudAiplatformV1beta1FunctionCallingConfigMode[_]
    input.Body.tools[_].codeExecution.STRING == STRING
    input.Body.tools[_].functionDeclarations[_].description == STRING
    input.Body.tools[_].functionDeclarations[_].name == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.anyOf[_] == NESTED
    input.Body.tools[_].functionDeclarations[_].parameters.default == ANY
    input.Body.tools[_].functionDeclarations[_].parameters.description == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.enum[_] == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.example == ANY
    input.Body.tools[_].functionDeclarations[_].parameters.format == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.items == NESTED
    input.Body.tools[_].functionDeclarations[_].parameters.maxItems == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.maxLength == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.maxProperties == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.maximum == NUMBER
    input.Body.tools[_].functionDeclarations[_].parameters.minItems == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.minLength == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.minProperties == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.minimum == NUMBER
    input.Body.tools[_].functionDeclarations[_].parameters.nullable == BOOLEAN
    input.Body.tools[_].functionDeclarations[_].parameters.pattern == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.properties.STRING == NESTED
    input.Body.tools[_].functionDeclarations[_].parameters.propertyOrdering[_] == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.required[_] == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.title == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.type == enum_GoogleCloudAiplatformV1beta1SchemaType[_]
    input.Body.tools[_].functionDeclarations[_].response.anyOf[_] == NESTED
    input.Body.tools[_].functionDeclarations[_].response.default == ANY
    input.Body.tools[_].functionDeclarations[_].response.description == STRING
    input.Body.tools[_].functionDeclarations[_].response.enum[_] == STRING
    input.Body.tools[_].functionDeclarations[_].response.example == ANY
    input.Body.tools[_].functionDeclarations[_].response.format == STRING
    input.Body.tools[_].functionDeclarations[_].response.items == NESTED
    input.Body.tools[_].functionDeclarations[_].response.maxItems == STRING
    input.Body.tools[_].functionDeclarations[_].response.maxLength == STRING
    input.Body.tools[_].functionDeclarations[_].response.maxProperties == STRING
    input.Body.tools[_].functionDeclarations[_].response.maximum == NUMBER
    input.Body.tools[_].functionDeclarations[_].response.minItems == STRING
    input.Body.tools[_].functionDeclarations[_].response.minLength == STRING
    input.Body.tools[_].functionDeclarations[_].response.minProperties == STRING
    input.Body.tools[_].functionDeclarations[_].response.minimum == NUMBER
    input.Body.tools[_].functionDeclarations[_].response.nullable == BOOLEAN
    input.Body.tools[_].functionDeclarations[_].response.pattern == STRING
    input.Body.tools[_].functionDeclarations[_].response.properties.STRING == NESTED
    input.Body.tools[_].functionDeclarations[_].response.propertyOrdering[_] == STRING
    input.Body.tools[_].functionDeclarations[_].response.required[_] == STRING
    input.Body.tools[_].functionDeclarations[_].response.title == STRING
    input.Body.tools[_].functionDeclarations[_].response.type == enum_GoogleCloudAiplatformV1beta1SchemaType[_]
    input.Body.tools[_].googleSearchRetrieval.dynamicRetrievalConfig.dynamicThreshold == NUMBER
    input.Body.tools[_].googleSearchRetrieval.dynamicRetrievalConfig.mode == enum_GoogleCloudAiplatformV1beta1DynamicRetrievalConfigMode[_]
    input.Body.tools[_].retrieval.disableAttribution == BOOLEAN
    input.Body.tools[_].retrieval.vertexAiSearch.datastore == STRING
    input.Body.tools[_].retrieval.vertexRagStore.ragCorpora[_] == STRING
    input.Body.tools[_].retrieval.vertexRagStore.ragResources[_].ragCorpus == STRING
    input.Body.tools[_].retrieval.vertexRagStore.ragResources[_].ragFileIds[_] == STRING
    input.Body.tools[_].retrieval.vertexRagStore.similarityTopK == INTEGER
    input.Body.tools[_].retrieval.vertexRagStore.vectorDistanceThreshold == NUMBER
    input.Body.ttl == STRING
    input.ReqMap.parent == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.locations.cachedContents.delete

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

aiplatform.projects.locations.cachedContents.get

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

aiplatform.projects.locations.cachedContents.list

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

aiplatform.projects.locations.cachedContents.patch

enum_GoogleCloudAiplatformV1beta1CodeExecutionResultOutcome := [ "OUTCOME_UNSPECIFIED", "OUTCOME_OK", "OUTCOME_FAILED", "OUTCOME_DEADLINE_EXCEEDED" ]
enum_GoogleCloudAiplatformV1beta1DynamicRetrievalConfigMode := [ "MODE_UNSPECIFIED", "MODE_DYNAMIC" ]
enum_GoogleCloudAiplatformV1beta1ExecutableCodeLanguage := [ "LANGUAGE_UNSPECIFIED", "PYTHON" ]
enum_GoogleCloudAiplatformV1beta1FunctionCallingConfigMode := [ "MODE_UNSPECIFIED", "AUTO", "ANY", "NONE" ]
enum_GoogleCloudAiplatformV1beta1SchemaType := [ "TYPE_UNSPECIFIED", "STRING", "NUMBER", "INTEGER", "BOOLEAN", "ARRAY", "OBJECT" ]

valid {
    input.Body.contents[_].parts[_].codeExecutionResult.outcome == enum_GoogleCloudAiplatformV1beta1CodeExecutionResultOutcome[_]
    input.Body.contents[_].parts[_].codeExecutionResult.output == STRING
    input.Body.contents[_].parts[_].executableCode.code == STRING
    input.Body.contents[_].parts[_].executableCode.language == enum_GoogleCloudAiplatformV1beta1ExecutableCodeLanguage[_]
    input.Body.contents[_].parts[_].fileData.fileUri == STRING
    input.Body.contents[_].parts[_].fileData.mimeType == STRING
    input.Body.contents[_].parts[_].functionCall.args.STRING == ANY
    input.Body.contents[_].parts[_].functionCall.name == STRING
    input.Body.contents[_].parts[_].functionResponse.name == STRING
    input.Body.contents[_].parts[_].functionResponse.response.STRING == ANY
    input.Body.contents[_].parts[_].inlineData.data == STRING
    input.Body.contents[_].parts[_].inlineData.mimeType == STRING
    input.Body.contents[_].parts[_].text == STRING
    input.Body.contents[_].parts[_].videoMetadata.endOffset == STRING
    input.Body.contents[_].parts[_].videoMetadata.startOffset == STRING
    input.Body.contents[_].role == STRING
    input.Body.displayName == STRING
    input.Body.expireTime == STRING
    input.Body.model == STRING
    input.Body.name == STRING
    input.Body.systemInstruction.parts[_].codeExecutionResult.outcome == enum_GoogleCloudAiplatformV1beta1CodeExecutionResultOutcome[_]
    input.Body.systemInstruction.parts[_].codeExecutionResult.output == STRING
    input.Body.systemInstruction.parts[_].executableCode.code == STRING
    input.Body.systemInstruction.parts[_].executableCode.language == enum_GoogleCloudAiplatformV1beta1ExecutableCodeLanguage[_]
    input.Body.systemInstruction.parts[_].fileData.fileUri == STRING
    input.Body.systemInstruction.parts[_].fileData.mimeType == STRING
    input.Body.systemInstruction.parts[_].functionCall.args.STRING == ANY
    input.Body.systemInstruction.parts[_].functionCall.name == STRING
    input.Body.systemInstruction.parts[_].functionResponse.name == STRING
    input.Body.systemInstruction.parts[_].functionResponse.response.STRING == ANY
    input.Body.systemInstruction.parts[_].inlineData.data == STRING
    input.Body.systemInstruction.parts[_].inlineData.mimeType == STRING
    input.Body.systemInstruction.parts[_].text == STRING
    input.Body.systemInstruction.parts[_].videoMetadata.endOffset == STRING
    input.Body.systemInstruction.parts[_].videoMetadata.startOffset == STRING
    input.Body.systemInstruction.role == STRING
    input.Body.toolConfig.functionCallingConfig.allowedFunctionNames[_] == STRING
    input.Body.toolConfig.functionCallingConfig.mode == enum_GoogleCloudAiplatformV1beta1FunctionCallingConfigMode[_]
    input.Body.tools[_].codeExecution.STRING == STRING
    input.Body.tools[_].functionDeclarations[_].description == STRING
    input.Body.tools[_].functionDeclarations[_].name == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.anyOf[_] == NESTED
    input.Body.tools[_].functionDeclarations[_].parameters.default == ANY
    input.Body.tools[_].functionDeclarations[_].parameters.description == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.enum[_] == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.example == ANY
    input.Body.tools[_].functionDeclarations[_].parameters.format == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.items == NESTED
    input.Body.tools[_].functionDeclarations[_].parameters.maxItems == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.maxLength == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.maxProperties == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.maximum == NUMBER
    input.Body.tools[_].functionDeclarations[_].parameters.minItems == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.minLength == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.minProperties == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.minimum == NUMBER
    input.Body.tools[_].functionDeclarations[_].parameters.nullable == BOOLEAN
    input.Body.tools[_].functionDeclarations[_].parameters.pattern == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.properties.STRING == NESTED
    input.Body.tools[_].functionDeclarations[_].parameters.propertyOrdering[_] == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.required[_] == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.title == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.type == enum_GoogleCloudAiplatformV1beta1SchemaType[_]
    input.Body.tools[_].functionDeclarations[_].response.anyOf[_] == NESTED
    input.Body.tools[_].functionDeclarations[_].response.default == ANY
    input.Body.tools[_].functionDeclarations[_].response.description == STRING
    input.Body.tools[_].functionDeclarations[_].response.enum[_] == STRING
    input.Body.tools[_].functionDeclarations[_].response.example == ANY
    input.Body.tools[_].functionDeclarations[_].response.format == STRING
    input.Body.tools[_].functionDeclarations[_].response.items == NESTED
    input.Body.tools[_].functionDeclarations[_].response.maxItems == STRING
    input.Body.tools[_].functionDeclarations[_].response.maxLength == STRING
    input.Body.tools[_].functionDeclarations[_].response.maxProperties == STRING
    input.Body.tools[_].functionDeclarations[_].response.maximum == NUMBER
    input.Body.tools[_].functionDeclarations[_].response.minItems == STRING
    input.Body.tools[_].functionDeclarations[_].response.minLength == STRING
    input.Body.tools[_].functionDeclarations[_].response.minProperties == STRING
    input.Body.tools[_].functionDeclarations[_].response.minimum == NUMBER
    input.Body.tools[_].functionDeclarations[_].response.nullable == BOOLEAN
    input.Body.tools[_].functionDeclarations[_].response.pattern == STRING
    input.Body.tools[_].functionDeclarations[_].response.properties.STRING == NESTED
    input.Body.tools[_].functionDeclarations[_].response.propertyOrdering[_] == STRING
    input.Body.tools[_].functionDeclarations[_].response.required[_] == STRING
    input.Body.tools[_].functionDeclarations[_].response.title == STRING
    input.Body.tools[_].functionDeclarations[_].response.type == enum_GoogleCloudAiplatformV1beta1SchemaType[_]
    input.Body.tools[_].googleSearchRetrieval.dynamicRetrievalConfig.dynamicThreshold == NUMBER
    input.Body.tools[_].googleSearchRetrieval.dynamicRetrievalConfig.mode == enum_GoogleCloudAiplatformV1beta1DynamicRetrievalConfigMode[_]
    input.Body.tools[_].retrieval.disableAttribution == BOOLEAN
    input.Body.tools[_].retrieval.vertexAiSearch.datastore == STRING
    input.Body.tools[_].retrieval.vertexRagStore.ragCorpora[_] == STRING
    input.Body.tools[_].retrieval.vertexRagStore.ragResources[_].ragCorpus == STRING
    input.Body.tools[_].retrieval.vertexRagStore.ragResources[_].ragFileIds[_] == STRING
    input.Body.tools[_].retrieval.vertexRagStore.similarityTopK == INTEGER
    input.Body.tools[_].retrieval.vertexRagStore.vectorDistanceThreshold == NUMBER
    input.Body.ttl == STRING
    input.ReqMap.name == STRING
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.locations.corroborateContent

enum_GoogleCloudAiplatformV1beta1CodeExecutionResultOutcome := [ "OUTCOME_UNSPECIFIED", "OUTCOME_OK", "OUTCOME_FAILED", "OUTCOME_DEADLINE_EXCEEDED" ]
enum_GoogleCloudAiplatformV1beta1ExecutableCodeLanguage := [ "LANGUAGE_UNSPECIFIED", "PYTHON" ]

valid {
    input.Body.content.parts[_].codeExecutionResult.outcome == enum_GoogleCloudAiplatformV1beta1CodeExecutionResultOutcome[_]
    input.Body.content.parts[_].codeExecutionResult.output == STRING
    input.Body.content.parts[_].executableCode.code == STRING
    input.Body.content.parts[_].executableCode.language == enum_GoogleCloudAiplatformV1beta1ExecutableCodeLanguage[_]
    input.Body.content.parts[_].fileData.fileUri == STRING
    input.Body.content.parts[_].fileData.mimeType == STRING
    input.Body.content.parts[_].functionCall.args.STRING == ANY
    input.Body.content.parts[_].functionCall.name == STRING
    input.Body.content.parts[_].functionResponse.name == STRING
    input.Body.content.parts[_].functionResponse.response.STRING == ANY
    input.Body.content.parts[_].inlineData.data == STRING
    input.Body.content.parts[_].inlineData.mimeType == STRING
    input.Body.content.parts[_].text == STRING
    input.Body.content.parts[_].videoMetadata.endOffset == STRING
    input.Body.content.parts[_].videoMetadata.startOffset == STRING
    input.Body.content.role == STRING
    input.Body.facts[_].query == STRING
    input.Body.facts[_].summary == STRING
    input.Body.facts[_].title == STRING
    input.Body.facts[_].uri == STRING
    input.Body.facts[_].vectorDistance == NUMBER
    input.Body.parameters.citationThreshold == NUMBER
    input.ReqMap.parent == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.locations.customJobs.cancel

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

aiplatform.projects.locations.customJobs.create

enum_GoogleCloudAiplatformV1MachineSpecAcceleratorType := [ "ACCELERATOR_TYPE_UNSPECIFIED", "NVIDIA_TESLA_K80", "NVIDIA_TESLA_P100", "NVIDIA_TESLA_V100", "NVIDIA_TESLA_P4", "NVIDIA_TESLA_T4", "NVIDIA_TESLA_A100", "NVIDIA_A100_80GB", "NVIDIA_L4", "NVIDIA_H100_80GB", "TPU_V2", "TPU_V3", "TPU_V4_POD", "TPU_V5_LITEPOD" ]
enum_GoogleCloudAiplatformV1ReservationAffinityReservationAffinityType := [ "TYPE_UNSPECIFIED", "NO_RESERVATION", "ANY_RESERVATION", "SPECIFIC_RESERVATION" ]
enum_GoogleCloudAiplatformV1SchedulingStrategy := [ "STRATEGY_UNSPECIFIED", "ON_DEMAND", "LOW_COST", "STANDARD", "SPOT", "FLEX_START" ]

valid {
    input.Body.displayName == STRING
    input.Body.encryptionSpec.kmsKeyName == STRING
    input.Body.jobSpec.baseOutputDirectory.outputUriPrefix == STRING
    input.Body.jobSpec.enableDashboardAccess == BOOLEAN
    input.Body.jobSpec.enableWebAccess == BOOLEAN
    input.Body.jobSpec.experiment == STRING
    input.Body.jobSpec.experimentRun == STRING
    input.Body.jobSpec.models[_] == STRING
    input.Body.jobSpec.network == STRING
    input.Body.jobSpec.persistentResourceId == STRING
    input.Body.jobSpec.protectedArtifactLocationId == STRING
    input.Body.jobSpec.reservedIpRanges[_] == STRING
    input.Body.jobSpec.scheduling.disableRetries == BOOLEAN
    input.Body.jobSpec.scheduling.maxWaitDuration == STRING
    input.Body.jobSpec.scheduling.restartJobOnWorkerRestart == BOOLEAN
    input.Body.jobSpec.scheduling.strategy == enum_GoogleCloudAiplatformV1SchedulingStrategy[_]
    input.Body.jobSpec.scheduling.timeout == STRING
    input.Body.jobSpec.serviceAccount == STRING
    input.Body.jobSpec.tensorboard == STRING
    input.Body.jobSpec.workerPoolSpecs[_].containerSpec.args[_] == STRING
    input.Body.jobSpec.workerPoolSpecs[_].containerSpec.command[_] == STRING
    input.Body.jobSpec.workerPoolSpecs[_].containerSpec.env[_].name == STRING
    input.Body.jobSpec.workerPoolSpecs[_].containerSpec.env[_].value == STRING
    input.Body.jobSpec.workerPoolSpecs[_].containerSpec.imageUri == STRING
    input.Body.jobSpec.workerPoolSpecs[_].diskSpec.bootDiskSizeGb == INTEGER
    input.Body.jobSpec.workerPoolSpecs[_].diskSpec.bootDiskType == STRING
    input.Body.jobSpec.workerPoolSpecs[_].machineSpec.acceleratorCount == INTEGER
    input.Body.jobSpec.workerPoolSpecs[_].machineSpec.acceleratorType == enum_GoogleCloudAiplatformV1MachineSpecAcceleratorType[_]
    input.Body.jobSpec.workerPoolSpecs[_].machineSpec.machineType == STRING
    input.Body.jobSpec.workerPoolSpecs[_].machineSpec.reservationAffinity.key == STRING
    input.Body.jobSpec.workerPoolSpecs[_].machineSpec.reservationAffinity.reservationAffinityType == enum_GoogleCloudAiplatformV1ReservationAffinityReservationAffinityType[_]
    input.Body.jobSpec.workerPoolSpecs[_].machineSpec.reservationAffinity.values[_] == STRING
    input.Body.jobSpec.workerPoolSpecs[_].machineSpec.tpuTopology == STRING
    input.Body.jobSpec.workerPoolSpecs[_].nfsMounts[_].mountPoint == STRING
    input.Body.jobSpec.workerPoolSpecs[_].nfsMounts[_].path == STRING
    input.Body.jobSpec.workerPoolSpecs[_].nfsMounts[_].server == STRING
    input.Body.jobSpec.workerPoolSpecs[_].pythonPackageSpec.args[_] == STRING
    input.Body.jobSpec.workerPoolSpecs[_].pythonPackageSpec.env[_].name == STRING
    input.Body.jobSpec.workerPoolSpecs[_].pythonPackageSpec.env[_].value == STRING
    input.Body.jobSpec.workerPoolSpecs[_].pythonPackageSpec.executorImageUri == STRING
    input.Body.jobSpec.workerPoolSpecs[_].pythonPackageSpec.packageUris[_] == STRING
    input.Body.jobSpec.workerPoolSpecs[_].pythonPackageSpec.pythonModule == STRING
    input.Body.jobSpec.workerPoolSpecs[_].replicaCount == STRING
    input.Body.labels.STRING == STRING
    input.ReqMap.parent == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.locations.customJobs.delete

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

aiplatform.projects.locations.customJobs.get

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

aiplatform.projects.locations.customJobs.list

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

aiplatform.projects.locations.customJobs.operations.cancel

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

aiplatform.projects.locations.customJobs.operations.delete

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

aiplatform.projects.locations.customJobs.operations.get

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

aiplatform.projects.locations.customJobs.operations.list

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

aiplatform.projects.locations.customJobs.operations.wait

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

aiplatform.projects.locations.dataLabelingJobs.cancel

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

aiplatform.projects.locations.dataLabelingJobs.create

enum_GoogleCloudAiplatformV1SampleConfigSampleStrategy := [ "SAMPLE_STRATEGY_UNSPECIFIED", "UNCERTAINTY" ]

valid {
    input.Body.activeLearningConfig.maxDataItemCount == STRING
    input.Body.activeLearningConfig.maxDataItemPercentage == INTEGER
    input.Body.activeLearningConfig.sampleConfig.followingBatchSamplePercentage == INTEGER
    input.Body.activeLearningConfig.sampleConfig.initialBatchSamplePercentage == INTEGER
    input.Body.activeLearningConfig.sampleConfig.sampleStrategy == enum_GoogleCloudAiplatformV1SampleConfigSampleStrategy[_]
    input.Body.activeLearningConfig.trainingConfig.timeoutTrainingMilliHours == STRING
    input.Body.annotationLabels.STRING == STRING
    input.Body.datasets[_] == STRING
    input.Body.displayName == STRING
    input.Body.encryptionSpec.kmsKeyName == STRING
    input.Body.inputs == ANY
    input.Body.inputsSchemaUri == STRING
    input.Body.instructionUri == STRING
    input.Body.labelerCount == INTEGER
    input.Body.labels.STRING == STRING
    input.Body.specialistPools[_] == STRING
    input.ReqMap.parent == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.locations.dataLabelingJobs.delete

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

aiplatform.projects.locations.dataLabelingJobs.get

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

aiplatform.projects.locations.dataLabelingJobs.list

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

aiplatform.projects.locations.dataLabelingJobs.operations.cancel

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

aiplatform.projects.locations.dataLabelingJobs.operations.delete

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

aiplatform.projects.locations.dataLabelingJobs.operations.get

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

aiplatform.projects.locations.dataLabelingJobs.operations.list

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

aiplatform.projects.locations.dataLabelingJobs.operations.wait

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

aiplatform.projects.locations.datasets.annotationSpecs.get

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

aiplatform.projects.locations.datasets.annotationSpecs.operations.cancel

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

aiplatform.projects.locations.datasets.annotationSpecs.operations.delete

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

aiplatform.projects.locations.datasets.annotationSpecs.operations.get

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

aiplatform.projects.locations.datasets.annotationSpecs.operations.list

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

aiplatform.projects.locations.datasets.annotationSpecs.operations.wait

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

aiplatform.projects.locations.datasets.create

valid {
    input.Body.description == STRING
    input.Body.displayName == STRING
    input.Body.encryptionSpec.kmsKeyName == STRING
    input.Body.etag == STRING
    input.Body.labels.STRING == STRING
    input.Body.metadata == ANY
    input.Body.metadataSchemaUri == STRING
    input.Body.modelReference == STRING
    input.Body.savedQueries[_].displayName == STRING
    input.Body.savedQueries[_].etag == STRING
    input.Body.savedQueries[_].metadata == ANY
    input.Body.savedQueries[_].problemType == STRING
    input.ReqMap.parent == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.locations.datasets.dataItems.annotations.list

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

aiplatform.projects.locations.datasets.dataItems.annotations.operations.cancel

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

aiplatform.projects.locations.datasets.dataItems.annotations.operations.delete

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

aiplatform.projects.locations.datasets.dataItems.annotations.operations.get

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

aiplatform.projects.locations.datasets.dataItems.annotations.operations.list

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

aiplatform.projects.locations.datasets.dataItems.annotations.operations.wait

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

aiplatform.projects.locations.datasets.dataItems.list

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

aiplatform.projects.locations.datasets.dataItems.operations.cancel

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

aiplatform.projects.locations.datasets.dataItems.operations.delete

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

aiplatform.projects.locations.datasets.dataItems.operations.get

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

aiplatform.projects.locations.datasets.dataItems.operations.list

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

aiplatform.projects.locations.datasets.dataItems.operations.wait

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

aiplatform.projects.locations.datasets.datasetVersions.create

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

aiplatform.projects.locations.datasets.datasetVersions.delete

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

aiplatform.projects.locations.datasets.datasetVersions.get

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

aiplatform.projects.locations.datasets.datasetVersions.list

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

aiplatform.projects.locations.datasets.datasetVersions.patch

valid {
    input.Body.displayName == STRING
    input.Body.etag == STRING
    input.ReqMap.name == STRING
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.locations.datasets.datasetVersions.restore

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

aiplatform.projects.locations.datasets.delete

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

aiplatform.projects.locations.datasets.export

enum_GoogleCloudAiplatformV1ExportDataConfigExportUse := [ "EXPORT_USE_UNSPECIFIED", "CUSTOM_CODE_TRAINING" ]

valid {
    input.Body.exportConfig.annotationSchemaUri == STRING
    input.Body.exportConfig.annotationsFilter == STRING
    input.Body.exportConfig.exportUse == enum_GoogleCloudAiplatformV1ExportDataConfigExportUse[_]
    input.Body.exportConfig.filterSplit.testFilter == STRING
    input.Body.exportConfig.filterSplit.trainingFilter == STRING
    input.Body.exportConfig.filterSplit.validationFilter == STRING
    input.Body.exportConfig.fractionSplit.testFraction == NUMBER
    input.Body.exportConfig.fractionSplit.trainingFraction == NUMBER
    input.Body.exportConfig.fractionSplit.validationFraction == NUMBER
    input.Body.exportConfig.gcsDestination.outputUriPrefix == STRING
    input.Body.exportConfig.savedQueryId == STRING
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.locations.datasets.get

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

aiplatform.projects.locations.datasets.import

valid {
    input.Body.importConfigs[_].annotationLabels.STRING == STRING
    input.Body.importConfigs[_].dataItemLabels.STRING == STRING
    input.Body.importConfigs[_].gcsSource.uris[_] == STRING
    input.Body.importConfigs[_].importSchemaUri == STRING
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.locations.datasets.list

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

aiplatform.projects.locations.datasets.operations.cancel

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

aiplatform.projects.locations.datasets.operations.delete

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

aiplatform.projects.locations.datasets.operations.get

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

aiplatform.projects.locations.datasets.operations.list

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

aiplatform.projects.locations.datasets.operations.wait

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

aiplatform.projects.locations.datasets.patch

valid {
    input.Body.description == STRING
    input.Body.displayName == STRING
    input.Body.encryptionSpec.kmsKeyName == STRING
    input.Body.etag == STRING
    input.Body.labels.STRING == STRING
    input.Body.metadata == ANY
    input.Body.metadataSchemaUri == STRING
    input.Body.modelReference == STRING
    input.Body.savedQueries[_].displayName == STRING
    input.Body.savedQueries[_].etag == STRING
    input.Body.savedQueries[_].metadata == ANY
    input.Body.savedQueries[_].problemType == STRING
    input.ReqMap.name == STRING
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.locations.datasets.savedQueries.delete

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

aiplatform.projects.locations.datasets.savedQueries.list

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

aiplatform.projects.locations.datasets.savedQueries.operations.cancel

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

aiplatform.projects.locations.datasets.savedQueries.operations.delete

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

aiplatform.projects.locations.datasets.savedQueries.operations.get

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

aiplatform.projects.locations.datasets.savedQueries.operations.list

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

aiplatform.projects.locations.datasets.savedQueries.operations.wait

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

aiplatform.projects.locations.datasets.searchDataItems

valid {
    input.ReqMap.dataset == STRING
    input.Qs.annotationFilters == STRING
    input.Qs.annotationsFilter == STRING
    input.Qs.annotationsLimit == INTEGER
    input.Qs.dataItemFilter == STRING
    input.Qs.dataLabelingJob == STRING
    input.Qs.fieldMask == STRING
    input.Qs.orderBy == STRING
    input.Qs.orderByAnnotation.orderBy == STRING
    input.Qs.orderByAnnotation.savedQuery == STRING
    input.Qs.orderByDataItem == STRING
    input.Qs.pageSize == INTEGER
    input.Qs.pageToken == STRING
    input.Qs.savedQuery == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.locations.deploymentResourcePools.create

enum_GoogleCloudAiplatformV1MachineSpecAcceleratorType := [ "ACCELERATOR_TYPE_UNSPECIFIED", "NVIDIA_TESLA_K80", "NVIDIA_TESLA_P100", "NVIDIA_TESLA_V100", "NVIDIA_TESLA_P4", "NVIDIA_TESLA_T4", "NVIDIA_TESLA_A100", "NVIDIA_A100_80GB", "NVIDIA_L4", "NVIDIA_H100_80GB", "TPU_V2", "TPU_V3", "TPU_V4_POD", "TPU_V5_LITEPOD" ]
enum_GoogleCloudAiplatformV1ReservationAffinityReservationAffinityType := [ "TYPE_UNSPECIFIED", "NO_RESERVATION", "ANY_RESERVATION", "SPECIFIC_RESERVATION" ]

valid {
    input.Body.deploymentResourcePool.dedicatedResources.autoscalingMetricSpecs[_].metricName == STRING
    input.Body.deploymentResourcePool.dedicatedResources.autoscalingMetricSpecs[_].target == INTEGER
    input.Body.deploymentResourcePool.dedicatedResources.machineSpec.acceleratorCount == INTEGER
    input.Body.deploymentResourcePool.dedicatedResources.machineSpec.acceleratorType == enum_GoogleCloudAiplatformV1MachineSpecAcceleratorType[_]
    input.Body.deploymentResourcePool.dedicatedResources.machineSpec.machineType == STRING
    input.Body.deploymentResourcePool.dedicatedResources.machineSpec.reservationAffinity.key == STRING
    input.Body.deploymentResourcePool.dedicatedResources.machineSpec.reservationAffinity.reservationAffinityType == enum_GoogleCloudAiplatformV1ReservationAffinityReservationAffinityType[_]
    input.Body.deploymentResourcePool.dedicatedResources.machineSpec.reservationAffinity.values[_] == STRING
    input.Body.deploymentResourcePool.dedicatedResources.machineSpec.tpuTopology == STRING
    input.Body.deploymentResourcePool.dedicatedResources.maxReplicaCount == INTEGER
    input.Body.deploymentResourcePool.dedicatedResources.minReplicaCount == INTEGER
    input.Body.deploymentResourcePool.dedicatedResources.spot == BOOLEAN
    input.Body.deploymentResourcePool.disableContainerLogging == BOOLEAN
    input.Body.deploymentResourcePool.encryptionSpec.kmsKeyName == STRING
    input.Body.deploymentResourcePool.name == STRING
    input.Body.deploymentResourcePool.serviceAccount == STRING
    input.Body.deploymentResourcePoolId == STRING
    input.ReqMap.parent == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.locations.deploymentResourcePools.delete

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

aiplatform.projects.locations.deploymentResourcePools.get

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

aiplatform.projects.locations.deploymentResourcePools.list

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

aiplatform.projects.locations.deploymentResourcePools.operations.cancel

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

aiplatform.projects.locations.deploymentResourcePools.operations.delete

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

aiplatform.projects.locations.deploymentResourcePools.operations.get

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

aiplatform.projects.locations.deploymentResourcePools.operations.list

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

aiplatform.projects.locations.deploymentResourcePools.operations.wait

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

aiplatform.projects.locations.deploymentResourcePools.patch

enum_GoogleCloudAiplatformV1MachineSpecAcceleratorType := [ "ACCELERATOR_TYPE_UNSPECIFIED", "NVIDIA_TESLA_K80", "NVIDIA_TESLA_P100", "NVIDIA_TESLA_V100", "NVIDIA_TESLA_P4", "NVIDIA_TESLA_T4", "NVIDIA_TESLA_A100", "NVIDIA_A100_80GB", "NVIDIA_L4", "NVIDIA_H100_80GB", "TPU_V2", "TPU_V3", "TPU_V4_POD", "TPU_V5_LITEPOD" ]
enum_GoogleCloudAiplatformV1ReservationAffinityReservationAffinityType := [ "TYPE_UNSPECIFIED", "NO_RESERVATION", "ANY_RESERVATION", "SPECIFIC_RESERVATION" ]

valid {
    input.Body.dedicatedResources.autoscalingMetricSpecs[_].metricName == STRING
    input.Body.dedicatedResources.autoscalingMetricSpecs[_].target == INTEGER
    input.Body.dedicatedResources.machineSpec.acceleratorCount == INTEGER
    input.Body.dedicatedResources.machineSpec.acceleratorType == enum_GoogleCloudAiplatformV1MachineSpecAcceleratorType[_]
    input.Body.dedicatedResources.machineSpec.machineType == STRING
    input.Body.dedicatedResources.machineSpec.reservationAffinity.key == STRING
    input.Body.dedicatedResources.machineSpec.reservationAffinity.reservationAffinityType == enum_GoogleCloudAiplatformV1ReservationAffinityReservationAffinityType[_]
    input.Body.dedicatedResources.machineSpec.reservationAffinity.values[_] == STRING
    input.Body.dedicatedResources.machineSpec.tpuTopology == STRING
    input.Body.dedicatedResources.maxReplicaCount == INTEGER
    input.Body.dedicatedResources.minReplicaCount == INTEGER
    input.Body.dedicatedResources.spot == BOOLEAN
    input.Body.disableContainerLogging == BOOLEAN
    input.Body.encryptionSpec.kmsKeyName == STRING
    input.Body.name == STRING
    input.Body.serviceAccount == STRING
    input.ReqMap.name == STRING
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.locations.deploymentResourcePools.queryDeployedModels

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

aiplatform.projects.locations.edgeDevices.operations.cancel

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

aiplatform.projects.locations.edgeDevices.operations.delete

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

aiplatform.projects.locations.edgeDevices.operations.get

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

aiplatform.projects.locations.edgeDevices.operations.list

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

aiplatform.projects.locations.edgeDevices.operations.wait

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

aiplatform.projects.locations.endpoints.chat.completions

valid {
    input.Body.contentType == STRING
    input.Body.data == STRING
    input.Body.extensions[_].STRING == ANY
    input.ReqMap.endpoint == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.locations.endpoints.computeTokens

valid {
    input.Body.contents[_].parts[_].fileData.fileUri == STRING
    input.Body.contents[_].parts[_].fileData.mimeType == STRING
    input.Body.contents[_].parts[_].functionCall.args.STRING == ANY
    input.Body.contents[_].parts[_].functionCall.name == STRING
    input.Body.contents[_].parts[_].functionResponse.name == STRING
    input.Body.contents[_].parts[_].functionResponse.response.STRING == ANY
    input.Body.contents[_].parts[_].inlineData.data == STRING
    input.Body.contents[_].parts[_].inlineData.mimeType == STRING
    input.Body.contents[_].parts[_].text == STRING
    input.Body.contents[_].parts[_].videoMetadata.endOffset == STRING
    input.Body.contents[_].parts[_].videoMetadata.startOffset == STRING
    input.Body.contents[_].role == STRING
    input.Body.instances[_] == ANY
    input.Body.model == STRING
    input.ReqMap.endpoint == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.locations.endpoints.countTokens

enum_GoogleCloudAiplatformV1DynamicRetrievalConfigMode := [ "MODE_UNSPECIFIED", "MODE_DYNAMIC" ]
enum_GoogleCloudAiplatformV1GenerationConfigRoutingConfigAutoRoutingModeModelRoutingPreference := [ "UNKNOWN", "PRIORITIZE_QUALITY", "BALANCED", "PRIORITIZE_COST" ]
enum_GoogleCloudAiplatformV1SchemaType := [ "TYPE_UNSPECIFIED", "STRING", "NUMBER", "INTEGER", "BOOLEAN", "ARRAY", "OBJECT" ]

valid {
    input.Body.contents[_].parts[_].fileData.fileUri == STRING
    input.Body.contents[_].parts[_].fileData.mimeType == STRING
    input.Body.contents[_].parts[_].functionCall.args.STRING == ANY
    input.Body.contents[_].parts[_].functionCall.name == STRING
    input.Body.contents[_].parts[_].functionResponse.name == STRING
    input.Body.contents[_].parts[_].functionResponse.response.STRING == ANY
    input.Body.contents[_].parts[_].inlineData.data == STRING
    input.Body.contents[_].parts[_].inlineData.mimeType == STRING
    input.Body.contents[_].parts[_].text == STRING
    input.Body.contents[_].parts[_].videoMetadata.endOffset == STRING
    input.Body.contents[_].parts[_].videoMetadata.startOffset == STRING
    input.Body.contents[_].role == STRING
    input.Body.generationConfig.audioTimestamp == BOOLEAN
    input.Body.generationConfig.candidateCount == INTEGER
    input.Body.generationConfig.frequencyPenalty == NUMBER
    input.Body.generationConfig.logprobs == INTEGER
    input.Body.generationConfig.maxOutputTokens == INTEGER
    input.Body.generationConfig.presencePenalty == NUMBER
    input.Body.generationConfig.responseLogprobs == BOOLEAN
    input.Body.generationConfig.responseMimeType == STRING
    input.Body.generationConfig.responseSchema.anyOf[_] == NESTED
    input.Body.generationConfig.responseSchema.default == ANY
    input.Body.generationConfig.responseSchema.description == STRING
    input.Body.generationConfig.responseSchema.enum[_] == STRING
    input.Body.generationConfig.responseSchema.example == ANY
    input.Body.generationConfig.responseSchema.format == STRING
    input.Body.generationConfig.responseSchema.items == NESTED
    input.Body.generationConfig.responseSchema.maxItems == STRING
    input.Body.generationConfig.responseSchema.maxLength == STRING
    input.Body.generationConfig.responseSchema.maxProperties == STRING
    input.Body.generationConfig.responseSchema.maximum == NUMBER
    input.Body.generationConfig.responseSchema.minItems == STRING
    input.Body.generationConfig.responseSchema.minLength == STRING
    input.Body.generationConfig.responseSchema.minProperties == STRING
    input.Body.generationConfig.responseSchema.minimum == NUMBER
    input.Body.generationConfig.responseSchema.nullable == BOOLEAN
    input.Body.generationConfig.responseSchema.pattern == STRING
    input.Body.generationConfig.responseSchema.properties.STRING == NESTED
    input.Body.generationConfig.responseSchema.propertyOrdering[_] == STRING
    input.Body.generationConfig.responseSchema.required[_] == STRING
    input.Body.generationConfig.responseSchema.title == STRING
    input.Body.generationConfig.responseSchema.type == enum_GoogleCloudAiplatformV1SchemaType[_]
    input.Body.generationConfig.routingConfig.autoMode.modelRoutingPreference == enum_GoogleCloudAiplatformV1GenerationConfigRoutingConfigAutoRoutingModeModelRoutingPreference[_]
    input.Body.generationConfig.routingConfig.manualMode.modelName == STRING
    input.Body.generationConfig.seed == INTEGER
    input.Body.generationConfig.stopSequences[_] == STRING
    input.Body.generationConfig.temperature == NUMBER
    input.Body.generationConfig.topK == NUMBER
    input.Body.generationConfig.topP == NUMBER
    input.Body.instances[_] == ANY
    input.Body.model == STRING
    input.Body.systemInstruction.parts[_].fileData.fileUri == STRING
    input.Body.systemInstruction.parts[_].fileData.mimeType == STRING
    input.Body.systemInstruction.parts[_].functionCall.args.STRING == ANY
    input.Body.systemInstruction.parts[_].functionCall.name == STRING
    input.Body.systemInstruction.parts[_].functionResponse.name == STRING
    input.Body.systemInstruction.parts[_].functionResponse.response.STRING == ANY
    input.Body.systemInstruction.parts[_].inlineData.data == STRING
    input.Body.systemInstruction.parts[_].inlineData.mimeType == STRING
    input.Body.systemInstruction.parts[_].text == STRING
    input.Body.systemInstruction.parts[_].videoMetadata.endOffset == STRING
    input.Body.systemInstruction.parts[_].videoMetadata.startOffset == STRING
    input.Body.systemInstruction.role == STRING
    input.Body.tools[_].functionDeclarations[_].description == STRING
    input.Body.tools[_].functionDeclarations[_].name == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.anyOf[_] == NESTED
    input.Body.tools[_].functionDeclarations[_].parameters.default == ANY
    input.Body.tools[_].functionDeclarations[_].parameters.description == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.enum[_] == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.example == ANY
    input.Body.tools[_].functionDeclarations[_].parameters.format == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.items == NESTED
    input.Body.tools[_].functionDeclarations[_].parameters.maxItems == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.maxLength == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.maxProperties == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.maximum == NUMBER
    input.Body.tools[_].functionDeclarations[_].parameters.minItems == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.minLength == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.minProperties == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.minimum == NUMBER
    input.Body.tools[_].functionDeclarations[_].parameters.nullable == BOOLEAN
    input.Body.tools[_].functionDeclarations[_].parameters.pattern == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.properties.STRING == NESTED
    input.Body.tools[_].functionDeclarations[_].parameters.propertyOrdering[_] == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.required[_] == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.title == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.type == enum_GoogleCloudAiplatformV1SchemaType[_]
    input.Body.tools[_].functionDeclarations[_].response.anyOf[_] == NESTED
    input.Body.tools[_].functionDeclarations[_].response.default == ANY
    input.Body.tools[_].functionDeclarations[_].response.description == STRING
    input.Body.tools[_].functionDeclarations[_].response.enum[_] == STRING
    input.Body.tools[_].functionDeclarations[_].response.example == ANY
    input.Body.tools[_].functionDeclarations[_].response.format == STRING
    input.Body.tools[_].functionDeclarations[_].response.items == NESTED
    input.Body.tools[_].functionDeclarations[_].response.maxItems == STRING
    input.Body.tools[_].functionDeclarations[_].response.maxLength == STRING
    input.Body.tools[_].functionDeclarations[_].response.maxProperties == STRING
    input.Body.tools[_].functionDeclarations[_].response.maximum == NUMBER
    input.Body.tools[_].functionDeclarations[_].response.minItems == STRING
    input.Body.tools[_].functionDeclarations[_].response.minLength == STRING
    input.Body.tools[_].functionDeclarations[_].response.minProperties == STRING
    input.Body.tools[_].functionDeclarations[_].response.minimum == NUMBER
    input.Body.tools[_].functionDeclarations[_].response.nullable == BOOLEAN
    input.Body.tools[_].functionDeclarations[_].response.pattern == STRING
    input.Body.tools[_].functionDeclarations[_].response.properties.STRING == NESTED
    input.Body.tools[_].functionDeclarations[_].response.propertyOrdering[_] == STRING
    input.Body.tools[_].functionDeclarations[_].response.required[_] == STRING
    input.Body.tools[_].functionDeclarations[_].response.title == STRING
    input.Body.tools[_].functionDeclarations[_].response.type == enum_GoogleCloudAiplatformV1SchemaType[_]
    input.Body.tools[_].googleSearchRetrieval.dynamicRetrievalConfig.dynamicThreshold == NUMBER
    input.Body.tools[_].googleSearchRetrieval.dynamicRetrievalConfig.mode == enum_GoogleCloudAiplatformV1DynamicRetrievalConfigMode[_]
    input.Body.tools[_].retrieval.disableAttribution == BOOLEAN
    input.Body.tools[_].retrieval.vertexAiSearch.datastore == STRING
    input.Body.tools[_].retrieval.vertexRagStore.ragCorpora[_] == STRING
    input.Body.tools[_].retrieval.vertexRagStore.ragResources[_].ragCorpus == STRING
    input.Body.tools[_].retrieval.vertexRagStore.ragResources[_].ragFileIds[_] == STRING
    input.Body.tools[_].retrieval.vertexRagStore.similarityTopK == INTEGER
    input.Body.tools[_].retrieval.vertexRagStore.vectorDistanceThreshold == NUMBER
    input.ReqMap.endpoint == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.locations.endpoints.create

valid {
    input.Body.clientConnectionConfig.inferenceTimeout == STRING
    input.Body.dedicatedEndpointEnabled == BOOLEAN
    input.Body.description == STRING
    input.Body.displayName == STRING
    input.Body.enablePrivateServiceConnect == BOOLEAN
    input.Body.encryptionSpec.kmsKeyName == STRING
    input.Body.etag == STRING
    input.Body.labels.STRING == STRING
    input.Body.network == STRING
    input.Body.predictRequestResponseLoggingConfig.bigqueryDestination.outputUri == STRING
    input.Body.predictRequestResponseLoggingConfig.enabled == BOOLEAN
    input.Body.predictRequestResponseLoggingConfig.samplingRate == NUMBER
    input.Body.privateServiceConnectConfig.enablePrivateServiceConnect == BOOLEAN
    input.Body.privateServiceConnectConfig.projectAllowlist[_] == STRING
    input.Body.trafficSplit.STRING == INTEGER
    input.ReqMap.parent == STRING
    input.Qs.endpointId == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.locations.endpoints.delete

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

aiplatform.projects.locations.endpoints.deployModel

enum_GoogleCloudAiplatformV1ExamplesExampleGcsSourceDataFormat := [ "DATA_FORMAT_UNSPECIFIED", "JSONL" ]
enum_GoogleCloudAiplatformV1ExplanationMetadataInputMetadataEncoding := [ "ENCODING_UNSPECIFIED", "IDENTITY", "BAG_OF_FEATURES", "BAG_OF_FEATURES_SPARSE", "INDICATOR", "COMBINED_EMBEDDING", "CONCAT_EMBEDDING" ]
enum_GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMap := [ "COLOR_MAP_UNSPECIFIED", "PINK_GREEN", "VIRIDIS", "RED", "GREEN", "RED_GREEN", "PINK_WHITE_GREEN" ]
enum_GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOverlayType := [ "OVERLAY_TYPE_UNSPECIFIED", "NONE", "ORIGINAL", "GRAYSCALE", "MASK_BLACK" ]
enum_GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPolarity := [ "POLARITY_UNSPECIFIED", "POSITIVE", "NEGATIVE", "BOTH" ]
enum_GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationType := [ "TYPE_UNSPECIFIED", "PIXELS", "OUTLINES" ]
enum_GoogleCloudAiplatformV1MachineSpecAcceleratorType := [ "ACCELERATOR_TYPE_UNSPECIFIED", "NVIDIA_TESLA_K80", "NVIDIA_TESLA_P100", "NVIDIA_TESLA_V100", "NVIDIA_TESLA_P4", "NVIDIA_TESLA_T4", "NVIDIA_TESLA_A100", "NVIDIA_A100_80GB", "NVIDIA_L4", "NVIDIA_H100_80GB", "TPU_V2", "TPU_V3", "TPU_V4_POD", "TPU_V5_LITEPOD" ]
enum_GoogleCloudAiplatformV1PresetsModality := [ "MODALITY_UNSPECIFIED", "IMAGE", "TEXT", "TABULAR" ]
enum_GoogleCloudAiplatformV1PresetsQuery := [ "PRECISE", "FAST" ]
enum_GoogleCloudAiplatformV1ReservationAffinityReservationAffinityType := [ "TYPE_UNSPECIFIED", "NO_RESERVATION", "ANY_RESERVATION", "SPECIFIC_RESERVATION" ]

valid {
    input.Body.deployedModel.automaticResources.maxReplicaCount == INTEGER
    input.Body.deployedModel.automaticResources.minReplicaCount == INTEGER
    input.Body.deployedModel.dedicatedResources.autoscalingMetricSpecs[_].metricName == STRING
    input.Body.deployedModel.dedicatedResources.autoscalingMetricSpecs[_].target == INTEGER
    input.Body.deployedModel.dedicatedResources.machineSpec.acceleratorCount == INTEGER
    input.Body.deployedModel.dedicatedResources.machineSpec.acceleratorType == enum_GoogleCloudAiplatformV1MachineSpecAcceleratorType[_]
    input.Body.deployedModel.dedicatedResources.machineSpec.machineType == STRING
    input.Body.deployedModel.dedicatedResources.machineSpec.reservationAffinity.key == STRING
    input.Body.deployedModel.dedicatedResources.machineSpec.reservationAffinity.reservationAffinityType == enum_GoogleCloudAiplatformV1ReservationAffinityReservationAffinityType[_]
    input.Body.deployedModel.dedicatedResources.machineSpec.reservationAffinity.values[_] == STRING
    input.Body.deployedModel.dedicatedResources.machineSpec.tpuTopology == STRING
    input.Body.deployedModel.dedicatedResources.maxReplicaCount == INTEGER
    input.Body.deployedModel.dedicatedResources.minReplicaCount == INTEGER
    input.Body.deployedModel.dedicatedResources.spot == BOOLEAN
    input.Body.deployedModel.disableContainerLogging == BOOLEAN
    input.Body.deployedModel.disableExplanations == BOOLEAN
    input.Body.deployedModel.displayName == STRING
    input.Body.deployedModel.enableAccessLogging == BOOLEAN
    input.Body.deployedModel.explanationSpec.metadata.featureAttributionsSchemaUri == STRING
    input.Body.deployedModel.explanationSpec.metadata.inputs.STRING.denseShapeTensorName == STRING
    input.Body.deployedModel.explanationSpec.metadata.inputs.STRING.encodedBaselines[_] == ANY
    input.Body.deployedModel.explanationSpec.metadata.inputs.STRING.encodedTensorName == STRING
    input.Body.deployedModel.explanationSpec.metadata.inputs.STRING.encoding == enum_GoogleCloudAiplatformV1ExplanationMetadataInputMetadataEncoding[_]
    input.Body.deployedModel.explanationSpec.metadata.inputs.STRING.featureValueDomain.maxValue == NUMBER
    input.Body.deployedModel.explanationSpec.metadata.inputs.STRING.featureValueDomain.minValue == NUMBER
    input.Body.deployedModel.explanationSpec.metadata.inputs.STRING.featureValueDomain.originalMean == NUMBER
    input.Body.deployedModel.explanationSpec.metadata.inputs.STRING.featureValueDomain.originalStddev == NUMBER
    input.Body.deployedModel.explanationSpec.metadata.inputs.STRING.groupName == STRING
    input.Body.deployedModel.explanationSpec.metadata.inputs.STRING.indexFeatureMapping[_] == STRING
    input.Body.deployedModel.explanationSpec.metadata.inputs.STRING.indicesTensorName == STRING
    input.Body.deployedModel.explanationSpec.metadata.inputs.STRING.inputBaselines[_] == ANY
    input.Body.deployedModel.explanationSpec.metadata.inputs.STRING.inputTensorName == STRING
    input.Body.deployedModel.explanationSpec.metadata.inputs.STRING.modality == STRING
    input.Body.deployedModel.explanationSpec.metadata.inputs.STRING.visualization.clipPercentLowerbound == NUMBER
    input.Body.deployedModel.explanationSpec.metadata.inputs.STRING.visualization.clipPercentUpperbound == NUMBER
    input.Body.deployedModel.explanationSpec.metadata.inputs.STRING.visualization.colorMap == enum_GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMap[_]
    input.Body.deployedModel.explanationSpec.metadata.inputs.STRING.visualization.overlayType == enum_GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOverlayType[_]
    input.Body.deployedModel.explanationSpec.metadata.inputs.STRING.visualization.polarity == enum_GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPolarity[_]
    input.Body.deployedModel.explanationSpec.metadata.inputs.STRING.visualization.type == enum_GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationType[_]
    input.Body.deployedModel.explanationSpec.metadata.latentSpaceSource == STRING
    input.Body.deployedModel.explanationSpec.metadata.outputs.STRING.displayNameMappingKey == STRING
    input.Body.deployedModel.explanationSpec.metadata.outputs.STRING.indexDisplayNameMapping == ANY
    input.Body.deployedModel.explanationSpec.metadata.outputs.STRING.outputTensorName == STRING
    input.Body.deployedModel.explanationSpec.parameters.examples.exampleGcsSource.dataFormat == enum_GoogleCloudAiplatformV1ExamplesExampleGcsSourceDataFormat[_]
    input.Body.deployedModel.explanationSpec.parameters.examples.exampleGcsSource.gcsSource.uris[_] == STRING
    input.Body.deployedModel.explanationSpec.parameters.examples.nearestNeighborSearchConfig == ANY
    input.Body.deployedModel.explanationSpec.parameters.examples.neighborCount == INTEGER
    input.Body.deployedModel.explanationSpec.parameters.examples.presets.modality == enum_GoogleCloudAiplatformV1PresetsModality[_]
    input.Body.deployedModel.explanationSpec.parameters.examples.presets.query == enum_GoogleCloudAiplatformV1PresetsQuery[_]
    input.Body.deployedModel.explanationSpec.parameters.integratedGradientsAttribution.blurBaselineConfig.maxBlurSigma == NUMBER
    input.Body.deployedModel.explanationSpec.parameters.integratedGradientsAttribution.smoothGradConfig.featureNoiseSigma.noiseSigma[_].name == STRING
    input.Body.deployedModel.explanationSpec.parameters.integratedGradientsAttribution.smoothGradConfig.featureNoiseSigma.noiseSigma[_].sigma == NUMBER
    input.Body.deployedModel.explanationSpec.parameters.integratedGradientsAttribution.smoothGradConfig.noiseSigma == NUMBER
    input.Body.deployedModel.explanationSpec.parameters.integratedGradientsAttribution.smoothGradConfig.noisySampleCount == INTEGER
    input.Body.deployedModel.explanationSpec.parameters.integratedGradientsAttribution.stepCount == INTEGER
    input.Body.deployedModel.explanationSpec.parameters.outputIndices[_] == ANY
    input.Body.deployedModel.explanationSpec.parameters.sampledShapleyAttribution.pathCount == INTEGER
    input.Body.deployedModel.explanationSpec.parameters.topK == INTEGER
    input.Body.deployedModel.explanationSpec.parameters.xraiAttribution.blurBaselineConfig.maxBlurSigma == NUMBER
    input.Body.deployedModel.explanationSpec.parameters.xraiAttribution.smoothGradConfig.featureNoiseSigma.noiseSigma[_].name == STRING
    input.Body.deployedModel.explanationSpec.parameters.xraiAttribution.smoothGradConfig.featureNoiseSigma.noiseSigma[_].sigma == NUMBER
    input.Body.deployedModel.explanationSpec.parameters.xraiAttribution.smoothGradConfig.noiseSigma == NUMBER
    input.Body.deployedModel.explanationSpec.parameters.xraiAttribution.smoothGradConfig.noisySampleCount == INTEGER
    input.Body.deployedModel.explanationSpec.parameters.xraiAttribution.stepCount == INTEGER
    input.Body.deployedModel.fasterDeploymentConfig.fastTryoutEnabled == BOOLEAN
    input.Body.deployedModel.id == STRING
    input.Body.deployedModel.model == STRING
    input.Body.deployedModel.serviceAccount == STRING
    input.Body.deployedModel.sharedResources == STRING
    input.Body.deployedModel.systemLabels.STRING == STRING
    input.Body.trafficSplit.STRING == INTEGER
    input.ReqMap.endpoint == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.locations.endpoints.directPredict

enum_GoogleCloudAiplatformV1TensorDtype := [ "DATA_TYPE_UNSPECIFIED", "BOOL", "STRING", "FLOAT", "DOUBLE", "INT8", "INT16", "INT32", "INT64", "UINT8", "UINT16", "UINT32", "UINT64" ]

valid {
    input.Body.inputs[_].boolVal[_] == BOOLEAN
    input.Body.inputs[_].bytesVal[_] == STRING
    input.Body.inputs[_].doubleVal[_] == NUMBER
    input.Body.inputs[_].dtype == enum_GoogleCloudAiplatformV1TensorDtype[_]
    input.Body.inputs[_].floatVal[_] == NUMBER
    input.Body.inputs[_].int64Val[_] == STRING
    input.Body.inputs[_].intVal[_] == INTEGER
    input.Body.inputs[_].listVal[_] == NESTED
    input.Body.inputs[_].shape[_] == STRING
    input.Body.inputs[_].stringVal[_] == STRING
    input.Body.inputs[_].structVal.STRING == NESTED
    input.Body.inputs[_].tensorVal == STRING
    input.Body.inputs[_].uint64Val[_] == STRING
    input.Body.inputs[_].uintVal[_] == INTEGER
    input.Body.parameters.boolVal[_] == BOOLEAN
    input.Body.parameters.bytesVal[_] == STRING
    input.Body.parameters.doubleVal[_] == NUMBER
    input.Body.parameters.dtype == enum_GoogleCloudAiplatformV1TensorDtype[_]
    input.Body.parameters.floatVal[_] == NUMBER
    input.Body.parameters.int64Val[_] == STRING
    input.Body.parameters.intVal[_] == INTEGER
    input.Body.parameters.listVal[_] == NESTED
    input.Body.parameters.shape[_] == STRING
    input.Body.parameters.stringVal[_] == STRING
    input.Body.parameters.structVal.STRING == NESTED
    input.Body.parameters.tensorVal == STRING
    input.Body.parameters.uint64Val[_] == STRING
    input.Body.parameters.uintVal[_] == INTEGER
    input.ReqMap.endpoint == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.locations.endpoints.directRawPredict

valid {
    input.Body.input == STRING
    input.Body.methodName == STRING
    input.ReqMap.endpoint == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.locations.endpoints.explain

enum_GoogleCloudAiplatformV1ExamplesExampleGcsSourceDataFormat := [ "DATA_FORMAT_UNSPECIFIED", "JSONL" ]
enum_GoogleCloudAiplatformV1ExamplesOverrideDataFormat := [ "DATA_FORMAT_UNSPECIFIED", "INSTANCES", "EMBEDDINGS" ]
enum_GoogleCloudAiplatformV1PresetsModality := [ "MODALITY_UNSPECIFIED", "IMAGE", "TEXT", "TABULAR" ]
enum_GoogleCloudAiplatformV1PresetsQuery := [ "PRECISE", "FAST" ]

valid {
    input.Body.deployedModelId == STRING
    input.Body.explanationSpecOverride.examplesOverride.crowdingCount == INTEGER
    input.Body.explanationSpecOverride.examplesOverride.dataFormat == enum_GoogleCloudAiplatformV1ExamplesOverrideDataFormat[_]
    input.Body.explanationSpecOverride.examplesOverride.neighborCount == INTEGER
    input.Body.explanationSpecOverride.examplesOverride.restrictions[_].allow[_] == STRING
    input.Body.explanationSpecOverride.examplesOverride.restrictions[_].deny[_] == STRING
    input.Body.explanationSpecOverride.examplesOverride.restrictions[_].namespaceName == STRING
    input.Body.explanationSpecOverride.examplesOverride.returnEmbeddings == BOOLEAN
    input.Body.explanationSpecOverride.metadata.inputs.STRING.inputBaselines[_] == ANY
    input.Body.explanationSpecOverride.parameters.examples.exampleGcsSource.dataFormat == enum_GoogleCloudAiplatformV1ExamplesExampleGcsSourceDataFormat[_]
    input.Body.explanationSpecOverride.parameters.examples.exampleGcsSource.gcsSource.uris[_] == STRING
    input.Body.explanationSpecOverride.parameters.examples.nearestNeighborSearchConfig == ANY
    input.Body.explanationSpecOverride.parameters.examples.neighborCount == INTEGER
    input.Body.explanationSpecOverride.parameters.examples.presets.modality == enum_GoogleCloudAiplatformV1PresetsModality[_]
    input.Body.explanationSpecOverride.parameters.examples.presets.query == enum_GoogleCloudAiplatformV1PresetsQuery[_]
    input.Body.explanationSpecOverride.parameters.integratedGradientsAttribution.blurBaselineConfig.maxBlurSigma == NUMBER
    input.Body.explanationSpecOverride.parameters.integratedGradientsAttribution.smoothGradConfig.featureNoiseSigma.noiseSigma[_].name == STRING
    input.Body.explanationSpecOverride.parameters.integratedGradientsAttribution.smoothGradConfig.featureNoiseSigma.noiseSigma[_].sigma == NUMBER
    input.Body.explanationSpecOverride.parameters.integratedGradientsAttribution.smoothGradConfig.noiseSigma == NUMBER
    input.Body.explanationSpecOverride.parameters.integratedGradientsAttribution.smoothGradConfig.noisySampleCount == INTEGER
    input.Body.explanationSpecOverride.parameters.integratedGradientsAttribution.stepCount == INTEGER
    input.Body.explanationSpecOverride.parameters.outputIndices[_] == ANY
    input.Body.explanationSpecOverride.parameters.sampledShapleyAttribution.pathCount == INTEGER
    input.Body.explanationSpecOverride.parameters.topK == INTEGER
    input.Body.explanationSpecOverride.parameters.xraiAttribution.blurBaselineConfig.maxBlurSigma == NUMBER
    input.Body.explanationSpecOverride.parameters.xraiAttribution.smoothGradConfig.featureNoiseSigma.noiseSigma[_].name == STRING
    input.Body.explanationSpecOverride.parameters.xraiAttribution.smoothGradConfig.featureNoiseSigma.noiseSigma[_].sigma == NUMBER
    input.Body.explanationSpecOverride.parameters.xraiAttribution.smoothGradConfig.noiseSigma == NUMBER
    input.Body.explanationSpecOverride.parameters.xraiAttribution.smoothGradConfig.noisySampleCount == INTEGER
    input.Body.explanationSpecOverride.parameters.xraiAttribution.stepCount == INTEGER
    input.Body.instances[_] == ANY
    input.Body.parameters == ANY
    input.ReqMap.endpoint == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.locations.endpoints.fetchPredictOperation

valid {
    input.Body.operationName == STRING
    input.ReqMap.endpoint == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.locations.endpoints.generateContent

enum_GoogleCloudAiplatformV1DynamicRetrievalConfigMode := [ "MODE_UNSPECIFIED", "MODE_DYNAMIC" ]
enum_GoogleCloudAiplatformV1FunctionCallingConfigMode := [ "MODE_UNSPECIFIED", "AUTO", "ANY", "NONE" ]
enum_GoogleCloudAiplatformV1GenerationConfigRoutingConfigAutoRoutingModeModelRoutingPreference := [ "UNKNOWN", "PRIORITIZE_QUALITY", "BALANCED", "PRIORITIZE_COST" ]
enum_GoogleCloudAiplatformV1SafetySettingCategory := [ "HARM_CATEGORY_UNSPECIFIED", "HARM_CATEGORY_HATE_SPEECH", "HARM_CATEGORY_DANGEROUS_CONTENT", "HARM_CATEGORY_HARASSMENT", "HARM_CATEGORY_SEXUALLY_EXPLICIT", "HARM_CATEGORY_CIVIC_INTEGRITY" ]
enum_GoogleCloudAiplatformV1SafetySettingMethod := [ "HARM_BLOCK_METHOD_UNSPECIFIED", "SEVERITY", "PROBABILITY" ]
enum_GoogleCloudAiplatformV1SafetySettingThreshold := [ "HARM_BLOCK_THRESHOLD_UNSPECIFIED", "BLOCK_LOW_AND_ABOVE", "BLOCK_MEDIUM_AND_ABOVE", "BLOCK_ONLY_HIGH", "BLOCK_NONE", "OFF" ]
enum_GoogleCloudAiplatformV1SchemaType := [ "TYPE_UNSPECIFIED", "STRING", "NUMBER", "INTEGER", "BOOLEAN", "ARRAY", "OBJECT" ]

valid {
    input.Body.contents[_].parts[_].fileData.fileUri == STRING
    input.Body.contents[_].parts[_].fileData.mimeType == STRING
    input.Body.contents[_].parts[_].functionCall.args.STRING == ANY
    input.Body.contents[_].parts[_].functionCall.name == STRING
    input.Body.contents[_].parts[_].functionResponse.name == STRING
    input.Body.contents[_].parts[_].functionResponse.response.STRING == ANY
    input.Body.contents[_].parts[_].inlineData.data == STRING
    input.Body.contents[_].parts[_].inlineData.mimeType == STRING
    input.Body.contents[_].parts[_].text == STRING
    input.Body.contents[_].parts[_].videoMetadata.endOffset == STRING
    input.Body.contents[_].parts[_].videoMetadata.startOffset == STRING
    input.Body.contents[_].role == STRING
    input.Body.generationConfig.audioTimestamp == BOOLEAN
    input.Body.generationConfig.candidateCount == INTEGER
    input.Body.generationConfig.frequencyPenalty == NUMBER
    input.Body.generationConfig.logprobs == INTEGER
    input.Body.generationConfig.maxOutputTokens == INTEGER
    input.Body.generationConfig.presencePenalty == NUMBER
    input.Body.generationConfig.responseLogprobs == BOOLEAN
    input.Body.generationConfig.responseMimeType == STRING
    input.Body.generationConfig.responseSchema.anyOf[_] == NESTED
    input.Body.generationConfig.responseSchema.default == ANY
    input.Body.generationConfig.responseSchema.description == STRING
    input.Body.generationConfig.responseSchema.enum[_] == STRING
    input.Body.generationConfig.responseSchema.example == ANY
    input.Body.generationConfig.responseSchema.format == STRING
    input.Body.generationConfig.responseSchema.items == NESTED
    input.Body.generationConfig.responseSchema.maxItems == STRING
    input.Body.generationConfig.responseSchema.maxLength == STRING
    input.Body.generationConfig.responseSchema.maxProperties == STRING
    input.Body.generationConfig.responseSchema.maximum == NUMBER
    input.Body.generationConfig.responseSchema.minItems == STRING
    input.Body.generationConfig.responseSchema.minLength == STRING
    input.Body.generationConfig.responseSchema.minProperties == STRING
    input.Body.generationConfig.responseSchema.minimum == NUMBER
    input.Body.generationConfig.responseSchema.nullable == BOOLEAN
    input.Body.generationConfig.responseSchema.pattern == STRING
    input.Body.generationConfig.responseSchema.properties.STRING == NESTED
    input.Body.generationConfig.responseSchema.propertyOrdering[_] == STRING
    input.Body.generationConfig.responseSchema.required[_] == STRING
    input.Body.generationConfig.responseSchema.title == STRING
    input.Body.generationConfig.responseSchema.type == enum_GoogleCloudAiplatformV1SchemaType[_]
    input.Body.generationConfig.routingConfig.autoMode.modelRoutingPreference == enum_GoogleCloudAiplatformV1GenerationConfigRoutingConfigAutoRoutingModeModelRoutingPreference[_]
    input.Body.generationConfig.routingConfig.manualMode.modelName == STRING
    input.Body.generationConfig.seed == INTEGER
    input.Body.generationConfig.stopSequences[_] == STRING
    input.Body.generationConfig.temperature == NUMBER
    input.Body.generationConfig.topK == NUMBER
    input.Body.generationConfig.topP == NUMBER
    input.Body.labels.STRING == STRING
    input.Body.safetySettings[_].category == enum_GoogleCloudAiplatformV1SafetySettingCategory[_]
    input.Body.safetySettings[_].method == enum_GoogleCloudAiplatformV1SafetySettingMethod[_]
    input.Body.safetySettings[_].threshold == enum_GoogleCloudAiplatformV1SafetySettingThreshold[_]
    input.Body.systemInstruction.parts[_].fileData.fileUri == STRING
    input.Body.systemInstruction.parts[_].fileData.mimeType == STRING
    input.Body.systemInstruction.parts[_].functionCall.args.STRING == ANY
    input.Body.systemInstruction.parts[_].functionCall.name == STRING
    input.Body.systemInstruction.parts[_].functionResponse.name == STRING
    input.Body.systemInstruction.parts[_].functionResponse.response.STRING == ANY
    input.Body.systemInstruction.parts[_].inlineData.data == STRING
    input.Body.systemInstruction.parts[_].inlineData.mimeType == STRING
    input.Body.systemInstruction.parts[_].text == STRING
    input.Body.systemInstruction.parts[_].videoMetadata.endOffset == STRING
    input.Body.systemInstruction.parts[_].videoMetadata.startOffset == STRING
    input.Body.systemInstruction.role == STRING
    input.Body.toolConfig.functionCallingConfig.allowedFunctionNames[_] == STRING
    input.Body.toolConfig.functionCallingConfig.mode == enum_GoogleCloudAiplatformV1FunctionCallingConfigMode[_]
    input.Body.tools[_].functionDeclarations[_].description == STRING
    input.Body.tools[_].functionDeclarations[_].name == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.anyOf[_] == NESTED
    input.Body.tools[_].functionDeclarations[_].parameters.default == ANY
    input.Body.tools[_].functionDeclarations[_].parameters.description == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.enum[_] == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.example == ANY
    input.Body.tools[_].functionDeclarations[_].parameters.format == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.items == NESTED
    input.Body.tools[_].functionDeclarations[_].parameters.maxItems == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.maxLength == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.maxProperties == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.maximum == NUMBER
    input.Body.tools[_].functionDeclarations[_].parameters.minItems == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.minLength == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.minProperties == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.minimum == NUMBER
    input.Body.tools[_].functionDeclarations[_].parameters.nullable == BOOLEAN
    input.Body.tools[_].functionDeclarations[_].parameters.pattern == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.properties.STRING == NESTED
    input.Body.tools[_].functionDeclarations[_].parameters.propertyOrdering[_] == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.required[_] == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.title == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.type == enum_GoogleCloudAiplatformV1SchemaType[_]
    input.Body.tools[_].functionDeclarations[_].response.anyOf[_] == NESTED
    input.Body.tools[_].functionDeclarations[_].response.default == ANY
    input.Body.tools[_].functionDeclarations[_].response.description == STRING
    input.Body.tools[_].functionDeclarations[_].response.enum[_] == STRING
    input.Body.tools[_].functionDeclarations[_].response.example == ANY
    input.Body.tools[_].functionDeclarations[_].response.format == STRING
    input.Body.tools[_].functionDeclarations[_].response.items == NESTED
    input.Body.tools[_].functionDeclarations[_].response.maxItems == STRING
    input.Body.tools[_].functionDeclarations[_].response.maxLength == STRING
    input.Body.tools[_].functionDeclarations[_].response.maxProperties == STRING
    input.Body.tools[_].functionDeclarations[_].response.maximum == NUMBER
    input.Body.tools[_].functionDeclarations[_].response.minItems == STRING
    input.Body.tools[_].functionDeclarations[_].response.minLength == STRING
    input.Body.tools[_].functionDeclarations[_].response.minProperties == STRING
    input.Body.tools[_].functionDeclarations[_].response.minimum == NUMBER
    input.Body.tools[_].functionDeclarations[_].response.nullable == BOOLEAN
    input.Body.tools[_].functionDeclarations[_].response.pattern == STRING
    input.Body.tools[_].functionDeclarations[_].response.properties.STRING == NESTED
    input.Body.tools[_].functionDeclarations[_].response.propertyOrdering[_] == STRING
    input.Body.tools[_].functionDeclarations[_].response.required[_] == STRING
    input.Body.tools[_].functionDeclarations[_].response.title == STRING
    input.Body.tools[_].functionDeclarations[_].response.type == enum_GoogleCloudAiplatformV1SchemaType[_]
    input.Body.tools[_].googleSearchRetrieval.dynamicRetrievalConfig.dynamicThreshold == NUMBER
    input.Body.tools[_].googleSearchRetrieval.dynamicRetrievalConfig.mode == enum_GoogleCloudAiplatformV1DynamicRetrievalConfigMode[_]
    input.Body.tools[_].retrieval.disableAttribution == BOOLEAN
    input.Body.tools[_].retrieval.vertexAiSearch.datastore == STRING
    input.Body.tools[_].retrieval.vertexRagStore.ragCorpora[_] == STRING
    input.Body.tools[_].retrieval.vertexRagStore.ragResources[_].ragCorpus == STRING
    input.Body.tools[_].retrieval.vertexRagStore.ragResources[_].ragFileIds[_] == STRING
    input.Body.tools[_].retrieval.vertexRagStore.similarityTopK == INTEGER
    input.Body.tools[_].retrieval.vertexRagStore.vectorDistanceThreshold == NUMBER
    input.ReqMap.model == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.locations.endpoints.get

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

aiplatform.projects.locations.endpoints.getIamPolicy

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

aiplatform.projects.locations.endpoints.list

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

aiplatform.projects.locations.endpoints.mutateDeployedModel

enum_GoogleCloudAiplatformV1ExamplesExampleGcsSourceDataFormat := [ "DATA_FORMAT_UNSPECIFIED", "JSONL" ]
enum_GoogleCloudAiplatformV1ExplanationMetadataInputMetadataEncoding := [ "ENCODING_UNSPECIFIED", "IDENTITY", "BAG_OF_FEATURES", "BAG_OF_FEATURES_SPARSE", "INDICATOR", "COMBINED_EMBEDDING", "CONCAT_EMBEDDING" ]
enum_GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMap := [ "COLOR_MAP_UNSPECIFIED", "PINK_GREEN", "VIRIDIS", "RED", "GREEN", "RED_GREEN", "PINK_WHITE_GREEN" ]
enum_GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOverlayType := [ "OVERLAY_TYPE_UNSPECIFIED", "NONE", "ORIGINAL", "GRAYSCALE", "MASK_BLACK" ]
enum_GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPolarity := [ "POLARITY_UNSPECIFIED", "POSITIVE", "NEGATIVE", "BOTH" ]
enum_GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationType := [ "TYPE_UNSPECIFIED", "PIXELS", "OUTLINES" ]
enum_GoogleCloudAiplatformV1MachineSpecAcceleratorType := [ "ACCELERATOR_TYPE_UNSPECIFIED", "NVIDIA_TESLA_K80", "NVIDIA_TESLA_P100", "NVIDIA_TESLA_V100", "NVIDIA_TESLA_P4", "NVIDIA_TESLA_T4", "NVIDIA_TESLA_A100", "NVIDIA_A100_80GB", "NVIDIA_L4", "NVIDIA_H100_80GB", "TPU_V2", "TPU_V3", "TPU_V4_POD", "TPU_V5_LITEPOD" ]
enum_GoogleCloudAiplatformV1PresetsModality := [ "MODALITY_UNSPECIFIED", "IMAGE", "TEXT", "TABULAR" ]
enum_GoogleCloudAiplatformV1PresetsQuery := [ "PRECISE", "FAST" ]
enum_GoogleCloudAiplatformV1ReservationAffinityReservationAffinityType := [ "TYPE_UNSPECIFIED", "NO_RESERVATION", "ANY_RESERVATION", "SPECIFIC_RESERVATION" ]

valid {
    input.Body.deployedModel.automaticResources.maxReplicaCount == INTEGER
    input.Body.deployedModel.automaticResources.minReplicaCount == INTEGER
    input.Body.deployedModel.dedicatedResources.autoscalingMetricSpecs[_].metricName == STRING
    input.Body.deployedModel.dedicatedResources.autoscalingMetricSpecs[_].target == INTEGER
    input.Body.deployedModel.dedicatedResources.machineSpec.acceleratorCount == INTEGER
    input.Body.deployedModel.dedicatedResources.machineSpec.acceleratorType == enum_GoogleCloudAiplatformV1MachineSpecAcceleratorType[_]
    input.Body.deployedModel.dedicatedResources.machineSpec.machineType == STRING
    input.Body.deployedModel.dedicatedResources.machineSpec.reservationAffinity.key == STRING
    input.Body.deployedModel.dedicatedResources.machineSpec.reservationAffinity.reservationAffinityType == enum_GoogleCloudAiplatformV1ReservationAffinityReservationAffinityType[_]
    input.Body.deployedModel.dedicatedResources.machineSpec.reservationAffinity.values[_] == STRING
    input.Body.deployedModel.dedicatedResources.machineSpec.tpuTopology == STRING
    input.Body.deployedModel.dedicatedResources.maxReplicaCount == INTEGER
    input.Body.deployedModel.dedicatedResources.minReplicaCount == INTEGER
    input.Body.deployedModel.dedicatedResources.spot == BOOLEAN
    input.Body.deployedModel.disableContainerLogging == BOOLEAN
    input.Body.deployedModel.disableExplanations == BOOLEAN
    input.Body.deployedModel.displayName == STRING
    input.Body.deployedModel.enableAccessLogging == BOOLEAN
    input.Body.deployedModel.explanationSpec.metadata.featureAttributionsSchemaUri == STRING
    input.Body.deployedModel.explanationSpec.metadata.inputs.STRING.denseShapeTensorName == STRING
    input.Body.deployedModel.explanationSpec.metadata.inputs.STRING.encodedBaselines[_] == ANY
    input.Body.deployedModel.explanationSpec.metadata.inputs.STRING.encodedTensorName == STRING
    input.Body.deployedModel.explanationSpec.metadata.inputs.STRING.encoding == enum_GoogleCloudAiplatformV1ExplanationMetadataInputMetadataEncoding[_]
    input.Body.deployedModel.explanationSpec.metadata.inputs.STRING.featureValueDomain.maxValue == NUMBER
    input.Body.deployedModel.explanationSpec.metadata.inputs.STRING.featureValueDomain.minValue == NUMBER
    input.Body.deployedModel.explanationSpec.metadata.inputs.STRING.featureValueDomain.originalMean == NUMBER
    input.Body.deployedModel.explanationSpec.metadata.inputs.STRING.featureValueDomain.originalStddev == NUMBER
    input.Body.deployedModel.explanationSpec.metadata.inputs.STRING.groupName == STRING
    input.Body.deployedModel.explanationSpec.metadata.inputs.STRING.indexFeatureMapping[_] == STRING
    input.Body.deployedModel.explanationSpec.metadata.inputs.STRING.indicesTensorName == STRING
    input.Body.deployedModel.explanationSpec.metadata.inputs.STRING.inputBaselines[_] == ANY
    input.Body.deployedModel.explanationSpec.metadata.inputs.STRING.inputTensorName == STRING
    input.Body.deployedModel.explanationSpec.metadata.inputs.STRING.modality == STRING
    input.Body.deployedModel.explanationSpec.metadata.inputs.STRING.visualization.clipPercentLowerbound == NUMBER
    input.Body.deployedModel.explanationSpec.metadata.inputs.STRING.visualization.clipPercentUpperbound == NUMBER
    input.Body.deployedModel.explanationSpec.metadata.inputs.STRING.visualization.colorMap == enum_GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMap[_]
    input.Body.deployedModel.explanationSpec.metadata.inputs.STRING.visualization.overlayType == enum_GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOverlayType[_]
    input.Body.deployedModel.explanationSpec.metadata.inputs.STRING.visualization.polarity == enum_GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPolarity[_]
    input.Body.deployedModel.explanationSpec.metadata.inputs.STRING.visualization.type == enum_GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationType[_]
    input.Body.deployedModel.explanationSpec.metadata.latentSpaceSource == STRING
    input.Body.deployedModel.explanationSpec.metadata.outputs.STRING.displayNameMappingKey == STRING
    input.Body.deployedModel.explanationSpec.metadata.outputs.STRING.indexDisplayNameMapping == ANY
    input.Body.deployedModel.explanationSpec.metadata.outputs.STRING.outputTensorName == STRING
    input.Body.deployedModel.explanationSpec.parameters.examples.exampleGcsSource.dataFormat == enum_GoogleCloudAiplatformV1ExamplesExampleGcsSourceDataFormat[_]
    input.Body.deployedModel.explanationSpec.parameters.examples.exampleGcsSource.gcsSource.uris[_] == STRING
    input.Body.deployedModel.explanationSpec.parameters.examples.nearestNeighborSearchConfig == ANY
    input.Body.deployedModel.explanationSpec.parameters.examples.neighborCount == INTEGER
    input.Body.deployedModel.explanationSpec.parameters.examples.presets.modality == enum_GoogleCloudAiplatformV1PresetsModality[_]
    input.Body.deployedModel.explanationSpec.parameters.examples.presets.query == enum_GoogleCloudAiplatformV1PresetsQuery[_]
    input.Body.deployedModel.explanationSpec.parameters.integratedGradientsAttribution.blurBaselineConfig.maxBlurSigma == NUMBER
    input.Body.deployedModel.explanationSpec.parameters.integratedGradientsAttribution.smoothGradConfig.featureNoiseSigma.noiseSigma[_].name == STRING
    input.Body.deployedModel.explanationSpec.parameters.integratedGradientsAttribution.smoothGradConfig.featureNoiseSigma.noiseSigma[_].sigma == NUMBER
    input.Body.deployedModel.explanationSpec.parameters.integratedGradientsAttribution.smoothGradConfig.noiseSigma == NUMBER
    input.Body.deployedModel.explanationSpec.parameters.integratedGradientsAttribution.smoothGradConfig.noisySampleCount == INTEGER
    input.Body.deployedModel.explanationSpec.parameters.integratedGradientsAttribution.stepCount == INTEGER
    input.Body.deployedModel.explanationSpec.parameters.outputIndices[_] == ANY
    input.Body.deployedModel.explanationSpec.parameters.sampledShapleyAttribution.pathCount == INTEGER
    input.Body.deployedModel.explanationSpec.parameters.topK == INTEGER
    input.Body.deployedModel.explanationSpec.parameters.xraiAttribution.blurBaselineConfig.maxBlurSigma == NUMBER
    input.Body.deployedModel.explanationSpec.parameters.xraiAttribution.smoothGradConfig.featureNoiseSigma.noiseSigma[_].name == STRING
    input.Body.deployedModel.explanationSpec.parameters.xraiAttribution.smoothGradConfig.featureNoiseSigma.noiseSigma[_].sigma == NUMBER
    input.Body.deployedModel.explanationSpec.parameters.xraiAttribution.smoothGradConfig.noiseSigma == NUMBER
    input.Body.deployedModel.explanationSpec.parameters.xraiAttribution.smoothGradConfig.noisySampleCount == INTEGER
    input.Body.deployedModel.explanationSpec.parameters.xraiAttribution.stepCount == INTEGER
    input.Body.deployedModel.fasterDeploymentConfig.fastTryoutEnabled == BOOLEAN
    input.Body.deployedModel.id == STRING
    input.Body.deployedModel.model == STRING
    input.Body.deployedModel.serviceAccount == STRING
    input.Body.deployedModel.sharedResources == STRING
    input.Body.deployedModel.systemLabels.STRING == STRING
    input.Body.updateMask == STRING
    input.ReqMap.endpoint == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.locations.endpoints.operations.cancel

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

aiplatform.projects.locations.endpoints.operations.delete

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

aiplatform.projects.locations.endpoints.operations.get

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

aiplatform.projects.locations.endpoints.operations.list

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

aiplatform.projects.locations.endpoints.operations.wait

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

aiplatform.projects.locations.endpoints.patch

valid {
    input.Body.clientConnectionConfig.inferenceTimeout == STRING
    input.Body.dedicatedEndpointEnabled == BOOLEAN
    input.Body.description == STRING
    input.Body.displayName == STRING
    input.Body.enablePrivateServiceConnect == BOOLEAN
    input.Body.encryptionSpec.kmsKeyName == STRING
    input.Body.etag == STRING
    input.Body.labels.STRING == STRING
    input.Body.network == STRING
    input.Body.predictRequestResponseLoggingConfig.bigqueryDestination.outputUri == STRING
    input.Body.predictRequestResponseLoggingConfig.enabled == BOOLEAN
    input.Body.predictRequestResponseLoggingConfig.samplingRate == NUMBER
    input.Body.privateServiceConnectConfig.enablePrivateServiceConnect == BOOLEAN
    input.Body.privateServiceConnectConfig.projectAllowlist[_] == STRING
    input.Body.trafficSplit.STRING == INTEGER
    input.ReqMap.name == STRING
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.locations.endpoints.predict

valid {
    input.Body.instances[_] == ANY
    input.Body.parameters == ANY
    input.ReqMap.endpoint == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.locations.endpoints.predictLongRunning

valid {
    input.Body.instances[_] == ANY
    input.Body.parameters == ANY
    input.ReqMap.endpoint == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.locations.endpoints.rawPredict

valid {
    input.Body.httpBody.contentType == STRING
    input.Body.httpBody.data == STRING
    input.Body.httpBody.extensions[_].STRING == ANY
    input.ReqMap.endpoint == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.locations.endpoints.serverStreamingPredict

enum_GoogleCloudAiplatformV1TensorDtype := [ "DATA_TYPE_UNSPECIFIED", "BOOL", "STRING", "FLOAT", "DOUBLE", "INT8", "INT16", "INT32", "INT64", "UINT8", "UINT16", "UINT32", "UINT64" ]

valid {
    input.Body.inputs[_].boolVal[_] == BOOLEAN
    input.Body.inputs[_].bytesVal[_] == STRING
    input.Body.inputs[_].doubleVal[_] == NUMBER
    input.Body.inputs[_].dtype == enum_GoogleCloudAiplatformV1TensorDtype[_]
    input.Body.inputs[_].floatVal[_] == NUMBER
    input.Body.inputs[_].int64Val[_] == STRING
    input.Body.inputs[_].intVal[_] == INTEGER
    input.Body.inputs[_].listVal[_] == NESTED
    input.Body.inputs[_].shape[_] == STRING
    input.Body.inputs[_].stringVal[_] == STRING
    input.Body.inputs[_].structVal.STRING == NESTED
    input.Body.inputs[_].tensorVal == STRING
    input.Body.inputs[_].uint64Val[_] == STRING
    input.Body.inputs[_].uintVal[_] == INTEGER
    input.Body.parameters.boolVal[_] == BOOLEAN
    input.Body.parameters.bytesVal[_] == STRING
    input.Body.parameters.doubleVal[_] == NUMBER
    input.Body.parameters.dtype == enum_GoogleCloudAiplatformV1TensorDtype[_]
    input.Body.parameters.floatVal[_] == NUMBER
    input.Body.parameters.int64Val[_] == STRING
    input.Body.parameters.intVal[_] == INTEGER
    input.Body.parameters.listVal[_] == NESTED
    input.Body.parameters.shape[_] == STRING
    input.Body.parameters.stringVal[_] == STRING
    input.Body.parameters.structVal.STRING == NESTED
    input.Body.parameters.tensorVal == STRING
    input.Body.parameters.uint64Val[_] == STRING
    input.Body.parameters.uintVal[_] == INTEGER
    input.ReqMap.endpoint == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.locations.endpoints.setIamPolicy

valid {
    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.ReqMap.resource == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.locations.endpoints.streamGenerateContent

enum_GoogleCloudAiplatformV1DynamicRetrievalConfigMode := [ "MODE_UNSPECIFIED", "MODE_DYNAMIC" ]
enum_GoogleCloudAiplatformV1FunctionCallingConfigMode := [ "MODE_UNSPECIFIED", "AUTO", "ANY", "NONE" ]
enum_GoogleCloudAiplatformV1GenerationConfigRoutingConfigAutoRoutingModeModelRoutingPreference := [ "UNKNOWN", "PRIORITIZE_QUALITY", "BALANCED", "PRIORITIZE_COST" ]
enum_GoogleCloudAiplatformV1SafetySettingCategory := [ "HARM_CATEGORY_UNSPECIFIED", "HARM_CATEGORY_HATE_SPEECH", "HARM_CATEGORY_DANGEROUS_CONTENT", "HARM_CATEGORY_HARASSMENT", "HARM_CATEGORY_SEXUALLY_EXPLICIT", "HARM_CATEGORY_CIVIC_INTEGRITY" ]
enum_GoogleCloudAiplatformV1SafetySettingMethod := [ "HARM_BLOCK_METHOD_UNSPECIFIED", "SEVERITY", "PROBABILITY" ]
enum_GoogleCloudAiplatformV1SafetySettingThreshold := [ "HARM_BLOCK_THRESHOLD_UNSPECIFIED", "BLOCK_LOW_AND_ABOVE", "BLOCK_MEDIUM_AND_ABOVE", "BLOCK_ONLY_HIGH", "BLOCK_NONE", "OFF" ]
enum_GoogleCloudAiplatformV1SchemaType := [ "TYPE_UNSPECIFIED", "STRING", "NUMBER", "INTEGER", "BOOLEAN", "ARRAY", "OBJECT" ]

valid {
    input.Body.contents[_].parts[_].fileData.fileUri == STRING
    input.Body.contents[_].parts[_].fileData.mimeType == STRING
    input.Body.contents[_].parts[_].functionCall.args.STRING == ANY
    input.Body.contents[_].parts[_].functionCall.name == STRING
    input.Body.contents[_].parts[_].functionResponse.name == STRING
    input.Body.contents[_].parts[_].functionResponse.response.STRING == ANY
    input.Body.contents[_].parts[_].inlineData.data == STRING
    input.Body.contents[_].parts[_].inlineData.mimeType == STRING
    input.Body.contents[_].parts[_].text == STRING
    input.Body.contents[_].parts[_].videoMetadata.endOffset == STRING
    input.Body.contents[_].parts[_].videoMetadata.startOffset == STRING
    input.Body.contents[_].role == STRING
    input.Body.generationConfig.audioTimestamp == BOOLEAN
    input.Body.generationConfig.candidateCount == INTEGER
    input.Body.generationConfig.frequencyPenalty == NUMBER
    input.Body.generationConfig.logprobs == INTEGER
    input.Body.generationConfig.maxOutputTokens == INTEGER
    input.Body.generationConfig.presencePenalty == NUMBER
    input.Body.generationConfig.responseLogprobs == BOOLEAN
    input.Body.generationConfig.responseMimeType == STRING
    input.Body.generationConfig.responseSchema.anyOf[_] == NESTED
    input.Body.generationConfig.responseSchema.default == ANY
    input.Body.generationConfig.responseSchema.description == STRING
    input.Body.generationConfig.responseSchema.enum[_] == STRING
    input.Body.generationConfig.responseSchema.example == ANY
    input.Body.generationConfig.responseSchema.format == STRING
    input.Body.generationConfig.responseSchema.items == NESTED
    input.Body.generationConfig.responseSchema.maxItems == STRING
    input.Body.generationConfig.responseSchema.maxLength == STRING
    input.Body.generationConfig.responseSchema.maxProperties == STRING
    input.Body.generationConfig.responseSchema.maximum == NUMBER
    input.Body.generationConfig.responseSchema.minItems == STRING
    input.Body.generationConfig.responseSchema.minLength == STRING
    input.Body.generationConfig.responseSchema.minProperties == STRING
    input.Body.generationConfig.responseSchema.minimum == NUMBER
    input.Body.generationConfig.responseSchema.nullable == BOOLEAN
    input.Body.generationConfig.responseSchema.pattern == STRING
    input.Body.generationConfig.responseSchema.properties.STRING == NESTED
    input.Body.generationConfig.responseSchema.propertyOrdering[_] == STRING
    input.Body.generationConfig.responseSchema.required[_] == STRING
    input.Body.generationConfig.responseSchema.title == STRING
    input.Body.generationConfig.responseSchema.type == enum_GoogleCloudAiplatformV1SchemaType[_]
    input.Body.generationConfig.routingConfig.autoMode.modelRoutingPreference == enum_GoogleCloudAiplatformV1GenerationConfigRoutingConfigAutoRoutingModeModelRoutingPreference[_]
    input.Body.generationConfig.routingConfig.manualMode.modelName == STRING
    input.Body.generationConfig.seed == INTEGER
    input.Body.generationConfig.stopSequences[_] == STRING
    input.Body.generationConfig.temperature == NUMBER
    input.Body.generationConfig.topK == NUMBER
    input.Body.generationConfig.topP == NUMBER
    input.Body.labels.STRING == STRING
    input.Body.safetySettings[_].category == enum_GoogleCloudAiplatformV1SafetySettingCategory[_]
    input.Body.safetySettings[_].method == enum_GoogleCloudAiplatformV1SafetySettingMethod[_]
    input.Body.safetySettings[_].threshold == enum_GoogleCloudAiplatformV1SafetySettingThreshold[_]
    input.Body.systemInstruction.parts[_].fileData.fileUri == STRING
    input.Body.systemInstruction.parts[_].fileData.mimeType == STRING
    input.Body.systemInstruction.parts[_].functionCall.args.STRING == ANY
    input.Body.systemInstruction.parts[_].functionCall.name == STRING
    input.Body.systemInstruction.parts[_].functionResponse.name == STRING
    input.Body.systemInstruction.parts[_].functionResponse.response.STRING == ANY
    input.Body.systemInstruction.parts[_].inlineData.data == STRING
    input.Body.systemInstruction.parts[_].inlineData.mimeType == STRING
    input.Body.systemInstruction.parts[_].text == STRING
    input.Body.systemInstruction.parts[_].videoMetadata.endOffset == STRING
    input.Body.systemInstruction.parts[_].videoMetadata.startOffset == STRING
    input.Body.systemInstruction.role == STRING
    input.Body.toolConfig.functionCallingConfig.allowedFunctionNames[_] == STRING
    input.Body.toolConfig.functionCallingConfig.mode == enum_GoogleCloudAiplatformV1FunctionCallingConfigMode[_]
    input.Body.tools[_].functionDeclarations[_].description == STRING
    input.Body.tools[_].functionDeclarations[_].name == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.anyOf[_] == NESTED
    input.Body.tools[_].functionDeclarations[_].parameters.default == ANY
    input.Body.tools[_].functionDeclarations[_].parameters.description == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.enum[_] == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.example == ANY
    input.Body.tools[_].functionDeclarations[_].parameters.format == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.items == NESTED
    input.Body.tools[_].functionDeclarations[_].parameters.maxItems == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.maxLength == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.maxProperties == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.maximum == NUMBER
    input.Body.tools[_].functionDeclarations[_].parameters.minItems == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.minLength == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.minProperties == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.minimum == NUMBER
    input.Body.tools[_].functionDeclarations[_].parameters.nullable == BOOLEAN
    input.Body.tools[_].functionDeclarations[_].parameters.pattern == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.properties.STRING == NESTED
    input.Body.tools[_].functionDeclarations[_].parameters.propertyOrdering[_] == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.required[_] == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.title == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.type == enum_GoogleCloudAiplatformV1SchemaType[_]
    input.Body.tools[_].functionDeclarations[_].response.anyOf[_] == NESTED
    input.Body.tools[_].functionDeclarations[_].response.default == ANY
    input.Body.tools[_].functionDeclarations[_].response.description == STRING
    input.Body.tools[_].functionDeclarations[_].response.enum[_] == STRING
    input.Body.tools[_].functionDeclarations[_].response.example == ANY
    input.Body.tools[_].functionDeclarations[_].response.format == STRING
    input.Body.tools[_].functionDeclarations[_].response.items == NESTED
    input.Body.tools[_].functionDeclarations[_].response.maxItems == STRING
    input.Body.tools[_].functionDeclarations[_].response.maxLength == STRING
    input.Body.tools[_].functionDeclarations[_].response.maxProperties == STRING
    input.Body.tools[_].functionDeclarations[_].response.maximum == NUMBER
    input.Body.tools[_].functionDeclarations[_].response.minItems == STRING
    input.Body.tools[_].functionDeclarations[_].response.minLength == STRING
    input.Body.tools[_].functionDeclarations[_].response.minProperties == STRING
    input.Body.tools[_].functionDeclarations[_].response.minimum == NUMBER
    input.Body.tools[_].functionDeclarations[_].response.nullable == BOOLEAN
    input.Body.tools[_].functionDeclarations[_].response.pattern == STRING
    input.Body.tools[_].functionDeclarations[_].response.properties.STRING == NESTED
    input.Body.tools[_].functionDeclarations[_].response.propertyOrdering[_] == STRING
    input.Body.tools[_].functionDeclarations[_].response.required[_] == STRING
    input.Body.tools[_].functionDeclarations[_].response.title == STRING
    input.Body.tools[_].functionDeclarations[_].response.type == enum_GoogleCloudAiplatformV1SchemaType[_]
    input.Body.tools[_].googleSearchRetrieval.dynamicRetrievalConfig.dynamicThreshold == NUMBER
    input.Body.tools[_].googleSearchRetrieval.dynamicRetrievalConfig.mode == enum_GoogleCloudAiplatformV1DynamicRetrievalConfigMode[_]
    input.Body.tools[_].retrieval.disableAttribution == BOOLEAN
    input.Body.tools[_].retrieval.vertexAiSearch.datastore == STRING
    input.Body.tools[_].retrieval.vertexRagStore.ragCorpora[_] == STRING
    input.Body.tools[_].retrieval.vertexRagStore.ragResources[_].ragCorpus == STRING
    input.Body.tools[_].retrieval.vertexRagStore.ragResources[_].ragFileIds[_] == STRING
    input.Body.tools[_].retrieval.vertexRagStore.similarityTopK == INTEGER
    input.Body.tools[_].retrieval.vertexRagStore.vectorDistanceThreshold == NUMBER
    input.ReqMap.model == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.locations.endpoints.streamRawPredict

valid {
    input.Body.httpBody.contentType == STRING
    input.Body.httpBody.data == STRING
    input.Body.httpBody.extensions[_].STRING == ANY
    input.ReqMap.endpoint == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.locations.endpoints.testIamPermissions

valid {
    input.ReqMap.resource == STRING
    input.Qs.permissions == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.locations.endpoints.undeployModel

valid {
    input.Body.deployedModelId == STRING
    input.Body.trafficSplit.STRING == INTEGER
    input.ReqMap.endpoint == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.locations.endpoints.update

valid {
    input.Body.endpoint.clientConnectionConfig.inferenceTimeout == STRING
    input.Body.endpoint.dedicatedEndpointEnabled == BOOLEAN
    input.Body.endpoint.description == STRING
    input.Body.endpoint.displayName == STRING
    input.Body.endpoint.enablePrivateServiceConnect == BOOLEAN
    input.Body.endpoint.encryptionSpec.kmsKeyName == STRING
    input.Body.endpoint.etag == STRING
    input.Body.endpoint.labels.STRING == STRING
    input.Body.endpoint.network == STRING
    input.Body.endpoint.predictRequestResponseLoggingConfig.bigqueryDestination.outputUri == STRING
    input.Body.endpoint.predictRequestResponseLoggingConfig.enabled == BOOLEAN
    input.Body.endpoint.predictRequestResponseLoggingConfig.samplingRate == NUMBER
    input.Body.endpoint.privateServiceConnectConfig.enablePrivateServiceConnect == BOOLEAN
    input.Body.endpoint.privateServiceConnectConfig.projectAllowlist[_] == STRING
    input.Body.endpoint.trafficSplit.STRING == INTEGER
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.locations.evaluateInstances

enum_GoogleCloudAiplatformV1CometSpecVersion := [ "COMET_VERSION_UNSPECIFIED", "COMET_22_SRC_REF" ]
enum_GoogleCloudAiplatformV1MetricxSpecVersion := [ "METRICX_VERSION_UNSPECIFIED", "METRICX_24_REF", "METRICX_24_SRC", "METRICX_24_SRC_REF" ]

valid {
    input.Body.bleuInput.instances[_].prediction == STRING
    input.Body.bleuInput.instances[_].reference == STRING
    input.Body.bleuInput.metricSpec.useEffectiveOrder == BOOLEAN
    input.Body.coherenceInput.instance.prediction == STRING
    input.Body.coherenceInput.metricSpec.version == INTEGER
    input.Body.cometInput.instance.prediction == STRING
    input.Body.cometInput.instance.reference == STRING
    input.Body.cometInput.instance.source == STRING
    input.Body.cometInput.metricSpec.sourceLanguage == STRING
    input.Body.cometInput.metricSpec.targetLanguage == STRING
    input.Body.cometInput.metricSpec.version == enum_GoogleCloudAiplatformV1CometSpecVersion[_]
    input.Body.exactMatchInput.instances[_].prediction == STRING
    input.Body.exactMatchInput.instances[_].reference == STRING
    input.Body.exactMatchInput.metricSpec.STRING == STRING
    input.Body.fluencyInput.instance.prediction == STRING
    input.Body.fluencyInput.metricSpec.version == INTEGER
    input.Body.fulfillmentInput.instance.instruction == STRING
    input.Body.fulfillmentInput.instance.prediction == STRING
    input.Body.fulfillmentInput.metricSpec.version == INTEGER
    input.Body.groundednessInput.instance.context == STRING
    input.Body.groundednessInput.instance.prediction == STRING
    input.Body.groundednessInput.metricSpec.version == INTEGER
    input.Body.metricxInput.instance.prediction == STRING
    input.Body.metricxInput.instance.reference == STRING
    input.Body.metricxInput.instance.source == STRING
    input.Body.metricxInput.metricSpec.sourceLanguage == STRING
    input.Body.metricxInput.metricSpec.targetLanguage == STRING
    input.Body.metricxInput.metricSpec.version == enum_GoogleCloudAiplatformV1MetricxSpecVersion[_]
    input.Body.pairwiseMetricInput.instance.jsonInstance == STRING
    input.Body.pairwiseMetricInput.metricSpec.metricPromptTemplate == STRING
    input.Body.pairwiseQuestionAnsweringQualityInput.instance.baselinePrediction == STRING
    input.Body.pairwiseQuestionAnsweringQualityInput.instance.context == STRING
    input.Body.pairwiseQuestionAnsweringQualityInput.instance.instruction == STRING
    input.Body.pairwiseQuestionAnsweringQualityInput.instance.prediction == STRING
    input.Body.pairwiseQuestionAnsweringQualityInput.instance.reference == STRING
    input.Body.pairwiseQuestionAnsweringQualityInput.metricSpec.useReference == BOOLEAN
    input.Body.pairwiseQuestionAnsweringQualityInput.metricSpec.version == INTEGER
    input.Body.pairwiseSummarizationQualityInput.instance.baselinePrediction == STRING
    input.Body.pairwiseSummarizationQualityInput.instance.context == STRING
    input.Body.pairwiseSummarizationQualityInput.instance.instruction == STRING
    input.Body.pairwiseSummarizationQualityInput.instance.prediction == STRING
    input.Body.pairwiseSummarizationQualityInput.instance.reference == STRING
    input.Body.pairwiseSummarizationQualityInput.metricSpec.useReference == BOOLEAN
    input.Body.pairwiseSummarizationQualityInput.metricSpec.version == INTEGER
    input.Body.pointwiseMetricInput.instance.jsonInstance == STRING
    input.Body.pointwiseMetricInput.metricSpec.metricPromptTemplate == STRING
    input.Body.questionAnsweringCorrectnessInput.instance.context == STRING
    input.Body.questionAnsweringCorrectnessInput.instance.instruction == STRING
    input.Body.questionAnsweringCorrectnessInput.instance.prediction == STRING
    input.Body.questionAnsweringCorrectnessInput.instance.reference == STRING
    input.Body.questionAnsweringCorrectnessInput.metricSpec.useReference == BOOLEAN
    input.Body.questionAnsweringCorrectnessInput.metricSpec.version == INTEGER
    input.Body.questionAnsweringHelpfulnessInput.instance.context == STRING
    input.Body.questionAnsweringHelpfulnessInput.instance.instruction == STRING
    input.Body.questionAnsweringHelpfulnessInput.instance.prediction == STRING
    input.Body.questionAnsweringHelpfulnessInput.instance.reference == STRING
    input.Body.questionAnsweringHelpfulnessInput.metricSpec.useReference == BOOLEAN
    input.Body.questionAnsweringHelpfulnessInput.metricSpec.version == INTEGER
    input.Body.questionAnsweringQualityInput.instance.context == STRING
    input.Body.questionAnsweringQualityInput.instance.instruction == STRING
    input.Body.questionAnsweringQualityInput.instance.prediction == STRING
    input.Body.questionAnsweringQualityInput.instance.reference == STRING
    input.Body.questionAnsweringQualityInput.metricSpec.useReference == BOOLEAN
    input.Body.questionAnsweringQualityInput.metricSpec.version == INTEGER
    input.Body.questionAnsweringRelevanceInput.instance.context == STRING
    input.Body.questionAnsweringRelevanceInput.instance.instruction == STRING
    input.Body.questionAnsweringRelevanceInput.instance.prediction == STRING
    input.Body.questionAnsweringRelevanceInput.instance.reference == STRING
    input.Body.questionAnsweringRelevanceInput.metricSpec.useReference == BOOLEAN
    input.Body.questionAnsweringRelevanceInput.metricSpec.version == INTEGER
    input.Body.rougeInput.instances[_].prediction == STRING
    input.Body.rougeInput.instances[_].reference == STRING
    input.Body.rougeInput.metricSpec.rougeType == STRING
    input.Body.rougeInput.metricSpec.splitSummaries == BOOLEAN
    input.Body.rougeInput.metricSpec.useStemmer == BOOLEAN
    input.Body.safetyInput.instance.prediction == STRING
    input.Body.safetyInput.metricSpec.version == INTEGER
    input.Body.summarizationHelpfulnessInput.instance.context == STRING
    input.Body.summarizationHelpfulnessInput.instance.instruction == STRING
    input.Body.summarizationHelpfulnessInput.instance.prediction == STRING
    input.Body.summarizationHelpfulnessInput.instance.reference == STRING
    input.Body.summarizationHelpfulnessInput.metricSpec.useReference == BOOLEAN
    input.Body.summarizationHelpfulnessInput.metricSpec.version == INTEGER
    input.Body.summarizationQualityInput.instance.context == STRING
    input.Body.summarizationQualityInput.instance.instruction == STRING
    input.Body.summarizationQualityInput.instance.prediction == STRING
    input.Body.summarizationQualityInput.instance.reference == STRING
    input.Body.summarizationQualityInput.metricSpec.useReference == BOOLEAN
    input.Body.summarizationQualityInput.metricSpec.version == INTEGER
    input.Body.summarizationVerbosityInput.instance.context == STRING
    input.Body.summarizationVerbosityInput.instance.instruction == STRING
    input.Body.summarizationVerbosityInput.instance.prediction == STRING
    input.Body.summarizationVerbosityInput.instance.reference == STRING
    input.Body.summarizationVerbosityInput.metricSpec.useReference == BOOLEAN
    input.Body.summarizationVerbosityInput.metricSpec.version == INTEGER
    input.Body.toolCallValidInput.instances[_].prediction == STRING
    input.Body.toolCallValidInput.instances[_].reference == STRING
    input.Body.toolCallValidInput.metricSpec.STRING == STRING
    input.Body.toolNameMatchInput.instances[_].prediction == STRING
    input.Body.toolNameMatchInput.instances[_].reference == STRING
    input.Body.toolNameMatchInput.metricSpec.STRING == STRING
    input.Body.toolParameterKeyMatchInput.instances[_].prediction == STRING
    input.Body.toolParameterKeyMatchInput.instances[_].reference == STRING
    input.Body.toolParameterKeyMatchInput.metricSpec.STRING == STRING
    input.Body.toolParameterKvMatchInput.instances[_].prediction == STRING
    input.Body.toolParameterKvMatchInput.instances[_].reference == STRING
    input.Body.toolParameterKvMatchInput.metricSpec.useStrictStringMatch == BOOLEAN
    input.ReqMap.location == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.locations.evaluationTasks.operations.delete

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

aiplatform.projects.locations.evaluationTasks.operations.get

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

aiplatform.projects.locations.evaluationTasks.operations.list

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

aiplatform.projects.locations.evaluationTasks.operations.wait

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

aiplatform.projects.locations.exampleStores.operations.cancel

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

aiplatform.projects.locations.exampleStores.operations.delete

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

aiplatform.projects.locations.exampleStores.operations.get

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

aiplatform.projects.locations.exampleStores.operations.list

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

aiplatform.projects.locations.exampleStores.operations.wait

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

aiplatform.projects.locations.extensionControllers.operations.cancel

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

aiplatform.projects.locations.extensionControllers.operations.delete

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

aiplatform.projects.locations.extensionControllers.operations.get

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

aiplatform.projects.locations.extensionControllers.operations.list

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

aiplatform.projects.locations.extensionControllers.operations.wait

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

aiplatform.projects.locations.extensions.delete

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

aiplatform.projects.locations.extensions.execute

enum_GoogleCloudAiplatformV1beta1AuthConfigApiKeyConfigHttpElementLocation := [ "HTTP_IN_UNSPECIFIED", "HTTP_IN_QUERY", "HTTP_IN_HEADER", "HTTP_IN_PATH", "HTTP_IN_BODY", "HTTP_IN_COOKIE" ]
enum_GoogleCloudAiplatformV1beta1AuthConfigAuthType := [ "AUTH_TYPE_UNSPECIFIED", "NO_AUTH", "API_KEY_AUTH", "HTTP_BASIC_AUTH", "GOOGLE_SERVICE_ACCOUNT_AUTH", "OAUTH", "OIDC_AUTH" ]

valid {
    input.Body.operationId == STRING
    input.Body.operationParams.STRING == ANY
    input.Body.runtimeAuthConfig.apiKeyConfig.apiKeySecret == STRING
    input.Body.runtimeAuthConfig.apiKeyConfig.httpElementLocation == enum_GoogleCloudAiplatformV1beta1AuthConfigApiKeyConfigHttpElementLocation[_]
    input.Body.runtimeAuthConfig.apiKeyConfig.name == STRING
    input.Body.runtimeAuthConfig.authType == enum_GoogleCloudAiplatformV1beta1AuthConfigAuthType[_]
    input.Body.runtimeAuthConfig.googleServiceAccountConfig.serviceAccount == STRING
    input.Body.runtimeAuthConfig.httpBasicAuthConfig.credentialSecret == STRING
    input.Body.runtimeAuthConfig.oauthConfig.accessToken == STRING
    input.Body.runtimeAuthConfig.oauthConfig.serviceAccount == STRING
    input.Body.runtimeAuthConfig.oidcConfig.idToken == STRING
    input.Body.runtimeAuthConfig.oidcConfig.serviceAccount == STRING
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.locations.extensions.get

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

aiplatform.projects.locations.extensions.import

enum_GoogleCloudAiplatformV1beta1AuthConfigApiKeyConfigHttpElementLocation := [ "HTTP_IN_UNSPECIFIED", "HTTP_IN_QUERY", "HTTP_IN_HEADER", "HTTP_IN_PATH", "HTTP_IN_BODY", "HTTP_IN_COOKIE" ]
enum_GoogleCloudAiplatformV1beta1AuthConfigAuthType := [ "AUTH_TYPE_UNSPECIFIED", "NO_AUTH", "API_KEY_AUTH", "HTTP_BASIC_AUTH", "GOOGLE_SERVICE_ACCOUNT_AUTH", "OAUTH", "OIDC_AUTH" ]

valid {
    input.Body.description == STRING
    input.Body.displayName == STRING
    input.Body.etag == STRING
    input.Body.manifest.apiSpec.openApiGcsUri == STRING
    input.Body.manifest.apiSpec.openApiYaml == STRING
    input.Body.manifest.authConfig.apiKeyConfig.apiKeySecret == STRING
    input.Body.manifest.authConfig.apiKeyConfig.httpElementLocation == enum_GoogleCloudAiplatformV1beta1AuthConfigApiKeyConfigHttpElementLocation[_]
    input.Body.manifest.authConfig.apiKeyConfig.name == STRING
    input.Body.manifest.authConfig.authType == enum_GoogleCloudAiplatformV1beta1AuthConfigAuthType[_]
    input.Body.manifest.authConfig.googleServiceAccountConfig.serviceAccount == STRING
    input.Body.manifest.authConfig.httpBasicAuthConfig.credentialSecret == STRING
    input.Body.manifest.authConfig.oauthConfig.accessToken == STRING
    input.Body.manifest.authConfig.oauthConfig.serviceAccount == STRING
    input.Body.manifest.authConfig.oidcConfig.idToken == STRING
    input.Body.manifest.authConfig.oidcConfig.serviceAccount == STRING
    input.Body.manifest.description == STRING
    input.Body.manifest.name == STRING
    input.Body.name == STRING
    input.Body.privateServiceConnectConfig.serviceDirectory == STRING
    input.Body.runtimeConfig.codeInterpreterRuntimeConfig.fileInputGcsBucket == STRING
    input.Body.runtimeConfig.codeInterpreterRuntimeConfig.fileOutputGcsBucket == STRING
    input.Body.runtimeConfig.defaultParams.STRING == ANY
    input.Body.runtimeConfig.vertexAiSearchRuntimeConfig.engineId == STRING
    input.Body.runtimeConfig.vertexAiSearchRuntimeConfig.servingConfigName == STRING
    input.Body.toolUseExamples[_].displayName == STRING
    input.Body.toolUseExamples[_].extensionOperation.extension == STRING
    input.Body.toolUseExamples[_].extensionOperation.operationId == STRING
    input.Body.toolUseExamples[_].functionName == STRING
    input.Body.toolUseExamples[_].query == STRING
    input.Body.toolUseExamples[_].requestParams.STRING == ANY
    input.Body.toolUseExamples[_].responseParams.STRING == ANY
    input.Body.toolUseExamples[_].responseSummary == STRING
    input.ReqMap.parent == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.locations.extensions.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
}

aiplatform.projects.locations.extensions.operations.cancel

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

aiplatform.projects.locations.extensions.operations.delete

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

aiplatform.projects.locations.extensions.operations.get

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

aiplatform.projects.locations.extensions.operations.list

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

aiplatform.projects.locations.extensions.operations.wait

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

aiplatform.projects.locations.extensions.patch

enum_GoogleCloudAiplatformV1beta1AuthConfigApiKeyConfigHttpElementLocation := [ "HTTP_IN_UNSPECIFIED", "HTTP_IN_QUERY", "HTTP_IN_HEADER", "HTTP_IN_PATH", "HTTP_IN_BODY", "HTTP_IN_COOKIE" ]
enum_GoogleCloudAiplatformV1beta1AuthConfigAuthType := [ "AUTH_TYPE_UNSPECIFIED", "NO_AUTH", "API_KEY_AUTH", "HTTP_BASIC_AUTH", "GOOGLE_SERVICE_ACCOUNT_AUTH", "OAUTH", "OIDC_AUTH" ]

valid {
    input.Body.description == STRING
    input.Body.displayName == STRING
    input.Body.etag == STRING
    input.Body.manifest.apiSpec.openApiGcsUri == STRING
    input.Body.manifest.apiSpec.openApiYaml == STRING
    input.Body.manifest.authConfig.apiKeyConfig.apiKeySecret == STRING
    input.Body.manifest.authConfig.apiKeyConfig.httpElementLocation == enum_GoogleCloudAiplatformV1beta1AuthConfigApiKeyConfigHttpElementLocation[_]
    input.Body.manifest.authConfig.apiKeyConfig.name == STRING
    input.Body.manifest.authConfig.authType == enum_GoogleCloudAiplatformV1beta1AuthConfigAuthType[_]
    input.Body.manifest.authConfig.googleServiceAccountConfig.serviceAccount == STRING
    input.Body.manifest.authConfig.httpBasicAuthConfig.credentialSecret == STRING
    input.Body.manifest.authConfig.oauthConfig.accessToken == STRING
    input.Body.manifest.authConfig.oauthConfig.serviceAccount == STRING
    input.Body.manifest.authConfig.oidcConfig.idToken == STRING
    input.Body.manifest.authConfig.oidcConfig.serviceAccount == STRING
    input.Body.manifest.description == STRING
    input.Body.manifest.name == STRING
    input.Body.name == STRING
    input.Body.privateServiceConnectConfig.serviceDirectory == STRING
    input.Body.runtimeConfig.codeInterpreterRuntimeConfig.fileInputGcsBucket == STRING
    input.Body.runtimeConfig.codeInterpreterRuntimeConfig.fileOutputGcsBucket == STRING
    input.Body.runtimeConfig.defaultParams.STRING == ANY
    input.Body.runtimeConfig.vertexAiSearchRuntimeConfig.engineId == STRING
    input.Body.runtimeConfig.vertexAiSearchRuntimeConfig.servingConfigName == STRING
    input.Body.toolUseExamples[_].displayName == STRING
    input.Body.toolUseExamples[_].extensionOperation.extension == STRING
    input.Body.toolUseExamples[_].extensionOperation.operationId == STRING
    input.Body.toolUseExamples[_].functionName == STRING
    input.Body.toolUseExamples[_].query == STRING
    input.Body.toolUseExamples[_].requestParams.STRING == ANY
    input.Body.toolUseExamples[_].responseParams.STRING == ANY
    input.Body.toolUseExamples[_].responseSummary == STRING
    input.ReqMap.name == STRING
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.locations.extensions.query

enum_GoogleCloudAiplatformV1beta1CodeExecutionResultOutcome := [ "OUTCOME_UNSPECIFIED", "OUTCOME_OK", "OUTCOME_FAILED", "OUTCOME_DEADLINE_EXCEEDED" ]
enum_GoogleCloudAiplatformV1beta1ExecutableCodeLanguage := [ "LANGUAGE_UNSPECIFIED", "PYTHON" ]

valid {
    input.Body.contents[_].parts[_].codeExecutionResult.outcome == enum_GoogleCloudAiplatformV1beta1CodeExecutionResultOutcome[_]
    input.Body.contents[_].parts[_].codeExecutionResult.output == STRING
    input.Body.contents[_].parts[_].executableCode.code == STRING
    input.Body.contents[_].parts[_].executableCode.language == enum_GoogleCloudAiplatformV1beta1ExecutableCodeLanguage[_]
    input.Body.contents[_].parts[_].fileData.fileUri == STRING
    input.Body.contents[_].parts[_].fileData.mimeType == STRING
    input.Body.contents[_].parts[_].functionCall.args.STRING == ANY
    input.Body.contents[_].parts[_].functionCall.name == STRING
    input.Body.contents[_].parts[_].functionResponse.name == STRING
    input.Body.contents[_].parts[_].functionResponse.response.STRING == ANY
    input.Body.contents[_].parts[_].inlineData.data == STRING
    input.Body.contents[_].parts[_].inlineData.mimeType == STRING
    input.Body.contents[_].parts[_].text == STRING
    input.Body.contents[_].parts[_].videoMetadata.endOffset == STRING
    input.Body.contents[_].parts[_].videoMetadata.startOffset == STRING
    input.Body.contents[_].role == STRING
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.locations.featureGroups.create

valid {
    input.Body.bigQuery.bigQuerySource.inputUri == STRING
    input.Body.bigQuery.dense == BOOLEAN
    input.Body.bigQuery.entityIdColumns[_] == STRING
    input.Body.bigQuery.staticDataSource == BOOLEAN
    input.Body.bigQuery.timeSeries.timestampColumn == STRING
    input.Body.description == STRING
    input.Body.etag == STRING
    input.Body.labels.STRING == STRING
    input.Body.name == STRING
    input.ReqMap.parent == STRING
    input.Qs.featureGroupId == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.locations.featureGroups.delete

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

aiplatform.projects.locations.featureGroups.featureMonitors.create

valid {
    input.Body.description == STRING
    input.Body.etag == STRING
    input.Body.featureSelectionConfig.featureConfigs[_].driftThreshold == NUMBER
    input.Body.featureSelectionConfig.featureConfigs[_].featureId == STRING
    input.Body.labels.STRING == STRING
    input.Body.name == STRING
    input.Body.scheduleConfig.cron == STRING
    input.ReqMap.parent == STRING
    input.Qs.featureMonitorId == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.locations.featureGroups.featureMonitors.delete

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

aiplatform.projects.locations.featureGroups.featureMonitors.featureMonitorJobs.create

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

aiplatform.projects.locations.featureGroups.featureMonitors.featureMonitorJobs.get

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

aiplatform.projects.locations.featureGroups.featureMonitors.featureMonitorJobs.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
}

aiplatform.projects.locations.featureGroups.featureMonitors.get

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

aiplatform.projects.locations.featureGroups.featureMonitors.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
}

aiplatform.projects.locations.featureGroups.featureMonitors.operations.delete

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

aiplatform.projects.locations.featureGroups.featureMonitors.operations.get

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

aiplatform.projects.locations.featureGroups.featureMonitors.operations.list

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

aiplatform.projects.locations.featureGroups.featureMonitors.operations.wait

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

aiplatform.projects.locations.featureGroups.features.batchCreate

enum_GoogleCloudAiplatformV1FeatureValueType := [ "VALUE_TYPE_UNSPECIFIED", "BOOL", "BOOL_ARRAY", "DOUBLE", "DOUBLE_ARRAY", "INT64", "INT64_ARRAY", "STRING", "STRING_ARRAY", "BYTES", "STRUCT" ]

valid {
    input.Body.requests[_].feature.description == STRING
    input.Body.requests[_].feature.disableMonitoring == BOOLEAN
    input.Body.requests[_].feature.etag == STRING
    input.Body.requests[_].feature.labels.STRING == STRING
    input.Body.requests[_].feature.name == STRING
    input.Body.requests[_].feature.pointOfContact == STRING
    input.Body.requests[_].feature.valueType == enum_GoogleCloudAiplatformV1FeatureValueType[_]
    input.Body.requests[_].feature.versionColumnName == STRING
    input.Body.requests[_].featureId == STRING
    input.Body.requests[_].parent == STRING
    input.ReqMap.parent == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.locations.featureGroups.features.create

enum_GoogleCloudAiplatformV1FeatureValueType := [ "VALUE_TYPE_UNSPECIFIED", "BOOL", "BOOL_ARRAY", "DOUBLE", "DOUBLE_ARRAY", "INT64", "INT64_ARRAY", "STRING", "STRING_ARRAY", "BYTES", "STRUCT" ]

valid {
    input.Body.description == STRING
    input.Body.disableMonitoring == BOOLEAN
    input.Body.etag == STRING
    input.Body.labels.STRING == STRING
    input.Body.name == STRING
    input.Body.pointOfContact == STRING
    input.Body.valueType == enum_GoogleCloudAiplatformV1FeatureValueType[_]
    input.Body.versionColumnName == STRING
    input.ReqMap.parent == STRING
    input.Qs.featureId == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.locations.featureGroups.features.delete

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

aiplatform.projects.locations.featureGroups.features.get

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

aiplatform.projects.locations.featureGroups.features.list

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

aiplatform.projects.locations.featureGroups.features.operations.delete

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

aiplatform.projects.locations.featureGroups.features.operations.get

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

aiplatform.projects.locations.featureGroups.features.operations.list

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

aiplatform.projects.locations.featureGroups.features.operations.listWait

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

aiplatform.projects.locations.featureGroups.features.operations.wait

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

aiplatform.projects.locations.featureGroups.features.patch

enum_GoogleCloudAiplatformV1FeatureValueType := [ "VALUE_TYPE_UNSPECIFIED", "BOOL", "BOOL_ARRAY", "DOUBLE", "DOUBLE_ARRAY", "INT64", "INT64_ARRAY", "STRING", "STRING_ARRAY", "BYTES", "STRUCT" ]

valid {
    input.Body.description == STRING
    input.Body.disableMonitoring == BOOLEAN
    input.Body.etag == STRING
    input.Body.labels.STRING == STRING
    input.Body.name == STRING
    input.Body.pointOfContact == STRING
    input.Body.valueType == enum_GoogleCloudAiplatformV1FeatureValueType[_]
    input.Body.versionColumnName == STRING
    input.ReqMap.name == STRING
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.locations.featureGroups.get

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

aiplatform.projects.locations.featureGroups.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
}

aiplatform.projects.locations.featureGroups.operations.delete

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

aiplatform.projects.locations.featureGroups.operations.get

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

aiplatform.projects.locations.featureGroups.operations.list

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

aiplatform.projects.locations.featureGroups.operations.listWait

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

aiplatform.projects.locations.featureGroups.operations.wait

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

aiplatform.projects.locations.featureGroups.patch

valid {
    input.Body.bigQuery.bigQuerySource.inputUri == STRING
    input.Body.bigQuery.dense == BOOLEAN
    input.Body.bigQuery.entityIdColumns[_] == STRING
    input.Body.bigQuery.staticDataSource == BOOLEAN
    input.Body.bigQuery.timeSeries.timestampColumn == STRING
    input.Body.description == STRING
    input.Body.etag == STRING
    input.Body.labels.STRING == STRING
    input.Body.name == STRING
    input.ReqMap.name == STRING
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.locations.featureOnlineStores.create

valid {
    input.Body.bigtable.autoScaling.cpuUtilizationTarget == INTEGER
    input.Body.bigtable.autoScaling.maxNodeCount == INTEGER
    input.Body.bigtable.autoScaling.minNodeCount == INTEGER
    input.Body.dedicatedServingEndpoint.privateServiceConnectConfig.enablePrivateServiceConnect == BOOLEAN
    input.Body.dedicatedServingEndpoint.privateServiceConnectConfig.projectAllowlist[_] == STRING
    input.Body.encryptionSpec.kmsKeyName == STRING
    input.Body.etag == STRING
    input.Body.labels.STRING == STRING
    input.Body.name == STRING
    input.Body.optimized.STRING == STRING
    input.ReqMap.parent == STRING
    input.Qs.featureOnlineStoreId == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.locations.featureOnlineStores.delete

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

aiplatform.projects.locations.featureOnlineStores.featureViews.create

enum_GoogleCloudAiplatformV1FeatureViewIndexConfigDistanceMeasureType := [ "DISTANCE_MEASURE_TYPE_UNSPECIFIED", "SQUARED_L2_DISTANCE", "COSINE_DISTANCE", "DOT_PRODUCT_DISTANCE" ]

valid {
    input.Body.bigQuerySource.entityIdColumns[_] == STRING
    input.Body.bigQuerySource.uri == STRING
    input.Body.etag == STRING
    input.Body.featureRegistrySource.featureGroups[_].featureGroupId == STRING
    input.Body.featureRegistrySource.featureGroups[_].featureIds[_] == STRING
    input.Body.featureRegistrySource.projectNumber == STRING
    input.Body.indexConfig.bruteForceConfig.STRING == STRING
    input.Body.indexConfig.crowdingColumn == STRING
    input.Body.indexConfig.distanceMeasureType == enum_GoogleCloudAiplatformV1FeatureViewIndexConfigDistanceMeasureType[_]
    input.Body.indexConfig.embeddingColumn == STRING
    input.Body.indexConfig.embeddingDimension == INTEGER
    input.Body.indexConfig.filterColumns[_] == STRING
    input.Body.indexConfig.treeAhConfig.leafNodeEmbeddingCount == STRING
    input.Body.labels.STRING == STRING
    input.Body.name == STRING
    input.Body.optimizedConfig.automaticResources.maxReplicaCount == INTEGER
    input.Body.optimizedConfig.automaticResources.minReplicaCount == INTEGER
    input.Body.syncConfig.continuous == BOOLEAN
    input.Body.syncConfig.cron == STRING
    input.Body.vertexRagSource.ragCorpusId == STRING
    input.Body.vertexRagSource.uri == STRING
    input.ReqMap.parent == STRING
    input.Qs.featureViewId == STRING
    input.Qs.runSyncImmediately == BOOLEAN
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.locations.featureOnlineStores.featureViews.delete

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

aiplatform.projects.locations.featureOnlineStores.featureViews.featureViewSyncs.get

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

aiplatform.projects.locations.featureOnlineStores.featureViews.featureViewSyncs.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
}

aiplatform.projects.locations.featureOnlineStores.featureViews.fetchFeatureValues

enum_GoogleCloudAiplatformV1FetchFeatureValuesRequestDataFormat := [ "FEATURE_VIEW_DATA_FORMAT_UNSPECIFIED", "KEY_VALUE", "PROTO_STRUCT" ]

valid {
    input.Body.dataFormat == enum_GoogleCloudAiplatformV1FetchFeatureValuesRequestDataFormat[_]
    input.Body.dataKey.compositeKey.parts[_] == STRING
    input.Body.dataKey.key == STRING
    input.ReqMap.featureView == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.locations.featureOnlineStores.featureViews.get

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

aiplatform.projects.locations.featureOnlineStores.featureViews.getIamPolicy

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

aiplatform.projects.locations.featureOnlineStores.featureViews.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
}

aiplatform.projects.locations.featureOnlineStores.featureViews.operations.delete

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

aiplatform.projects.locations.featureOnlineStores.featureViews.operations.get

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

aiplatform.projects.locations.featureOnlineStores.featureViews.operations.list

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

aiplatform.projects.locations.featureOnlineStores.featureViews.operations.listWait

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

aiplatform.projects.locations.featureOnlineStores.featureViews.operations.wait

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

aiplatform.projects.locations.featureOnlineStores.featureViews.patch

enum_GoogleCloudAiplatformV1FeatureViewIndexConfigDistanceMeasureType := [ "DISTANCE_MEASURE_TYPE_UNSPECIFIED", "SQUARED_L2_DISTANCE", "COSINE_DISTANCE", "DOT_PRODUCT_DISTANCE" ]

valid {
    input.Body.bigQuerySource.entityIdColumns[_] == STRING
    input.Body.bigQuerySource.uri == STRING
    input.Body.etag == STRING
    input.Body.featureRegistrySource.featureGroups[_].featureGroupId == STRING
    input.Body.featureRegistrySource.featureGroups[_].featureIds[_] == STRING
    input.Body.featureRegistrySource.projectNumber == STRING
    input.Body.indexConfig.bruteForceConfig.STRING == STRING
    input.Body.indexConfig.crowdingColumn == STRING
    input.Body.indexConfig.distanceMeasureType == enum_GoogleCloudAiplatformV1FeatureViewIndexConfigDistanceMeasureType[_]
    input.Body.indexConfig.embeddingColumn == STRING
    input.Body.indexConfig.embeddingDimension == INTEGER
    input.Body.indexConfig.filterColumns[_] == STRING
    input.Body.indexConfig.treeAhConfig.leafNodeEmbeddingCount == STRING
    input.Body.labels.STRING == STRING
    input.Body.name == STRING
    input.Body.optimizedConfig.automaticResources.maxReplicaCount == INTEGER
    input.Body.optimizedConfig.automaticResources.minReplicaCount == INTEGER
    input.Body.syncConfig.continuous == BOOLEAN
    input.Body.syncConfig.cron == STRING
    input.Body.vertexRagSource.ragCorpusId == STRING
    input.Body.vertexRagSource.uri == STRING
    input.ReqMap.name == STRING
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.locations.featureOnlineStores.featureViews.searchNearestEntities

enum_GoogleCloudAiplatformV1NearestNeighborQueryNumericFilterOp := [ "OPERATOR_UNSPECIFIED", "LESS", "LESS_EQUAL", "EQUAL", "GREATER_EQUAL", "GREATER", "NOT_EQUAL" ]

valid {
    input.Body.query.embedding.value[_] == NUMBER
    input.Body.query.entityId == STRING
    input.Body.query.neighborCount == INTEGER
    input.Body.query.numericFilters[_].name == STRING
    input.Body.query.numericFilters[_].op == enum_GoogleCloudAiplatformV1NearestNeighborQueryNumericFilterOp[_]
    input.Body.query.numericFilters[_].valueDouble == NUMBER
    input.Body.query.numericFilters[_].valueFloat == NUMBER
    input.Body.query.numericFilters[_].valueInt == STRING
    input.Body.query.parameters.approximateNeighborCandidates == INTEGER
    input.Body.query.parameters.leafNodesSearchFraction == NUMBER
    input.Body.query.perCrowdingAttributeNeighborCount == INTEGER
    input.Body.query.stringFilters[_].allowTokens[_] == STRING
    input.Body.query.stringFilters[_].denyTokens[_] == STRING
    input.Body.query.stringFilters[_].name == STRING
    input.Body.returnFullEntity == BOOLEAN
    input.ReqMap.featureView == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.locations.featureOnlineStores.featureViews.setIamPolicy

valid {
    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.ReqMap.resource == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.locations.featureOnlineStores.featureViews.streamingFetchFeatureValues

enum_GoogleCloudAiplatformV1beta1StreamingFetchFeatureValuesRequestDataFormat := [ "FEATURE_VIEW_DATA_FORMAT_UNSPECIFIED", "KEY_VALUE", "PROTO_STRUCT" ]

valid {
    input.Body.dataFormat == enum_GoogleCloudAiplatformV1beta1StreamingFetchFeatureValuesRequestDataFormat[_]
    input.Body.dataKeys[_].compositeKey.parts[_] == STRING
    input.Body.dataKeys[_].key == STRING
    input.ReqMap.featureView == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.locations.featureOnlineStores.featureViews.sync

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

aiplatform.projects.locations.featureOnlineStores.featureViews.testIamPermissions

valid {
    input.ReqMap.resource == STRING
    input.Qs.permissions == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.locations.featureOnlineStores.get

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

aiplatform.projects.locations.featureOnlineStores.getIamPolicy

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

aiplatform.projects.locations.featureOnlineStores.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
}

aiplatform.projects.locations.featureOnlineStores.operations.delete

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

aiplatform.projects.locations.featureOnlineStores.operations.get

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

aiplatform.projects.locations.featureOnlineStores.operations.list

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

aiplatform.projects.locations.featureOnlineStores.operations.listWait

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

aiplatform.projects.locations.featureOnlineStores.operations.wait

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

aiplatform.projects.locations.featureOnlineStores.patch

valid {
    input.Body.bigtable.autoScaling.cpuUtilizationTarget == INTEGER
    input.Body.bigtable.autoScaling.maxNodeCount == INTEGER
    input.Body.bigtable.autoScaling.minNodeCount == INTEGER
    input.Body.dedicatedServingEndpoint.privateServiceConnectConfig.enablePrivateServiceConnect == BOOLEAN
    input.Body.dedicatedServingEndpoint.privateServiceConnectConfig.projectAllowlist[_] == STRING
    input.Body.encryptionSpec.kmsKeyName == STRING
    input.Body.etag == STRING
    input.Body.labels.STRING == STRING
    input.Body.name == STRING
    input.Body.optimized.STRING == STRING
    input.ReqMap.name == STRING
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.locations.featureOnlineStores.setIamPolicy

valid {
    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.ReqMap.resource == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.locations.featureOnlineStores.testIamPermissions

valid {
    input.ReqMap.resource == STRING
    input.Qs.permissions == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.locations.featurestores.batchReadFeatureValues

valid {
    input.Body.bigqueryReadInstances.inputUri == STRING
    input.Body.csvReadInstances.gcsSource.uris[_] == STRING
    input.Body.destination.bigqueryDestination.outputUri == STRING
    input.Body.destination.csvDestination.gcsDestination.outputUriPrefix == STRING
    input.Body.destination.tfrecordDestination.gcsDestination.outputUriPrefix == STRING
    input.Body.entityTypeSpecs[_].entityTypeId == STRING
    input.Body.entityTypeSpecs[_].featureSelector.idMatcher.ids[_] == STRING
    input.Body.entityTypeSpecs[_].settings[_].destinationField == STRING
    input.Body.entityTypeSpecs[_].settings[_].featureId == STRING
    input.Body.passThroughFields[_].fieldName == STRING
    input.Body.startTime == STRING
    input.ReqMap.featurestore == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.locations.featurestores.create

valid {
    input.Body.encryptionSpec.kmsKeyName == STRING
    input.Body.etag == STRING
    input.Body.labels.STRING == STRING
    input.Body.onlineServingConfig.fixedNodeCount == INTEGER
    input.Body.onlineServingConfig.scaling.cpuUtilizationTarget == INTEGER
    input.Body.onlineServingConfig.scaling.maxNodeCount == INTEGER
    input.Body.onlineServingConfig.scaling.minNodeCount == INTEGER
    input.Body.onlineStorageTtlDays == INTEGER
    input.ReqMap.parent == STRING
    input.Qs.featurestoreId == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.locations.featurestores.delete

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

aiplatform.projects.locations.featurestores.entityTypes.create

enum_GoogleCloudAiplatformV1FeaturestoreMonitoringConfigImportFeaturesAnalysisAnomalyDetectionBaseline := [ "BASELINE_UNSPECIFIED", "LATEST_STATS", "MOST_RECENT_SNAPSHOT_STATS", "PREVIOUS_IMPORT_FEATURES_STATS" ]
enum_GoogleCloudAiplatformV1FeaturestoreMonitoringConfigImportFeaturesAnalysisState := [ "STATE_UNSPECIFIED", "DEFAULT", "ENABLED", "DISABLED" ]

valid {
    input.Body.description == STRING
    input.Body.etag == STRING
    input.Body.labels.STRING == STRING
    input.Body.monitoringConfig.categoricalThresholdConfig.value == NUMBER
    input.Body.monitoringConfig.importFeaturesAnalysis.anomalyDetectionBaseline == enum_GoogleCloudAiplatformV1FeaturestoreMonitoringConfigImportFeaturesAnalysisAnomalyDetectionBaseline[_]
    input.Body.monitoringConfig.importFeaturesAnalysis.state == enum_GoogleCloudAiplatformV1FeaturestoreMonitoringConfigImportFeaturesAnalysisState[_]
    input.Body.monitoringConfig.numericalThresholdConfig.value == NUMBER
    input.Body.monitoringConfig.snapshotAnalysis.disabled == BOOLEAN
    input.Body.monitoringConfig.snapshotAnalysis.monitoringIntervalDays == INTEGER
    input.Body.monitoringConfig.snapshotAnalysis.stalenessDays == INTEGER
    input.Body.name == STRING
    input.Body.offlineStorageTtlDays == INTEGER
    input.ReqMap.parent == STRING
    input.Qs.entityTypeId == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.locations.featurestores.entityTypes.delete

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

aiplatform.projects.locations.featurestores.entityTypes.deleteFeatureValues

valid {
    input.Body.selectEntity.entityIdSelector.csvSource.gcsSource.uris[_] == STRING
    input.Body.selectEntity.entityIdSelector.entityIdField == STRING
    input.Body.selectTimeRangeAndFeature.featureSelector.idMatcher.ids[_] == STRING
    input.Body.selectTimeRangeAndFeature.skipOnlineStorageDelete == BOOLEAN
    input.Body.selectTimeRangeAndFeature.timeRange.endTime == STRING
    input.Body.selectTimeRangeAndFeature.timeRange.startTime == STRING
    input.ReqMap.entityType == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.locations.featurestores.entityTypes.exportFeatureValues

valid {
    input.Body.destination.bigqueryDestination.outputUri == STRING
    input.Body.destination.csvDestination.gcsDestination.outputUriPrefix == STRING
    input.Body.destination.tfrecordDestination.gcsDestination.outputUriPrefix == STRING
    input.Body.featureSelector.idMatcher.ids[_] == STRING
    input.Body.fullExport.endTime == STRING
    input.Body.fullExport.startTime == STRING
    input.Body.settings[_].destinationField == STRING
    input.Body.settings[_].featureId == STRING
    input.Body.snapshotExport.snapshotTime == STRING
    input.Body.snapshotExport.startTime == STRING
    input.ReqMap.entityType == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.locations.featurestores.entityTypes.features.batchCreate

enum_GoogleCloudAiplatformV1FeatureValueType := [ "VALUE_TYPE_UNSPECIFIED", "BOOL", "BOOL_ARRAY", "DOUBLE", "DOUBLE_ARRAY", "INT64", "INT64_ARRAY", "STRING", "STRING_ARRAY", "BYTES", "STRUCT" ]

valid {
    input.Body.requests[_].feature.description == STRING
    input.Body.requests[_].feature.disableMonitoring == BOOLEAN
    input.Body.requests[_].feature.etag == STRING
    input.Body.requests[_].feature.labels.STRING == STRING
    input.Body.requests[_].feature.name == STRING
    input.Body.requests[_].feature.pointOfContact == STRING
    input.Body.requests[_].feature.valueType == enum_GoogleCloudAiplatformV1FeatureValueType[_]
    input.Body.requests[_].feature.versionColumnName == STRING
    input.Body.requests[_].featureId == STRING
    input.Body.requests[_].parent == STRING
    input.ReqMap.parent == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.locations.featurestores.entityTypes.features.create

enum_GoogleCloudAiplatformV1FeatureValueType := [ "VALUE_TYPE_UNSPECIFIED", "BOOL", "BOOL_ARRAY", "DOUBLE", "DOUBLE_ARRAY", "INT64", "INT64_ARRAY", "STRING", "STRING_ARRAY", "BYTES", "STRUCT" ]

valid {
    input.Body.description == STRING
    input.Body.disableMonitoring == BOOLEAN
    input.Body.etag == STRING
    input.Body.labels.STRING == STRING
    input.Body.name == STRING
    input.Body.pointOfContact == STRING
    input.Body.valueType == enum_GoogleCloudAiplatformV1FeatureValueType[_]
    input.Body.versionColumnName == STRING
    input.ReqMap.parent == STRING
    input.Qs.featureId == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.locations.featurestores.entityTypes.features.delete

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

aiplatform.projects.locations.featurestores.entityTypes.features.get

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

aiplatform.projects.locations.featurestores.entityTypes.features.list

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

aiplatform.projects.locations.featurestores.entityTypes.features.operations.cancel

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

aiplatform.projects.locations.featurestores.entityTypes.features.operations.delete

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

aiplatform.projects.locations.featurestores.entityTypes.features.operations.get

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

aiplatform.projects.locations.featurestores.entityTypes.features.operations.list

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

aiplatform.projects.locations.featurestores.entityTypes.features.operations.wait

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

aiplatform.projects.locations.featurestores.entityTypes.features.patch

enum_GoogleCloudAiplatformV1FeatureValueType := [ "VALUE_TYPE_UNSPECIFIED", "BOOL", "BOOL_ARRAY", "DOUBLE", "DOUBLE_ARRAY", "INT64", "INT64_ARRAY", "STRING", "STRING_ARRAY", "BYTES", "STRUCT" ]

valid {
    input.Body.description == STRING
    input.Body.disableMonitoring == BOOLEAN
    input.Body.etag == STRING
    input.Body.labels.STRING == STRING
    input.Body.name == STRING
    input.Body.pointOfContact == STRING
    input.Body.valueType == enum_GoogleCloudAiplatformV1FeatureValueType[_]
    input.Body.versionColumnName == STRING
    input.ReqMap.name == STRING
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.locations.featurestores.entityTypes.get

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

aiplatform.projects.locations.featurestores.entityTypes.getIamPolicy

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

aiplatform.projects.locations.featurestores.entityTypes.importFeatureValues

valid {
    input.Body.avroSource.gcsSource.uris[_] == STRING
    input.Body.bigquerySource.inputUri == STRING
    input.Body.csvSource.gcsSource.uris[_] == STRING
    input.Body.disableIngestionAnalysis == BOOLEAN
    input.Body.disableOnlineServing == BOOLEAN
    input.Body.entityIdField == STRING
    input.Body.featureSpecs[_].id == STRING
    input.Body.featureSpecs[_].sourceField == STRING
    input.Body.featureTime == STRING
    input.Body.featureTimeField == STRING
    input.Body.workerCount == INTEGER
    input.ReqMap.entityType == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.locations.featurestores.entityTypes.list

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

aiplatform.projects.locations.featurestores.entityTypes.operations.cancel

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

aiplatform.projects.locations.featurestores.entityTypes.operations.delete

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

aiplatform.projects.locations.featurestores.entityTypes.operations.get

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

aiplatform.projects.locations.featurestores.entityTypes.operations.list

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

aiplatform.projects.locations.featurestores.entityTypes.operations.wait

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

aiplatform.projects.locations.featurestores.entityTypes.patch

enum_GoogleCloudAiplatformV1FeaturestoreMonitoringConfigImportFeaturesAnalysisAnomalyDetectionBaseline := [ "BASELINE_UNSPECIFIED", "LATEST_STATS", "MOST_RECENT_SNAPSHOT_STATS", "PREVIOUS_IMPORT_FEATURES_STATS" ]
enum_GoogleCloudAiplatformV1FeaturestoreMonitoringConfigImportFeaturesAnalysisState := [ "STATE_UNSPECIFIED", "DEFAULT", "ENABLED", "DISABLED" ]

valid {
    input.Body.description == STRING
    input.Body.etag == STRING
    input.Body.labels.STRING == STRING
    input.Body.monitoringConfig.categoricalThresholdConfig.value == NUMBER
    input.Body.monitoringConfig.importFeaturesAnalysis.anomalyDetectionBaseline == enum_GoogleCloudAiplatformV1FeaturestoreMonitoringConfigImportFeaturesAnalysisAnomalyDetectionBaseline[_]
    input.Body.monitoringConfig.importFeaturesAnalysis.state == enum_GoogleCloudAiplatformV1FeaturestoreMonitoringConfigImportFeaturesAnalysisState[_]
    input.Body.monitoringConfig.numericalThresholdConfig.value == NUMBER
    input.Body.monitoringConfig.snapshotAnalysis.disabled == BOOLEAN
    input.Body.monitoringConfig.snapshotAnalysis.monitoringIntervalDays == INTEGER
    input.Body.monitoringConfig.snapshotAnalysis.stalenessDays == INTEGER
    input.Body.name == STRING
    input.Body.offlineStorageTtlDays == INTEGER
    input.ReqMap.name == STRING
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.locations.featurestores.entityTypes.readFeatureValues

valid {
    input.Body.entityId == STRING
    input.Body.featureSelector.idMatcher.ids[_] == STRING
    input.ReqMap.entityType == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.locations.featurestores.entityTypes.setIamPolicy

valid {
    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.ReqMap.resource == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.locations.featurestores.entityTypes.streamingReadFeatureValues

valid {
    input.Body.entityIds[_] == STRING
    input.Body.featureSelector.idMatcher.ids[_] == STRING
    input.ReqMap.entityType == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.locations.featurestores.entityTypes.testIamPermissions

valid {
    input.ReqMap.resource == STRING
    input.Qs.permissions == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.locations.featurestores.entityTypes.writeFeatureValues

valid {
    input.Body.payloads[_].entityId == STRING
    input.Body.payloads[_].featureValues.STRING.boolArrayValue.values[_] == BOOLEAN
    input.Body.payloads[_].featureValues.STRING.boolValue == BOOLEAN
    input.Body.payloads[_].featureValues.STRING.bytesValue == STRING
    input.Body.payloads[_].featureValues.STRING.doubleArrayValue.values[_] == NUMBER
    input.Body.payloads[_].featureValues.STRING.doubleValue == NUMBER
    input.Body.payloads[_].featureValues.STRING.int64ArrayValue.values[_] == STRING
    input.Body.payloads[_].featureValues.STRING.int64Value == STRING
    input.Body.payloads[_].featureValues.STRING.metadata.generateTime == STRING
    input.Body.payloads[_].featureValues.STRING.stringArrayValue.values[_] == STRING
    input.Body.payloads[_].featureValues.STRING.stringValue == STRING
    input.Body.payloads[_].featureValues.STRING.structValue.values[_].name == STRING
    input.Body.payloads[_].featureValues.STRING.structValue.values[_].value == NESTED
    input.ReqMap.entityType == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.locations.featurestores.get

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

aiplatform.projects.locations.featurestores.getIamPolicy

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

aiplatform.projects.locations.featurestores.list

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

aiplatform.projects.locations.featurestores.operations.cancel

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

aiplatform.projects.locations.featurestores.operations.delete

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

aiplatform.projects.locations.featurestores.operations.get

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

aiplatform.projects.locations.featurestores.operations.list

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

aiplatform.projects.locations.featurestores.operations.wait

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

aiplatform.projects.locations.featurestores.patch

valid {
    input.Body.encryptionSpec.kmsKeyName == STRING
    input.Body.etag == STRING
    input.Body.labels.STRING == STRING
    input.Body.onlineServingConfig.fixedNodeCount == INTEGER
    input.Body.onlineServingConfig.scaling.cpuUtilizationTarget == INTEGER
    input.Body.onlineServingConfig.scaling.maxNodeCount == INTEGER
    input.Body.onlineServingConfig.scaling.minNodeCount == INTEGER
    input.Body.onlineStorageTtlDays == INTEGER
    input.ReqMap.name == STRING
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.locations.featurestores.searchFeatures

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

aiplatform.projects.locations.featurestores.setIamPolicy

valid {
    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.ReqMap.resource == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.locations.featurestores.testIamPermissions

valid {
    input.ReqMap.resource == STRING
    input.Qs.permissions == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.locations.get

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

aiplatform.projects.locations.hyperparameterTuningJobs.cancel

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

aiplatform.projects.locations.hyperparameterTuningJobs.create

enum_GoogleCloudAiplatformV1MachineSpecAcceleratorType := [ "ACCELERATOR_TYPE_UNSPECIFIED", "NVIDIA_TESLA_K80", "NVIDIA_TESLA_P100", "NVIDIA_TESLA_V100", "NVIDIA_TESLA_P4", "NVIDIA_TESLA_T4", "NVIDIA_TESLA_A100", "NVIDIA_A100_80GB", "NVIDIA_L4", "NVIDIA_H100_80GB", "TPU_V2", "TPU_V3", "TPU_V4_POD", "TPU_V5_LITEPOD" ]
enum_GoogleCloudAiplatformV1ReservationAffinityReservationAffinityType := [ "TYPE_UNSPECIFIED", "NO_RESERVATION", "ANY_RESERVATION", "SPECIFIC_RESERVATION" ]
enum_GoogleCloudAiplatformV1SchedulingStrategy := [ "STRATEGY_UNSPECIFIED", "ON_DEMAND", "LOW_COST", "STANDARD", "SPOT", "FLEX_START" ]
enum_GoogleCloudAiplatformV1StudySpecAlgorithm := [ "ALGORITHM_UNSPECIFIED", "GRID_SEARCH", "RANDOM_SEARCH" ]
enum_GoogleCloudAiplatformV1StudySpecMeasurementSelectionType := [ "MEASUREMENT_SELECTION_TYPE_UNSPECIFIED", "LAST_MEASUREMENT", "BEST_MEASUREMENT" ]
enum_GoogleCloudAiplatformV1StudySpecMetricSpecGoal := [ "GOAL_TYPE_UNSPECIFIED", "MAXIMIZE", "MINIMIZE" ]
enum_GoogleCloudAiplatformV1StudySpecObservationNoise := [ "OBSERVATION_NOISE_UNSPECIFIED", "LOW", "HIGH" ]
enum_GoogleCloudAiplatformV1StudySpecParameterSpecScaleType := [ "SCALE_TYPE_UNSPECIFIED", "UNIT_LINEAR_SCALE", "UNIT_LOG_SCALE", "UNIT_REVERSE_LOG_SCALE" ]

valid {
    input.Body.displayName == STRING
    input.Body.encryptionSpec.kmsKeyName == STRING
    input.Body.labels.STRING == STRING
    input.Body.maxFailedTrialCount == INTEGER
    input.Body.maxTrialCount == INTEGER
    input.Body.parallelTrialCount == INTEGER
    input.Body.studySpec.algorithm == enum_GoogleCloudAiplatformV1StudySpecAlgorithm[_]
    input.Body.studySpec.convexAutomatedStoppingSpec.learningRateParameterName == STRING
    input.Body.studySpec.convexAutomatedStoppingSpec.maxStepCount == STRING
    input.Body.studySpec.convexAutomatedStoppingSpec.minMeasurementCount == STRING
    input.Body.studySpec.convexAutomatedStoppingSpec.minStepCount == STRING
    input.Body.studySpec.convexAutomatedStoppingSpec.updateAllStoppedTrials == BOOLEAN
    input.Body.studySpec.convexAutomatedStoppingSpec.useElapsedDuration == BOOLEAN
    input.Body.studySpec.decayCurveStoppingSpec.useElapsedDuration == BOOLEAN
    input.Body.studySpec.measurementSelectionType == enum_GoogleCloudAiplatformV1StudySpecMeasurementSelectionType[_]
    input.Body.studySpec.medianAutomatedStoppingSpec.useElapsedDuration == BOOLEAN
    input.Body.studySpec.metrics[_].goal == enum_GoogleCloudAiplatformV1StudySpecMetricSpecGoal[_]
    input.Body.studySpec.metrics[_].metricId == STRING
    input.Body.studySpec.metrics[_].safetyConfig.desiredMinSafeTrialsFraction == NUMBER
    input.Body.studySpec.metrics[_].safetyConfig.safetyThreshold == NUMBER
    input.Body.studySpec.observationNoise == enum_GoogleCloudAiplatformV1StudySpecObservationNoise[_]
    input.Body.studySpec.parameters[_].categoricalValueSpec.defaultValue == STRING
    input.Body.studySpec.parameters[_].categoricalValueSpec.values[_] == STRING
    input.Body.studySpec.parameters[_].conditionalParameterSpecs[_].parameterSpec == NESTED
    input.Body.studySpec.parameters[_].conditionalParameterSpecs[_].parentCategoricalValues.values[_] == STRING
    input.Body.studySpec.parameters[_].conditionalParameterSpecs[_].parentDiscreteValues.values[_] == NUMBER
    input.Body.studySpec.parameters[_].conditionalParameterSpecs[_].parentIntValues.values[_] == STRING
    input.Body.studySpec.parameters[_].discreteValueSpec.defaultValue == NUMBER
    input.Body.studySpec.parameters[_].discreteValueSpec.values[_] == NUMBER
    input.Body.studySpec.parameters[_].doubleValueSpec.defaultValue == NUMBER
    input.Body.studySpec.parameters[_].doubleValueSpec.maxValue == NUMBER
    input.Body.studySpec.parameters[_].doubleValueSpec.minValue == NUMBER
    input.Body.studySpec.parameters[_].integerValueSpec.defaultValue == STRING
    input.Body.studySpec.parameters[_].integerValueSpec.maxValue == STRING
    input.Body.studySpec.parameters[_].integerValueSpec.minValue == STRING
    input.Body.studySpec.parameters[_].parameterId == STRING
    input.Body.studySpec.parameters[_].scaleType == enum_GoogleCloudAiplatformV1StudySpecParameterSpecScaleType[_]
    input.Body.studySpec.studyStoppingConfig.maxDurationNoProgress == STRING
    input.Body.studySpec.studyStoppingConfig.maxNumTrials == INTEGER
    input.Body.studySpec.studyStoppingConfig.maxNumTrialsNoProgress == INTEGER
    input.Body.studySpec.studyStoppingConfig.maximumRuntimeConstraint.endTime == STRING
    input.Body.studySpec.studyStoppingConfig.maximumRuntimeConstraint.maxDuration == STRING
    input.Body.studySpec.studyStoppingConfig.minNumTrials == INTEGER
    input.Body.studySpec.studyStoppingConfig.minimumRuntimeConstraint.endTime == STRING
    input.Body.studySpec.studyStoppingConfig.minimumRuntimeConstraint.maxDuration == STRING
    input.Body.studySpec.studyStoppingConfig.shouldStopAsap == BOOLEAN
    input.Body.trialJobSpec.baseOutputDirectory.outputUriPrefix == STRING
    input.Body.trialJobSpec.enableDashboardAccess == BOOLEAN
    input.Body.trialJobSpec.enableWebAccess == BOOLEAN
    input.Body.trialJobSpec.experiment == STRING
    input.Body.trialJobSpec.experimentRun == STRING
    input.Body.trialJobSpec.models[_] == STRING
    input.Body.trialJobSpec.network == STRING
    input.Body.trialJobSpec.persistentResourceId == STRING
    input.Body.trialJobSpec.protectedArtifactLocationId == STRING
    input.Body.trialJobSpec.reservedIpRanges[_] == STRING
    input.Body.trialJobSpec.scheduling.disableRetries == BOOLEAN
    input.Body.trialJobSpec.scheduling.maxWaitDuration == STRING
    input.Body.trialJobSpec.scheduling.restartJobOnWorkerRestart == BOOLEAN
    input.Body.trialJobSpec.scheduling.strategy == enum_GoogleCloudAiplatformV1SchedulingStrategy[_]
    input.Body.trialJobSpec.scheduling.timeout == STRING
    input.Body.trialJobSpec.serviceAccount == STRING
    input.Body.trialJobSpec.tensorboard == STRING
    input.Body.trialJobSpec.workerPoolSpecs[_].containerSpec.args[_] == STRING
    input.Body.trialJobSpec.workerPoolSpecs[_].containerSpec.command[_] == STRING
    input.Body.trialJobSpec.workerPoolSpecs[_].containerSpec.env[_].name == STRING
    input.Body.trialJobSpec.workerPoolSpecs[_].containerSpec.env[_].value == STRING
    input.Body.trialJobSpec.workerPoolSpecs[_].containerSpec.imageUri == STRING
    input.Body.trialJobSpec.workerPoolSpecs[_].diskSpec.bootDiskSizeGb == INTEGER
    input.Body.trialJobSpec.workerPoolSpecs[_].diskSpec.bootDiskType == STRING
    input.Body.trialJobSpec.workerPoolSpecs[_].machineSpec.acceleratorCount == INTEGER
    input.Body.trialJobSpec.workerPoolSpecs[_].machineSpec.acceleratorType == enum_GoogleCloudAiplatformV1MachineSpecAcceleratorType[_]
    input.Body.trialJobSpec.workerPoolSpecs[_].machineSpec.machineType == STRING
    input.Body.trialJobSpec.workerPoolSpecs[_].machineSpec.reservationAffinity.key == STRING
    input.Body.trialJobSpec.workerPoolSpecs[_].machineSpec.reservationAffinity.reservationAffinityType == enum_GoogleCloudAiplatformV1ReservationAffinityReservationAffinityType[_]
    input.Body.trialJobSpec.workerPoolSpecs[_].machineSpec.reservationAffinity.values[_] == STRING
    input.Body.trialJobSpec.workerPoolSpecs[_].machineSpec.tpuTopology == STRING
    input.Body.trialJobSpec.workerPoolSpecs[_].nfsMounts[_].mountPoint == STRING
    input.Body.trialJobSpec.workerPoolSpecs[_].nfsMounts[_].path == STRING
    input.Body.trialJobSpec.workerPoolSpecs[_].nfsMounts[_].server == STRING
    input.Body.trialJobSpec.workerPoolSpecs[_].pythonPackageSpec.args[_] == STRING
    input.Body.trialJobSpec.workerPoolSpecs[_].pythonPackageSpec.env[_].name == STRING
    input.Body.trialJobSpec.workerPoolSpecs[_].pythonPackageSpec.env[_].value == STRING
    input.Body.trialJobSpec.workerPoolSpecs[_].pythonPackageSpec.executorImageUri == STRING
    input.Body.trialJobSpec.workerPoolSpecs[_].pythonPackageSpec.packageUris[_] == STRING
    input.Body.trialJobSpec.workerPoolSpecs[_].pythonPackageSpec.pythonModule == STRING
    input.Body.trialJobSpec.workerPoolSpecs[_].replicaCount == STRING
    input.ReqMap.parent == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.locations.hyperparameterTuningJobs.delete

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

aiplatform.projects.locations.hyperparameterTuningJobs.get

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

aiplatform.projects.locations.hyperparameterTuningJobs.list

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

aiplatform.projects.locations.hyperparameterTuningJobs.operations.cancel

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

aiplatform.projects.locations.hyperparameterTuningJobs.operations.delete

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

aiplatform.projects.locations.hyperparameterTuningJobs.operations.get

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

aiplatform.projects.locations.hyperparameterTuningJobs.operations.list

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

aiplatform.projects.locations.hyperparameterTuningJobs.operations.wait

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

aiplatform.projects.locations.indexEndpoints.create

valid {
    input.Body.description == STRING
    input.Body.displayName == STRING
    input.Body.enablePrivateServiceConnect == BOOLEAN
    input.Body.encryptionSpec.kmsKeyName == STRING
    input.Body.etag == STRING
    input.Body.labels.STRING == STRING
    input.Body.network == STRING
    input.Body.privateServiceConnectConfig.enablePrivateServiceConnect == BOOLEAN
    input.Body.privateServiceConnectConfig.projectAllowlist[_] == STRING
    input.Body.publicEndpointEnabled == BOOLEAN
    input.ReqMap.parent == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.locations.indexEndpoints.delete

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

aiplatform.projects.locations.indexEndpoints.deployIndex

enum_GoogleCloudAiplatformV1MachineSpecAcceleratorType := [ "ACCELERATOR_TYPE_UNSPECIFIED", "NVIDIA_TESLA_K80", "NVIDIA_TESLA_P100", "NVIDIA_TESLA_V100", "NVIDIA_TESLA_P4", "NVIDIA_TESLA_T4", "NVIDIA_TESLA_A100", "NVIDIA_A100_80GB", "NVIDIA_L4", "NVIDIA_H100_80GB", "TPU_V2", "TPU_V3", "TPU_V4_POD", "TPU_V5_LITEPOD" ]
enum_GoogleCloudAiplatformV1ReservationAffinityReservationAffinityType := [ "TYPE_UNSPECIFIED", "NO_RESERVATION", "ANY_RESERVATION", "SPECIFIC_RESERVATION" ]

valid {
    input.Body.deployedIndex.automaticResources.maxReplicaCount == INTEGER
    input.Body.deployedIndex.automaticResources.minReplicaCount == INTEGER
    input.Body.deployedIndex.dedicatedResources.autoscalingMetricSpecs[_].metricName == STRING
    input.Body.deployedIndex.dedicatedResources.autoscalingMetricSpecs[_].target == INTEGER
    input.Body.deployedIndex.dedicatedResources.machineSpec.acceleratorCount == INTEGER
    input.Body.deployedIndex.dedicatedResources.machineSpec.acceleratorType == enum_GoogleCloudAiplatformV1MachineSpecAcceleratorType[_]
    input.Body.deployedIndex.dedicatedResources.machineSpec.machineType == STRING
    input.Body.deployedIndex.dedicatedResources.machineSpec.reservationAffinity.key == STRING
    input.Body.deployedIndex.dedicatedResources.machineSpec.reservationAffinity.reservationAffinityType == enum_GoogleCloudAiplatformV1ReservationAffinityReservationAffinityType[_]
    input.Body.deployedIndex.dedicatedResources.machineSpec.reservationAffinity.values[_] == STRING
    input.Body.deployedIndex.dedicatedResources.machineSpec.tpuTopology == STRING
    input.Body.deployedIndex.dedicatedResources.maxReplicaCount == INTEGER
    input.Body.deployedIndex.dedicatedResources.minReplicaCount == INTEGER
    input.Body.deployedIndex.dedicatedResources.spot == BOOLEAN
    input.Body.deployedIndex.deployedIndexAuthConfig.authProvider.allowedIssuers[_] == STRING
    input.Body.deployedIndex.deployedIndexAuthConfig.authProvider.audiences[_] == STRING
    input.Body.deployedIndex.deploymentGroup == STRING
    input.Body.deployedIndex.displayName == STRING
    input.Body.deployedIndex.enableAccessLogging == BOOLEAN
    input.Body.deployedIndex.id == STRING
    input.Body.deployedIndex.index == STRING
    input.Body.deployedIndex.pscAutomationConfigs[_].network == STRING
    input.Body.deployedIndex.pscAutomationConfigs[_].projectId == STRING
    input.Body.deployedIndex.reservedIpRanges[_] == STRING
    input.ReqMap.indexEndpoint == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.locations.indexEndpoints.findNeighbors

enum_GoogleCloudAiplatformV1IndexDatapointNumericRestrictionOp := [ "OPERATOR_UNSPECIFIED", "LESS", "LESS_EQUAL", "EQUAL", "GREATER_EQUAL", "GREATER", "NOT_EQUAL" ]

valid {
    input.Body.deployedIndexId == STRING
    input.Body.queries[_].approximateNeighborCount == INTEGER
    input.Body.queries[_].datapoint.crowdingTag.crowdingAttribute == STRING
    input.Body.queries[_].datapoint.datapointId == STRING
    input.Body.queries[_].datapoint.featureVector[_] == NUMBER
    input.Body.queries[_].datapoint.numericRestricts[_].namespace == STRING
    input.Body.queries[_].datapoint.numericRestricts[_].op == enum_GoogleCloudAiplatformV1IndexDatapointNumericRestrictionOp[_]
    input.Body.queries[_].datapoint.numericRestricts[_].valueDouble == NUMBER
    input.Body.queries[_].datapoint.numericRestricts[_].valueFloat == NUMBER
    input.Body.queries[_].datapoint.numericRestricts[_].valueInt == STRING
    input.Body.queries[_].datapoint.restricts[_].allowList[_] == STRING
    input.Body.queries[_].datapoint.restricts[_].denyList[_] == STRING
    input.Body.queries[_].datapoint.restricts[_].namespace == STRING
    input.Body.queries[_].datapoint.sparseEmbedding.dimensions[_] == STRING
    input.Body.queries[_].datapoint.sparseEmbedding.values[_] == NUMBER
    input.Body.queries[_].fractionLeafNodesToSearchOverride == NUMBER
    input.Body.queries[_].neighborCount == INTEGER
    input.Body.queries[_].perCrowdingAttributeNeighborCount == INTEGER
    input.Body.queries[_].rrf.alpha == NUMBER
    input.Body.returnFullDatapoint == BOOLEAN
    input.ReqMap.indexEndpoint == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.locations.indexEndpoints.get

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

aiplatform.projects.locations.indexEndpoints.list

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

aiplatform.projects.locations.indexEndpoints.mutateDeployedIndex

enum_GoogleCloudAiplatformV1MachineSpecAcceleratorType := [ "ACCELERATOR_TYPE_UNSPECIFIED", "NVIDIA_TESLA_K80", "NVIDIA_TESLA_P100", "NVIDIA_TESLA_V100", "NVIDIA_TESLA_P4", "NVIDIA_TESLA_T4", "NVIDIA_TESLA_A100", "NVIDIA_A100_80GB", "NVIDIA_L4", "NVIDIA_H100_80GB", "TPU_V2", "TPU_V3", "TPU_V4_POD", "TPU_V5_LITEPOD" ]
enum_GoogleCloudAiplatformV1ReservationAffinityReservationAffinityType := [ "TYPE_UNSPECIFIED", "NO_RESERVATION", "ANY_RESERVATION", "SPECIFIC_RESERVATION" ]

valid {
    input.Body.automaticResources.maxReplicaCount == INTEGER
    input.Body.automaticResources.minReplicaCount == INTEGER
    input.Body.dedicatedResources.autoscalingMetricSpecs[_].metricName == STRING
    input.Body.dedicatedResources.autoscalingMetricSpecs[_].target == INTEGER
    input.Body.dedicatedResources.machineSpec.acceleratorCount == INTEGER
    input.Body.dedicatedResources.machineSpec.acceleratorType == enum_GoogleCloudAiplatformV1MachineSpecAcceleratorType[_]
    input.Body.dedicatedResources.machineSpec.machineType == STRING
    input.Body.dedicatedResources.machineSpec.reservationAffinity.key == STRING
    input.Body.dedicatedResources.machineSpec.reservationAffinity.reservationAffinityType == enum_GoogleCloudAiplatformV1ReservationAffinityReservationAffinityType[_]
    input.Body.dedicatedResources.machineSpec.reservationAffinity.values[_] == STRING
    input.Body.dedicatedResources.machineSpec.tpuTopology == STRING
    input.Body.dedicatedResources.maxReplicaCount == INTEGER
    input.Body.dedicatedResources.minReplicaCount == INTEGER
    input.Body.dedicatedResources.spot == BOOLEAN
    input.Body.deployedIndexAuthConfig.authProvider.allowedIssuers[_] == STRING
    input.Body.deployedIndexAuthConfig.authProvider.audiences[_] == STRING
    input.Body.deploymentGroup == STRING
    input.Body.displayName == STRING
    input.Body.enableAccessLogging == BOOLEAN
    input.Body.id == STRING
    input.Body.index == STRING
    input.Body.pscAutomationConfigs[_].network == STRING
    input.Body.pscAutomationConfigs[_].projectId == STRING
    input.Body.reservedIpRanges[_] == STRING
    input.ReqMap.indexEndpoint == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.locations.indexEndpoints.operations.cancel

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

aiplatform.projects.locations.indexEndpoints.operations.delete

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

aiplatform.projects.locations.indexEndpoints.operations.get

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

aiplatform.projects.locations.indexEndpoints.operations.list

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

aiplatform.projects.locations.indexEndpoints.operations.wait

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

aiplatform.projects.locations.indexEndpoints.patch

valid {
    input.Body.description == STRING
    input.Body.displayName == STRING
    input.Body.enablePrivateServiceConnect == BOOLEAN
    input.Body.encryptionSpec.kmsKeyName == STRING
    input.Body.etag == STRING
    input.Body.labels.STRING == STRING
    input.Body.network == STRING
    input.Body.privateServiceConnectConfig.enablePrivateServiceConnect == BOOLEAN
    input.Body.privateServiceConnectConfig.projectAllowlist[_] == STRING
    input.Body.publicEndpointEnabled == BOOLEAN
    input.ReqMap.name == STRING
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.locations.indexEndpoints.readIndexDatapoints

valid {
    input.Body.deployedIndexId == STRING
    input.Body.ids[_] == STRING
    input.ReqMap.indexEndpoint == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.locations.indexEndpoints.undeployIndex

valid {
    input.Body.deployedIndexId == STRING
    input.ReqMap.indexEndpoint == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.locations.indexes.create

enum_GoogleCloudAiplatformV1IndexIndexUpdateMethod := [ "INDEX_UPDATE_METHOD_UNSPECIFIED", "BATCH_UPDATE", "STREAM_UPDATE" ]

valid {
    input.Body.description == STRING
    input.Body.displayName == STRING
    input.Body.encryptionSpec.kmsKeyName == STRING
    input.Body.etag == STRING
    input.Body.indexUpdateMethod == enum_GoogleCloudAiplatformV1IndexIndexUpdateMethod[_]
    input.Body.labels.STRING == STRING
    input.Body.metadata == ANY
    input.Body.metadataSchemaUri == STRING
    input.ReqMap.parent == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.locations.indexes.delete

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

aiplatform.projects.locations.indexes.get

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

aiplatform.projects.locations.indexes.list

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

aiplatform.projects.locations.indexes.operations.cancel

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

aiplatform.projects.locations.indexes.operations.delete

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

aiplatform.projects.locations.indexes.operations.get

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

aiplatform.projects.locations.indexes.operations.list

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

aiplatform.projects.locations.indexes.operations.wait

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

aiplatform.projects.locations.indexes.patch

enum_GoogleCloudAiplatformV1IndexIndexUpdateMethod := [ "INDEX_UPDATE_METHOD_UNSPECIFIED", "BATCH_UPDATE", "STREAM_UPDATE" ]

valid {
    input.Body.description == STRING
    input.Body.displayName == STRING
    input.Body.encryptionSpec.kmsKeyName == STRING
    input.Body.etag == STRING
    input.Body.indexUpdateMethod == enum_GoogleCloudAiplatformV1IndexIndexUpdateMethod[_]
    input.Body.labels.STRING == STRING
    input.Body.metadata == ANY
    input.Body.metadataSchemaUri == STRING
    input.ReqMap.name == STRING
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.locations.indexes.removeDatapoints

valid {
    input.Body.datapointIds[_] == STRING
    input.ReqMap.index == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.locations.indexes.upsertDatapoints

enum_GoogleCloudAiplatformV1IndexDatapointNumericRestrictionOp := [ "OPERATOR_UNSPECIFIED", "LESS", "LESS_EQUAL", "EQUAL", "GREATER_EQUAL", "GREATER", "NOT_EQUAL" ]

valid {
    input.Body.datapoints[_].crowdingTag.crowdingAttribute == STRING
    input.Body.datapoints[_].datapointId == STRING
    input.Body.datapoints[_].featureVector[_] == NUMBER
    input.Body.datapoints[_].numericRestricts[_].namespace == STRING
    input.Body.datapoints[_].numericRestricts[_].op == enum_GoogleCloudAiplatformV1IndexDatapointNumericRestrictionOp[_]
    input.Body.datapoints[_].numericRestricts[_].valueDouble == NUMBER
    input.Body.datapoints[_].numericRestricts[_].valueFloat == NUMBER
    input.Body.datapoints[_].numericRestricts[_].valueInt == STRING
    input.Body.datapoints[_].restricts[_].allowList[_] == STRING
    input.Body.datapoints[_].restricts[_].denyList[_] == STRING
    input.Body.datapoints[_].restricts[_].namespace == STRING
    input.Body.datapoints[_].sparseEmbedding.dimensions[_] == STRING
    input.Body.datapoints[_].sparseEmbedding.values[_] == NUMBER
    input.Body.updateMask == STRING
    input.ReqMap.index == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.locations.list

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

aiplatform.projects.locations.metadataStores.artifacts.create

enum_GoogleCloudAiplatformV1ArtifactState := [ "STATE_UNSPECIFIED", "PENDING", "LIVE" ]

valid {
    input.Body.description == STRING
    input.Body.displayName == STRING
    input.Body.etag == STRING
    input.Body.labels.STRING == STRING
    input.Body.metadata.STRING == ANY
    input.Body.schemaTitle == STRING
    input.Body.schemaVersion == STRING
    input.Body.state == enum_GoogleCloudAiplatformV1ArtifactState[_]
    input.Body.uri == STRING
    input.ReqMap.parent == STRING
    input.Qs.artifactId == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.locations.metadataStores.artifacts.delete

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

aiplatform.projects.locations.metadataStores.artifacts.get

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

aiplatform.projects.locations.metadataStores.artifacts.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
}

aiplatform.projects.locations.metadataStores.artifacts.operations.cancel

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

aiplatform.projects.locations.metadataStores.artifacts.operations.delete

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

aiplatform.projects.locations.metadataStores.artifacts.operations.get

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

aiplatform.projects.locations.metadataStores.artifacts.operations.list

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

aiplatform.projects.locations.metadataStores.artifacts.operations.wait

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

aiplatform.projects.locations.metadataStores.artifacts.patch

enum_GoogleCloudAiplatformV1ArtifactState := [ "STATE_UNSPECIFIED", "PENDING", "LIVE" ]

valid {
    input.Body.description == STRING
    input.Body.displayName == STRING
    input.Body.etag == STRING
    input.Body.labels.STRING == STRING
    input.Body.metadata.STRING == ANY
    input.Body.schemaTitle == STRING
    input.Body.schemaVersion == STRING
    input.Body.state == enum_GoogleCloudAiplatformV1ArtifactState[_]
    input.Body.uri == STRING
    input.ReqMap.name == STRING
    input.Qs.allowMissing == BOOLEAN
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.locations.metadataStores.artifacts.purge

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

aiplatform.projects.locations.metadataStores.artifacts.queryArtifactLineageSubgraph

valid {
    input.ReqMap.artifact == STRING
    input.Qs.filter == STRING
    input.Qs.maxHops == INTEGER
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.locations.metadataStores.contexts.addContextArtifactsAndExecutions

valid {
    input.Body.artifacts[_] == STRING
    input.Body.executions[_] == STRING
    input.ReqMap.context == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.locations.metadataStores.contexts.addContextChildren

valid {
    input.Body.childContexts[_] == STRING
    input.ReqMap.context == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.locations.metadataStores.contexts.create

valid {
    input.Body.description == STRING
    input.Body.displayName == STRING
    input.Body.etag == STRING
    input.Body.labels.STRING == STRING
    input.Body.metadata.STRING == ANY
    input.Body.name == STRING
    input.Body.schemaTitle == STRING
    input.Body.schemaVersion == STRING
    input.ReqMap.parent == STRING
    input.Qs.contextId == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.locations.metadataStores.contexts.delete

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

aiplatform.projects.locations.metadataStores.contexts.get

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

aiplatform.projects.locations.metadataStores.contexts.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
}

aiplatform.projects.locations.metadataStores.contexts.operations.cancel

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

aiplatform.projects.locations.metadataStores.contexts.operations.delete

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

aiplatform.projects.locations.metadataStores.contexts.operations.get

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

aiplatform.projects.locations.metadataStores.contexts.operations.list

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

aiplatform.projects.locations.metadataStores.contexts.operations.wait

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

aiplatform.projects.locations.metadataStores.contexts.patch

valid {
    input.Body.description == STRING
    input.Body.displayName == STRING
    input.Body.etag == STRING
    input.Body.labels.STRING == STRING
    input.Body.metadata.STRING == ANY
    input.Body.name == STRING
    input.Body.schemaTitle == STRING
    input.Body.schemaVersion == STRING
    input.ReqMap.name == STRING
    input.Qs.allowMissing == BOOLEAN
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.locations.metadataStores.contexts.purge

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

aiplatform.projects.locations.metadataStores.contexts.queryContextLineageSubgraph

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

aiplatform.projects.locations.metadataStores.contexts.removeContextChildren

valid {
    input.Body.childContexts[_] == STRING
    input.ReqMap.context == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.locations.metadataStores.create

valid {
    input.Body.dataplexConfig.enabledPipelinesLineage == BOOLEAN
    input.Body.description == STRING
    input.Body.encryptionSpec.kmsKeyName == STRING
    input.ReqMap.parent == STRING
    input.Qs.metadataStoreId == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.locations.metadataStores.delete

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

aiplatform.projects.locations.metadataStores.executions.addExecutionEvents

enum_GoogleCloudAiplatformV1EventType := [ "TYPE_UNSPECIFIED", "INPUT", "OUTPUT" ]

valid {
    input.Body.events[_].artifact == STRING
    input.Body.events[_].labels.STRING == STRING
    input.Body.events[_].type == enum_GoogleCloudAiplatformV1EventType[_]
    input.ReqMap.execution == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.locations.metadataStores.executions.create

enum_GoogleCloudAiplatformV1ExecutionState := [ "STATE_UNSPECIFIED", "NEW", "RUNNING", "COMPLETE", "FAILED", "CACHED", "CANCELLED" ]

valid {
    input.Body.description == STRING
    input.Body.displayName == STRING
    input.Body.etag == STRING
    input.Body.labels.STRING == STRING
    input.Body.metadata.STRING == ANY
    input.Body.schemaTitle == STRING
    input.Body.schemaVersion == STRING
    input.Body.state == enum_GoogleCloudAiplatformV1ExecutionState[_]
    input.ReqMap.parent == STRING
    input.Qs.executionId == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.locations.metadataStores.executions.delete

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

aiplatform.projects.locations.metadataStores.executions.get

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

aiplatform.projects.locations.metadataStores.executions.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
}

aiplatform.projects.locations.metadataStores.executions.operations.cancel

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

aiplatform.projects.locations.metadataStores.executions.operations.delete

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

aiplatform.projects.locations.metadataStores.executions.operations.get

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

aiplatform.projects.locations.metadataStores.executions.operations.list

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

aiplatform.projects.locations.metadataStores.executions.operations.wait

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

aiplatform.projects.locations.metadataStores.executions.patch

enum_GoogleCloudAiplatformV1ExecutionState := [ "STATE_UNSPECIFIED", "NEW", "RUNNING", "COMPLETE", "FAILED", "CACHED", "CANCELLED" ]

valid {
    input.Body.description == STRING
    input.Body.displayName == STRING
    input.Body.etag == STRING
    input.Body.labels.STRING == STRING
    input.Body.metadata.STRING == ANY
    input.Body.schemaTitle == STRING
    input.Body.schemaVersion == STRING
    input.Body.state == enum_GoogleCloudAiplatformV1ExecutionState[_]
    input.ReqMap.name == STRING
    input.Qs.allowMissing == BOOLEAN
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.locations.metadataStores.executions.purge

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

aiplatform.projects.locations.metadataStores.executions.queryExecutionInputsAndOutputs

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

aiplatform.projects.locations.metadataStores.get

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

aiplatform.projects.locations.metadataStores.list

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

aiplatform.projects.locations.metadataStores.metadataSchemas.create

enum_GoogleCloudAiplatformV1MetadataSchemaSchemaType := [ "METADATA_SCHEMA_TYPE_UNSPECIFIED", "ARTIFACT_TYPE", "EXECUTION_TYPE", "CONTEXT_TYPE" ]

valid {
    input.Body.description == STRING
    input.Body.schema == STRING
    input.Body.schemaType == enum_GoogleCloudAiplatformV1MetadataSchemaSchemaType[_]
    input.Body.schemaVersion == STRING
    input.ReqMap.parent == STRING
    input.Qs.metadataSchemaId == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.locations.metadataStores.metadataSchemas.get

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

aiplatform.projects.locations.metadataStores.metadataSchemas.list

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

aiplatform.projects.locations.metadataStores.operations.cancel

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

aiplatform.projects.locations.metadataStores.operations.delete

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

aiplatform.projects.locations.metadataStores.operations.get

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

aiplatform.projects.locations.metadataStores.operations.list

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

aiplatform.projects.locations.metadataStores.operations.wait

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

aiplatform.projects.locations.migratableResources.batchMigrate

valid {
    input.Body.migrateResourceRequests[_].migrateAutomlDatasetConfig.dataset == STRING
    input.Body.migrateResourceRequests[_].migrateAutomlDatasetConfig.datasetDisplayName == STRING
    input.Body.migrateResourceRequests[_].migrateAutomlModelConfig.model == STRING
    input.Body.migrateResourceRequests[_].migrateAutomlModelConfig.modelDisplayName == STRING
    input.Body.migrateResourceRequests[_].migrateDataLabelingDatasetConfig.dataset == STRING
    input.Body.migrateResourceRequests[_].migrateDataLabelingDatasetConfig.datasetDisplayName == STRING
    input.Body.migrateResourceRequests[_].migrateDataLabelingDatasetConfig.migrateDataLabelingAnnotatedDatasetConfigs[_].annotatedDataset == STRING
    input.Body.migrateResourceRequests[_].migrateMlEngineModelVersionConfig.endpoint == STRING
    input.Body.migrateResourceRequests[_].migrateMlEngineModelVersionConfig.modelDisplayName == STRING
    input.Body.migrateResourceRequests[_].migrateMlEngineModelVersionConfig.modelVersion == STRING
    input.ReqMap.parent == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.locations.migratableResources.operations.cancel

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

aiplatform.projects.locations.migratableResources.operations.delete

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

aiplatform.projects.locations.migratableResources.operations.get

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

aiplatform.projects.locations.migratableResources.operations.list

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

aiplatform.projects.locations.migratableResources.operations.wait

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

aiplatform.projects.locations.migratableResources.search

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

aiplatform.projects.locations.modelDeploymentMonitoringJobs.create

enum_GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigExplanationConfigExplanationBaselinePredictionFormat := [ "PREDICTION_FORMAT_UNSPECIFIED", "JSONL", "BIGQUERY" ]

valid {
    input.Body.analysisInstanceSchemaUri == STRING
    input.Body.displayName == STRING
    input.Body.enableMonitoringPipelineLogs == BOOLEAN
    input.Body.encryptionSpec.kmsKeyName == STRING
    input.Body.endpoint == STRING
    input.Body.labels.STRING == STRING
    input.Body.logTtl == STRING
    input.Body.loggingSamplingStrategy.randomSampleConfig.sampleRate == NUMBER
    input.Body.modelDeploymentMonitoringObjectiveConfigs[_].deployedModelId == STRING
    input.Body.modelDeploymentMonitoringObjectiveConfigs[_].objectiveConfig.explanationConfig.enableFeatureAttributes == BOOLEAN
    input.Body.modelDeploymentMonitoringObjectiveConfigs[_].objectiveConfig.explanationConfig.explanationBaseline.bigquery.outputUri == STRING
    input.Body.modelDeploymentMonitoringObjectiveConfigs[_].objectiveConfig.explanationConfig.explanationBaseline.gcs.outputUriPrefix == STRING
    input.Body.modelDeploymentMonitoringObjectiveConfigs[_].objectiveConfig.explanationConfig.explanationBaseline.predictionFormat == enum_GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigExplanationConfigExplanationBaselinePredictionFormat[_]
    input.Body.modelDeploymentMonitoringObjectiveConfigs[_].objectiveConfig.predictionDriftDetectionConfig.attributionScoreDriftThresholds.STRING.value == NUMBER
    input.Body.modelDeploymentMonitoringObjectiveConfigs[_].objectiveConfig.predictionDriftDetectionConfig.defaultDriftThreshold.value == NUMBER
    input.Body.modelDeploymentMonitoringObjectiveConfigs[_].objectiveConfig.predictionDriftDetectionConfig.driftThresholds.STRING.value == NUMBER
    input.Body.modelDeploymentMonitoringObjectiveConfigs[_].objectiveConfig.trainingDataset.bigquerySource.inputUri == STRING
    input.Body.modelDeploymentMonitoringObjectiveConfigs[_].objectiveConfig.trainingDataset.dataFormat == STRING
    input.Body.modelDeploymentMonitoringObjectiveConfigs[_].objectiveConfig.trainingDataset.dataset == STRING
    input.Body.modelDeploymentMonitoringObjectiveConfigs[_].objectiveConfig.trainingDataset.gcsSource.uris[_] == STRING
    input.Body.modelDeploymentMonitoringObjectiveConfigs[_].objectiveConfig.trainingDataset.loggingSamplingStrategy.randomSampleConfig.sampleRate == NUMBER
    input.Body.modelDeploymentMonitoringObjectiveConfigs[_].objectiveConfig.trainingDataset.targetField == STRING
    input.Body.modelDeploymentMonitoringObjectiveConfigs[_].objectiveConfig.trainingPredictionSkewDetectionConfig.attributionScoreSkewThresholds.STRING.value == NUMBER
    input.Body.modelDeploymentMonitoringObjectiveConfigs[_].objectiveConfig.trainingPredictionSkewDetectionConfig.defaultSkewThreshold.value == NUMBER
    input.Body.modelDeploymentMonitoringObjectiveConfigs[_].objectiveConfig.trainingPredictionSkewDetectionConfig.skewThresholds.STRING.value == NUMBER
    input.Body.modelDeploymentMonitoringScheduleConfig.monitorInterval == STRING
    input.Body.modelDeploymentMonitoringScheduleConfig.monitorWindow == STRING
    input.Body.modelMonitoringAlertConfig.emailAlertConfig.userEmails[_] == STRING
    input.Body.modelMonitoringAlertConfig.enableLogging == BOOLEAN
    input.Body.modelMonitoringAlertConfig.notificationChannels[_] == STRING
    input.Body.predictInstanceSchemaUri == STRING
    input.Body.samplePredictInstance == ANY
    input.Body.statsAnomaliesBaseDirectory.outputUriPrefix == STRING
    input.ReqMap.parent == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.locations.modelDeploymentMonitoringJobs.delete

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

aiplatform.projects.locations.modelDeploymentMonitoringJobs.get

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

aiplatform.projects.locations.modelDeploymentMonitoringJobs.list

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

aiplatform.projects.locations.modelDeploymentMonitoringJobs.operations.cancel

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

aiplatform.projects.locations.modelDeploymentMonitoringJobs.operations.delete

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

aiplatform.projects.locations.modelDeploymentMonitoringJobs.operations.get

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

aiplatform.projects.locations.modelDeploymentMonitoringJobs.operations.list

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

aiplatform.projects.locations.modelDeploymentMonitoringJobs.operations.wait

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

aiplatform.projects.locations.modelDeploymentMonitoringJobs.patch

enum_GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigExplanationConfigExplanationBaselinePredictionFormat := [ "PREDICTION_FORMAT_UNSPECIFIED", "JSONL", "BIGQUERY" ]

valid {
    input.Body.analysisInstanceSchemaUri == STRING
    input.Body.displayName == STRING
    input.Body.enableMonitoringPipelineLogs == BOOLEAN
    input.Body.encryptionSpec.kmsKeyName == STRING
    input.Body.endpoint == STRING
    input.Body.labels.STRING == STRING
    input.Body.logTtl == STRING
    input.Body.loggingSamplingStrategy.randomSampleConfig.sampleRate == NUMBER
    input.Body.modelDeploymentMonitoringObjectiveConfigs[_].deployedModelId == STRING
    input.Body.modelDeploymentMonitoringObjectiveConfigs[_].objectiveConfig.explanationConfig.enableFeatureAttributes == BOOLEAN
    input.Body.modelDeploymentMonitoringObjectiveConfigs[_].objectiveConfig.explanationConfig.explanationBaseline.bigquery.outputUri == STRING
    input.Body.modelDeploymentMonitoringObjectiveConfigs[_].objectiveConfig.explanationConfig.explanationBaseline.gcs.outputUriPrefix == STRING
    input.Body.modelDeploymentMonitoringObjectiveConfigs[_].objectiveConfig.explanationConfig.explanationBaseline.predictionFormat == enum_GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigExplanationConfigExplanationBaselinePredictionFormat[_]
    input.Body.modelDeploymentMonitoringObjectiveConfigs[_].objectiveConfig.predictionDriftDetectionConfig.attributionScoreDriftThresholds.STRING.value == NUMBER
    input.Body.modelDeploymentMonitoringObjectiveConfigs[_].objectiveConfig.predictionDriftDetectionConfig.defaultDriftThreshold.value == NUMBER
    input.Body.modelDeploymentMonitoringObjectiveConfigs[_].objectiveConfig.predictionDriftDetectionConfig.driftThresholds.STRING.value == NUMBER
    input.Body.modelDeploymentMonitoringObjectiveConfigs[_].objectiveConfig.trainingDataset.bigquerySource.inputUri == STRING
    input.Body.modelDeploymentMonitoringObjectiveConfigs[_].objectiveConfig.trainingDataset.dataFormat == STRING
    input.Body.modelDeploymentMonitoringObjectiveConfigs[_].objectiveConfig.trainingDataset.dataset == STRING
    input.Body.modelDeploymentMonitoringObjectiveConfigs[_].objectiveConfig.trainingDataset.gcsSource.uris[_] == STRING
    input.Body.modelDeploymentMonitoringObjectiveConfigs[_].objectiveConfig.trainingDataset.loggingSamplingStrategy.randomSampleConfig.sampleRate == NUMBER
    input.Body.modelDeploymentMonitoringObjectiveConfigs[_].objectiveConfig.trainingDataset.targetField == STRING
    input.Body.modelDeploymentMonitoringObjectiveConfigs[_].objectiveConfig.trainingPredictionSkewDetectionConfig.attributionScoreSkewThresholds.STRING.value == NUMBER
    input.Body.modelDeploymentMonitoringObjectiveConfigs[_].objectiveConfig.trainingPredictionSkewDetectionConfig.defaultSkewThreshold.value == NUMBER
    input.Body.modelDeploymentMonitoringObjectiveConfigs[_].objectiveConfig.trainingPredictionSkewDetectionConfig.skewThresholds.STRING.value == NUMBER
    input.Body.modelDeploymentMonitoringScheduleConfig.monitorInterval == STRING
    input.Body.modelDeploymentMonitoringScheduleConfig.monitorWindow == STRING
    input.Body.modelMonitoringAlertConfig.emailAlertConfig.userEmails[_] == STRING
    input.Body.modelMonitoringAlertConfig.enableLogging == BOOLEAN
    input.Body.modelMonitoringAlertConfig.notificationChannels[_] == STRING
    input.Body.predictInstanceSchemaUri == STRING
    input.Body.samplePredictInstance == ANY
    input.Body.statsAnomaliesBaseDirectory.outputUriPrefix == STRING
    input.ReqMap.name == STRING
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.locations.modelDeploymentMonitoringJobs.pause

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

aiplatform.projects.locations.modelDeploymentMonitoringJobs.resume

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

aiplatform.projects.locations.modelDeploymentMonitoringJobs.searchModelDeploymentMonitoringStatsAnomalies

enum_GoogleCloudAiplatformV1SearchModelDeploymentMonitoringStatsAnomaliesRequestStatsAnomaliesObjectiveType := [ "MODEL_DEPLOYMENT_MONITORING_OBJECTIVE_TYPE_UNSPECIFIED", "RAW_FEATURE_SKEW", "RAW_FEATURE_DRIFT", "FEATURE_ATTRIBUTION_SKEW", "FEATURE_ATTRIBUTION_DRIFT" ]

valid {
    input.Body.deployedModelId == STRING
    input.Body.endTime == STRING
    input.Body.featureDisplayName == STRING
    input.Body.objectives[_].topFeatureCount == INTEGER
    input.Body.objectives[_].type == enum_GoogleCloudAiplatformV1SearchModelDeploymentMonitoringStatsAnomaliesRequestStatsAnomaliesObjectiveType[_]
    input.Body.pageSize == INTEGER
    input.Body.pageToken == STRING
    input.Body.startTime == STRING
    input.ReqMap.modelDeploymentMonitoringJob == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.locations.modelMonitors.create

enum_GoogleCloudAiplatformV1beta1ExamplesExampleGcsSourceDataFormat := [ "DATA_FORMAT_UNSPECIFIED", "JSONL" ]
enum_GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataEncoding := [ "ENCODING_UNSPECIFIED", "IDENTITY", "BAG_OF_FEATURES", "BAG_OF_FEATURES_SPARSE", "INDICATOR", "COMBINED_EMBEDDING", "CONCAT_EMBEDDING" ]
enum_GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationColorMap := [ "COLOR_MAP_UNSPECIFIED", "PINK_GREEN", "VIRIDIS", "RED", "GREEN", "RED_GREEN", "PINK_WHITE_GREEN" ]
enum_GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOverlayType := [ "OVERLAY_TYPE_UNSPECIFIED", "NONE", "ORIGINAL", "GRAYSCALE", "MASK_BLACK" ]
enum_GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPolarity := [ "POLARITY_UNSPECIFIED", "POSITIVE", "NEGATIVE", "BOTH" ]
enum_GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationType := [ "TYPE_UNSPECIFIED", "PIXELS", "OUTLINES" ]
enum_GoogleCloudAiplatformV1beta1MachineSpecAcceleratorType := [ "ACCELERATOR_TYPE_UNSPECIFIED", "NVIDIA_TESLA_K80", "NVIDIA_TESLA_P100", "NVIDIA_TESLA_V100", "NVIDIA_TESLA_P4", "NVIDIA_TESLA_T4", "NVIDIA_TESLA_A100", "NVIDIA_A100_80GB", "NVIDIA_L4", "NVIDIA_H100_80GB", "TPU_V2", "TPU_V3", "TPU_V4_POD", "TPU_V5_LITEPOD" ]
enum_GoogleCloudAiplatformV1beta1ModelMonitoringInputModelMonitoringDatasetModelMonitoringGcsSourceFormat := [ "DATA_FORMAT_UNSPECIFIED", "CSV", "TF_RECORD", "JSONL" ]
enum_GoogleCloudAiplatformV1beta1PresetsModality := [ "MODALITY_UNSPECIFIED", "IMAGE", "TEXT", "TABULAR" ]
enum_GoogleCloudAiplatformV1beta1PresetsQuery := [ "PRECISE", "FAST" ]
enum_GoogleCloudAiplatformV1beta1ReservationAffinityReservationAffinityType := [ "TYPE_UNSPECIFIED", "NO_RESERVATION", "ANY_RESERVATION", "SPECIFIC_RESERVATION" ]

valid {
    input.Body.displayName == STRING
    input.Body.explanationSpec.metadata.featureAttributionsSchemaUri == STRING
    input.Body.explanationSpec.metadata.inputs.STRING.denseShapeTensorName == STRING
    input.Body.explanationSpec.metadata.inputs.STRING.encodedBaselines[_] == ANY
    input.Body.explanationSpec.metadata.inputs.STRING.encodedTensorName == STRING
    input.Body.explanationSpec.metadata.inputs.STRING.encoding == enum_GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataEncoding[_]
    input.Body.explanationSpec.metadata.inputs.STRING.featureValueDomain.maxValue == NUMBER
    input.Body.explanationSpec.metadata.inputs.STRING.featureValueDomain.minValue == NUMBER
    input.Body.explanationSpec.metadata.inputs.STRING.featureValueDomain.originalMean == NUMBER
    input.Body.explanationSpec.metadata.inputs.STRING.featureValueDomain.originalStddev == NUMBER
    input.Body.explanationSpec.metadata.inputs.STRING.groupName == STRING
    input.Body.explanationSpec.metadata.inputs.STRING.indexFeatureMapping[_] == STRING
    input.Body.explanationSpec.metadata.inputs.STRING.indicesTensorName == STRING
    input.Body.explanationSpec.metadata.inputs.STRING.inputBaselines[_] == ANY
    input.Body.explanationSpec.metadata.inputs.STRING.inputTensorName == STRING
    input.Body.explanationSpec.metadata.inputs.STRING.modality == STRING
    input.Body.explanationSpec.metadata.inputs.STRING.visualization.clipPercentLowerbound == NUMBER
    input.Body.explanationSpec.metadata.inputs.STRING.visualization.clipPercentUpperbound == NUMBER
    input.Body.explanationSpec.metadata.inputs.STRING.visualization.colorMap == enum_GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationColorMap[_]
    input.Body.explanationSpec.metadata.inputs.STRING.visualization.overlayType == enum_GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOverlayType[_]
    input.Body.explanationSpec.metadata.inputs.STRING.visualization.polarity == enum_GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPolarity[_]
    input.Body.explanationSpec.metadata.inputs.STRING.visualization.type == enum_GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationType[_]
    input.Body.explanationSpec.metadata.latentSpaceSource == STRING
    input.Body.explanationSpec.metadata.outputs.STRING.displayNameMappingKey == STRING
    input.Body.explanationSpec.metadata.outputs.STRING.indexDisplayNameMapping == ANY
    input.Body.explanationSpec.metadata.outputs.STRING.outputTensorName == STRING
    input.Body.explanationSpec.parameters.examples.exampleGcsSource.dataFormat == enum_GoogleCloudAiplatformV1beta1ExamplesExampleGcsSourceDataFormat[_]
    input.Body.explanationSpec.parameters.examples.exampleGcsSource.gcsSource.uris[_] == STRING
    input.Body.explanationSpec.parameters.examples.gcsSource.uris[_] == STRING
    input.Body.explanationSpec.parameters.examples.nearestNeighborSearchConfig == ANY
    input.Body.explanationSpec.parameters.examples.neighborCount == INTEGER
    input.Body.explanationSpec.parameters.examples.presets.modality == enum_GoogleCloudAiplatformV1beta1PresetsModality[_]
    input.Body.explanationSpec.parameters.examples.presets.query == enum_GoogleCloudAiplatformV1beta1PresetsQuery[_]
    input.Body.explanationSpec.parameters.integratedGradientsAttribution.blurBaselineConfig.maxBlurSigma == NUMBER
    input.Body.explanationSpec.parameters.integratedGradientsAttribution.smoothGradConfig.featureNoiseSigma.noiseSigma[_].name == STRING
    input.Body.explanationSpec.parameters.integratedGradientsAttribution.smoothGradConfig.featureNoiseSigma.noiseSigma[_].sigma == NUMBER
    input.Body.explanationSpec.parameters.integratedGradientsAttribution.smoothGradConfig.noiseSigma == NUMBER
    input.Body.explanationSpec.parameters.integratedGradientsAttribution.smoothGradConfig.noisySampleCount == INTEGER
    input.Body.explanationSpec.parameters.integratedGradientsAttribution.stepCount == INTEGER
    input.Body.explanationSpec.parameters.outputIndices[_] == ANY
    input.Body.explanationSpec.parameters.sampledShapleyAttribution.pathCount == INTEGER
    input.Body.explanationSpec.parameters.topK == INTEGER
    input.Body.explanationSpec.parameters.xraiAttribution.blurBaselineConfig.maxBlurSigma == NUMBER
    input.Body.explanationSpec.parameters.xraiAttribution.smoothGradConfig.featureNoiseSigma.noiseSigma[_].name == STRING
    input.Body.explanationSpec.parameters.xraiAttribution.smoothGradConfig.featureNoiseSigma.noiseSigma[_].sigma == NUMBER
    input.Body.explanationSpec.parameters.xraiAttribution.smoothGradConfig.noiseSigma == NUMBER
    input.Body.explanationSpec.parameters.xraiAttribution.smoothGradConfig.noisySampleCount == INTEGER
    input.Body.explanationSpec.parameters.xraiAttribution.stepCount == INTEGER
    input.Body.modelMonitoringSchema.featureFields[_].dataType == STRING
    input.Body.modelMonitoringSchema.featureFields[_].name == STRING
    input.Body.modelMonitoringSchema.featureFields[_].repeated == BOOLEAN
    input.Body.modelMonitoringSchema.groundTruthFields[_].dataType == STRING
    input.Body.modelMonitoringSchema.groundTruthFields[_].name == STRING
    input.Body.modelMonitoringSchema.groundTruthFields[_].repeated == BOOLEAN
    input.Body.modelMonitoringSchema.predictionFields[_].dataType == STRING
    input.Body.modelMonitoringSchema.predictionFields[_].name == STRING
    input.Body.modelMonitoringSchema.predictionFields[_].repeated == BOOLEAN
    input.Body.modelMonitoringTarget.vertexModel.model == STRING
    input.Body.modelMonitoringTarget.vertexModel.modelVersionId == STRING
    input.Body.name == STRING
    input.Body.notificationSpec.emailConfig.userEmails[_] == STRING
    input.Body.notificationSpec.enableCloudLogging == BOOLEAN
    input.Body.notificationSpec.notificationChannelConfigs[_].notificationChannel == STRING
    input.Body.outputSpec.gcsBaseDirectory.outputUriPrefix == STRING
    input.Body.tabularObjective.featureAttributionSpec.batchExplanationDedicatedResources.machineSpec.acceleratorCount == INTEGER
    input.Body.tabularObjective.featureAttributionSpec.batchExplanationDedicatedResources.machineSpec.acceleratorType == enum_GoogleCloudAiplatformV1beta1MachineSpecAcceleratorType[_]
    input.Body.tabularObjective.featureAttributionSpec.batchExplanationDedicatedResources.machineSpec.machineType == STRING
    input.Body.tabularObjective.featureAttributionSpec.batchExplanationDedicatedResources.machineSpec.reservationAffinity.key == STRING
    input.Body.tabularObjective.featureAttributionSpec.batchExplanationDedicatedResources.machineSpec.reservationAffinity.reservationAffinityType == enum_GoogleCloudAiplatformV1beta1ReservationAffinityReservationAffinityType[_]
    input.Body.tabularObjective.featureAttributionSpec.batchExplanationDedicatedResources.machineSpec.reservationAffinity.values[_] == STRING
    input.Body.tabularObjective.featureAttributionSpec.batchExplanationDedicatedResources.machineSpec.tpuTopology == STRING
    input.Body.tabularObjective.featureAttributionSpec.batchExplanationDedicatedResources.maxReplicaCount == INTEGER
    input.Body.tabularObjective.featureAttributionSpec.batchExplanationDedicatedResources.startingReplicaCount == INTEGER
    input.Body.tabularObjective.featureAttributionSpec.defaultAlertCondition.threshold == NUMBER
    input.Body.tabularObjective.featureAttributionSpec.featureAlertConditions.STRING.threshold == NUMBER
    input.Body.tabularObjective.featureAttributionSpec.features[_] == STRING
    input.Body.tabularObjective.featureDriftSpec.categoricalMetricType == STRING
    input.Body.tabularObjective.featureDriftSpec.defaultCategoricalAlertCondition.threshold == NUMBER
    input.Body.tabularObjective.featureDriftSpec.defaultNumericAlertCondition.threshold == NUMBER
    input.Body.tabularObjective.featureDriftSpec.featureAlertConditions.STRING.threshold == NUMBER
    input.Body.tabularObjective.featureDriftSpec.features[_] == STRING
    input.Body.tabularObjective.featureDriftSpec.numericMetricType == STRING
    input.Body.tabularObjective.predictionOutputDriftSpec.categoricalMetricType == STRING
    input.Body.tabularObjective.predictionOutputDriftSpec.defaultCategoricalAlertCondition.threshold == NUMBER
    input.Body.tabularObjective.predictionOutputDriftSpec.defaultNumericAlertCondition.threshold == NUMBER
    input.Body.tabularObjective.predictionOutputDriftSpec.featureAlertConditions.STRING.threshold == NUMBER
    input.Body.tabularObjective.predictionOutputDriftSpec.features[_] == STRING
    input.Body.tabularObjective.predictionOutputDriftSpec.numericMetricType == STRING
    input.Body.trainingDataset.batchPredictionOutput.batchPredictionJob == STRING
    input.Body.trainingDataset.columnizedDataset.bigquerySource.query == STRING
    input.Body.trainingDataset.columnizedDataset.bigquerySource.tableUri == STRING
    input.Body.trainingDataset.columnizedDataset.gcsSource.format == enum_GoogleCloudAiplatformV1beta1ModelMonitoringInputModelMonitoringDatasetModelMonitoringGcsSourceFormat[_]
    input.Body.trainingDataset.columnizedDataset.gcsSource.gcsUri == STRING
    input.Body.trainingDataset.columnizedDataset.timestampField == STRING
    input.Body.trainingDataset.columnizedDataset.vertexDataset == STRING
    input.Body.trainingDataset.timeInterval.endTime == STRING
    input.Body.trainingDataset.timeInterval.startTime == STRING
    input.Body.trainingDataset.timeOffset.offset == STRING
    input.Body.trainingDataset.timeOffset.window == STRING
    input.Body.trainingDataset.vertexEndpointLogs.endpoints[_] == STRING
    input.ReqMap.parent == STRING
    input.Qs.modelMonitorId == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.locations.modelMonitors.delete

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

aiplatform.projects.locations.modelMonitors.get

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

aiplatform.projects.locations.modelMonitors.list

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

aiplatform.projects.locations.modelMonitors.modelMonitoringJobs.create

enum_GoogleCloudAiplatformV1beta1ExamplesExampleGcsSourceDataFormat := [ "DATA_FORMAT_UNSPECIFIED", "JSONL" ]
enum_GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataEncoding := [ "ENCODING_UNSPECIFIED", "IDENTITY", "BAG_OF_FEATURES", "BAG_OF_FEATURES_SPARSE", "INDICATOR", "COMBINED_EMBEDDING", "CONCAT_EMBEDDING" ]
enum_GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationColorMap := [ "COLOR_MAP_UNSPECIFIED", "PINK_GREEN", "VIRIDIS", "RED", "GREEN", "RED_GREEN", "PINK_WHITE_GREEN" ]
enum_GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOverlayType := [ "OVERLAY_TYPE_UNSPECIFIED", "NONE", "ORIGINAL", "GRAYSCALE", "MASK_BLACK" ]
enum_GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPolarity := [ "POLARITY_UNSPECIFIED", "POSITIVE", "NEGATIVE", "BOTH" ]
enum_GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationType := [ "TYPE_UNSPECIFIED", "PIXELS", "OUTLINES" ]
enum_GoogleCloudAiplatformV1beta1MachineSpecAcceleratorType := [ "ACCELERATOR_TYPE_UNSPECIFIED", "NVIDIA_TESLA_K80", "NVIDIA_TESLA_P100", "NVIDIA_TESLA_V100", "NVIDIA_TESLA_P4", "NVIDIA_TESLA_T4", "NVIDIA_TESLA_A100", "NVIDIA_A100_80GB", "NVIDIA_L4", "NVIDIA_H100_80GB", "TPU_V2", "TPU_V3", "TPU_V4_POD", "TPU_V5_LITEPOD" ]
enum_GoogleCloudAiplatformV1beta1ModelMonitoringInputModelMonitoringDatasetModelMonitoringGcsSourceFormat := [ "DATA_FORMAT_UNSPECIFIED", "CSV", "TF_RECORD", "JSONL" ]
enum_GoogleCloudAiplatformV1beta1PresetsModality := [ "MODALITY_UNSPECIFIED", "IMAGE", "TEXT", "TABULAR" ]
enum_GoogleCloudAiplatformV1beta1PresetsQuery := [ "PRECISE", "FAST" ]
enum_GoogleCloudAiplatformV1beta1ReservationAffinityReservationAffinityType := [ "TYPE_UNSPECIFIED", "NO_RESERVATION", "ANY_RESERVATION", "SPECIFIC_RESERVATION" ]

valid {
    input.Body.displayName == STRING
    input.Body.modelMonitoringSpec.notificationSpec.emailConfig.userEmails[_] == STRING
    input.Body.modelMonitoringSpec.notificationSpec.enableCloudLogging == BOOLEAN
    input.Body.modelMonitoringSpec.notificationSpec.notificationChannelConfigs[_].notificationChannel == STRING
    input.Body.modelMonitoringSpec.objectiveSpec.baselineDataset.batchPredictionOutput.batchPredictionJob == STRING
    input.Body.modelMonitoringSpec.objectiveSpec.baselineDataset.columnizedDataset.bigquerySource.query == STRING
    input.Body.modelMonitoringSpec.objectiveSpec.baselineDataset.columnizedDataset.bigquerySource.tableUri == STRING
    input.Body.modelMonitoringSpec.objectiveSpec.baselineDataset.columnizedDataset.gcsSource.format == enum_GoogleCloudAiplatformV1beta1ModelMonitoringInputModelMonitoringDatasetModelMonitoringGcsSourceFormat[_]
    input.Body.modelMonitoringSpec.objectiveSpec.baselineDataset.columnizedDataset.gcsSource.gcsUri == STRING
    input.Body.modelMonitoringSpec.objectiveSpec.baselineDataset.columnizedDataset.timestampField == STRING
    input.Body.modelMonitoringSpec.objectiveSpec.baselineDataset.columnizedDataset.vertexDataset == STRING
    input.Body.modelMonitoringSpec.objectiveSpec.baselineDataset.timeInterval.endTime == STRING
    input.Body.modelMonitoringSpec.objectiveSpec.baselineDataset.timeInterval.startTime == STRING
    input.Body.modelMonitoringSpec.objectiveSpec.baselineDataset.timeOffset.offset == STRING
    input.Body.modelMonitoringSpec.objectiveSpec.baselineDataset.timeOffset.window == STRING
    input.Body.modelMonitoringSpec.objectiveSpec.baselineDataset.vertexEndpointLogs.endpoints[_] == STRING
    input.Body.modelMonitoringSpec.objectiveSpec.explanationSpec.metadata.featureAttributionsSchemaUri == STRING
    input.Body.modelMonitoringSpec.objectiveSpec.explanationSpec.metadata.inputs.STRING.denseShapeTensorName == STRING
    input.Body.modelMonitoringSpec.objectiveSpec.explanationSpec.metadata.inputs.STRING.encodedBaselines[_] == ANY
    input.Body.modelMonitoringSpec.objectiveSpec.explanationSpec.metadata.inputs.STRING.encodedTensorName == STRING
    input.Body.modelMonitoringSpec.objectiveSpec.explanationSpec.metadata.inputs.STRING.encoding == enum_GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataEncoding[_]
    input.Body.modelMonitoringSpec.objectiveSpec.explanationSpec.metadata.inputs.STRING.featureValueDomain.maxValue == NUMBER
    input.Body.modelMonitoringSpec.objectiveSpec.explanationSpec.metadata.inputs.STRING.featureValueDomain.minValue == NUMBER
    input.Body.modelMonitoringSpec.objectiveSpec.explanationSpec.metadata.inputs.STRING.featureValueDomain.originalMean == NUMBER
    input.Body.modelMonitoringSpec.objectiveSpec.explanationSpec.metadata.inputs.STRING.featureValueDomain.originalStddev == NUMBER
    input.Body.modelMonitoringSpec.objectiveSpec.explanationSpec.metadata.inputs.STRING.groupName == STRING
    input.Body.modelMonitoringSpec.objectiveSpec.explanationSpec.metadata.inputs.STRING.indexFeatureMapping[_] == STRING
    input.Body.modelMonitoringSpec.objectiveSpec.explanationSpec.metadata.inputs.STRING.indicesTensorName == STRING
    input.Body.modelMonitoringSpec.objectiveSpec.explanationSpec.metadata.inputs.STRING.inputBaselines[_] == ANY
    input.Body.modelMonitoringSpec.objectiveSpec.explanationSpec.metadata.inputs.STRING.inputTensorName == STRING
    input.Body.modelMonitoringSpec.objectiveSpec.explanationSpec.metadata.inputs.STRING.modality == STRING
    input.Body.modelMonitoringSpec.objectiveSpec.explanationSpec.metadata.inputs.STRING.visualization.clipPercentLowerbound == NUMBER
    input.Body.modelMonitoringSpec.objectiveSpec.explanationSpec.metadata.inputs.STRING.visualization.clipPercentUpperbound == NUMBER
    input.Body.modelMonitoringSpec.objectiveSpec.explanationSpec.metadata.inputs.STRING.visualization.colorMap == enum_GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationColorMap[_]
    input.Body.modelMonitoringSpec.objectiveSpec.explanationSpec.metadata.inputs.STRING.visualization.overlayType == enum_GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOverlayType[_]
    input.Body.modelMonitoringSpec.objectiveSpec.explanationSpec.metadata.inputs.STRING.visualization.polarity == enum_GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPolarity[_]
    input.Body.modelMonitoringSpec.objectiveSpec.explanationSpec.metadata.inputs.STRING.visualization.type == enum_GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationType[_]
    input.Body.modelMonitoringSpec.objectiveSpec.explanationSpec.metadata.latentSpaceSource == STRING
    input.Body.modelMonitoringSpec.objectiveSpec.explanationSpec.metadata.outputs.STRING.displayNameMappingKey == STRING
    input.Body.modelMonitoringSpec.objectiveSpec.explanationSpec.metadata.outputs.STRING.indexDisplayNameMapping == ANY
    input.Body.modelMonitoringSpec.objectiveSpec.explanationSpec.metadata.outputs.STRING.outputTensorName == STRING
    input.Body.modelMonitoringSpec.objectiveSpec.explanationSpec.parameters.examples.exampleGcsSource.dataFormat == enum_GoogleCloudAiplatformV1beta1ExamplesExampleGcsSourceDataFormat[_]
    input.Body.modelMonitoringSpec.objectiveSpec.explanationSpec.parameters.examples.exampleGcsSource.gcsSource.uris[_] == STRING
    input.Body.modelMonitoringSpec.objectiveSpec.explanationSpec.parameters.examples.gcsSource.uris[_] == STRING
    input.Body.modelMonitoringSpec.objectiveSpec.explanationSpec.parameters.examples.nearestNeighborSearchConfig == ANY
    input.Body.modelMonitoringSpec.objectiveSpec.explanationSpec.parameters.examples.neighborCount == INTEGER
    input.Body.modelMonitoringSpec.objectiveSpec.explanationSpec.parameters.examples.presets.modality == enum_GoogleCloudAiplatformV1beta1PresetsModality[_]
    input.Body.modelMonitoringSpec.objectiveSpec.explanationSpec.parameters.examples.presets.query == enum_GoogleCloudAiplatformV1beta1PresetsQuery[_]
    input.Body.modelMonitoringSpec.objectiveSpec.explanationSpec.parameters.integratedGradientsAttribution.blurBaselineConfig.maxBlurSigma == NUMBER
    input.Body.modelMonitoringSpec.objectiveSpec.explanationSpec.parameters.integratedGradientsAttribution.smoothGradConfig.featureNoiseSigma.noiseSigma[_].name == STRING
    input.Body.modelMonitoringSpec.objectiveSpec.explanationSpec.parameters.integratedGradientsAttribution.smoothGradConfig.featureNoiseSigma.noiseSigma[_].sigma == NUMBER
    input.Body.modelMonitoringSpec.objectiveSpec.explanationSpec.parameters.integratedGradientsAttribution.smoothGradConfig.noiseSigma == NUMBER
    input.Body.modelMonitoringSpec.objectiveSpec.explanationSpec.parameters.integratedGradientsAttribution.smoothGradConfig.noisySampleCount == INTEGER
    input.Body.modelMonitoringSpec.objectiveSpec.explanationSpec.parameters.integratedGradientsAttribution.stepCount == INTEGER
    input.Body.modelMonitoringSpec.objectiveSpec.explanationSpec.parameters.outputIndices[_] == ANY
    input.Body.modelMonitoringSpec.objectiveSpec.explanationSpec.parameters.sampledShapleyAttribution.pathCount == INTEGER
    input.Body.modelMonitoringSpec.objectiveSpec.explanationSpec.parameters.topK == INTEGER
    input.Body.modelMonitoringSpec.objectiveSpec.explanationSpec.parameters.xraiAttribution.blurBaselineConfig.maxBlurSigma == NUMBER
    input.Body.modelMonitoringSpec.objectiveSpec.explanationSpec.parameters.xraiAttribution.smoothGradConfig.featureNoiseSigma.noiseSigma[_].name == STRING
    input.Body.modelMonitoringSpec.objectiveSpec.explanationSpec.parameters.xraiAttribution.smoothGradConfig.featureNoiseSigma.noiseSigma[_].sigma == NUMBER
    input.Body.modelMonitoringSpec.objectiveSpec.explanationSpec.parameters.xraiAttribution.smoothGradConfig.noiseSigma == NUMBER
    input.Body.modelMonitoringSpec.objectiveSpec.explanationSpec.parameters.xraiAttribution.smoothGradConfig.noisySampleCount == INTEGER
    input.Body.modelMonitoringSpec.objectiveSpec.explanationSpec.parameters.xraiAttribution.stepCount == INTEGER
    input.Body.modelMonitoringSpec.objectiveSpec.tabularObjective.featureAttributionSpec.batchExplanationDedicatedResources.machineSpec.acceleratorCount == INTEGER
    input.Body.modelMonitoringSpec.objectiveSpec.tabularObjective.featureAttributionSpec.batchExplanationDedicatedResources.machineSpec.acceleratorType == enum_GoogleCloudAiplatformV1beta1MachineSpecAcceleratorType[_]
    input.Body.modelMonitoringSpec.objectiveSpec.tabularObjective.featureAttributionSpec.batchExplanationDedicatedResources.machineSpec.machineType == STRING
    input.Body.modelMonitoringSpec.objectiveSpec.tabularObjective.featureAttributionSpec.batchExplanationDedicatedResources.machineSpec.reservationAffinity.key == STRING
    input.Body.modelMonitoringSpec.objectiveSpec.tabularObjective.featureAttributionSpec.batchExplanationDedicatedResources.machineSpec.reservationAffinity.reservationAffinityType == enum_GoogleCloudAiplatformV1beta1ReservationAffinityReservationAffinityType[_]
    input.Body.modelMonitoringSpec.objectiveSpec.tabularObjective.featureAttributionSpec.batchExplanationDedicatedResources.machineSpec.reservationAffinity.values[_] == STRING
    input.Body.modelMonitoringSpec.objectiveSpec.tabularObjective.featureAttributionSpec.batchExplanationDedicatedResources.machineSpec.tpuTopology == STRING
    input.Body.modelMonitoringSpec.objectiveSpec.tabularObjective.featureAttributionSpec.batchExplanationDedicatedResources.maxReplicaCount == INTEGER
    input.Body.modelMonitoringSpec.objectiveSpec.tabularObjective.featureAttributionSpec.batchExplanationDedicatedResources.startingReplicaCount == INTEGER
    input.Body.modelMonitoringSpec.objectiveSpec.tabularObjective.featureAttributionSpec.defaultAlertCondition.threshold == NUMBER
    input.Body.modelMonitoringSpec.objectiveSpec.tabularObjective.featureAttributionSpec.featureAlertConditions.STRING.threshold == NUMBER
    input.Body.modelMonitoringSpec.objectiveSpec.tabularObjective.featureAttributionSpec.features[_] == STRING
    input.Body.modelMonitoringSpec.objectiveSpec.tabularObjective.featureDriftSpec.categoricalMetricType == STRING
    input.Body.modelMonitoringSpec.objectiveSpec.tabularObjective.featureDriftSpec.defaultCategoricalAlertCondition.threshold == NUMBER
    input.Body.modelMonitoringSpec.objectiveSpec.tabularObjective.featureDriftSpec.defaultNumericAlertCondition.threshold == NUMBER
    input.Body.modelMonitoringSpec.objectiveSpec.tabularObjective.featureDriftSpec.featureAlertConditions.STRING.threshold == NUMBER
    input.Body.modelMonitoringSpec.objectiveSpec.tabularObjective.featureDriftSpec.features[_] == STRING
    input.Body.modelMonitoringSpec.objectiveSpec.tabularObjective.featureDriftSpec.numericMetricType == STRING
    input.Body.modelMonitoringSpec.objectiveSpec.tabularObjective.predictionOutputDriftSpec.categoricalMetricType == STRING
    input.Body.modelMonitoringSpec.objectiveSpec.tabularObjective.predictionOutputDriftSpec.defaultCategoricalAlertCondition.threshold == NUMBER
    input.Body.modelMonitoringSpec.objectiveSpec.tabularObjective.predictionOutputDriftSpec.defaultNumericAlertCondition.threshold == NUMBER
    input.Body.modelMonitoringSpec.objectiveSpec.tabularObjective.predictionOutputDriftSpec.featureAlertConditions.STRING.threshold == NUMBER
    input.Body.modelMonitoringSpec.objectiveSpec.tabularObjective.predictionOutputDriftSpec.features[_] == STRING
    input.Body.modelMonitoringSpec.objectiveSpec.tabularObjective.predictionOutputDriftSpec.numericMetricType == STRING
    input.Body.modelMonitoringSpec.objectiveSpec.targetDataset.batchPredictionOutput.batchPredictionJob == STRING
    input.Body.modelMonitoringSpec.objectiveSpec.targetDataset.columnizedDataset.bigquerySource.query == STRING
    input.Body.modelMonitoringSpec.objectiveSpec.targetDataset.columnizedDataset.bigquerySource.tableUri == STRING
    input.Body.modelMonitoringSpec.objectiveSpec.targetDataset.columnizedDataset.gcsSource.format == enum_GoogleCloudAiplatformV1beta1ModelMonitoringInputModelMonitoringDatasetModelMonitoringGcsSourceFormat[_]
    input.Body.modelMonitoringSpec.objectiveSpec.targetDataset.columnizedDataset.gcsSource.gcsUri == STRING
    input.Body.modelMonitoringSpec.objectiveSpec.targetDataset.columnizedDataset.timestampField == STRING
    input.Body.modelMonitoringSpec.objectiveSpec.targetDataset.columnizedDataset.vertexDataset == STRING
    input.Body.modelMonitoringSpec.objectiveSpec.targetDataset.timeInterval.endTime == STRING
    input.Body.modelMonitoringSpec.objectiveSpec.targetDataset.timeInterval.startTime == STRING
    input.Body.modelMonitoringSpec.objectiveSpec.targetDataset.timeOffset.offset == STRING
    input.Body.modelMonitoringSpec.objectiveSpec.targetDataset.timeOffset.window == STRING
    input.Body.modelMonitoringSpec.objectiveSpec.targetDataset.vertexEndpointLogs.endpoints[_] == STRING
    input.Body.modelMonitoringSpec.outputSpec.gcsBaseDirectory.outputUriPrefix == STRING
    input.ReqMap.parent == STRING
    input.Qs.modelMonitoringJobId == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.locations.modelMonitors.modelMonitoringJobs.delete

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

aiplatform.projects.locations.modelMonitors.modelMonitoringJobs.get

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

aiplatform.projects.locations.modelMonitors.modelMonitoringJobs.list

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

aiplatform.projects.locations.modelMonitors.operations.cancel

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

aiplatform.projects.locations.modelMonitors.operations.delete

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

aiplatform.projects.locations.modelMonitors.operations.get

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

aiplatform.projects.locations.modelMonitors.operations.list

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

aiplatform.projects.locations.modelMonitors.operations.wait

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

aiplatform.projects.locations.modelMonitors.patch

enum_GoogleCloudAiplatformV1beta1ExamplesExampleGcsSourceDataFormat := [ "DATA_FORMAT_UNSPECIFIED", "JSONL" ]
enum_GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataEncoding := [ "ENCODING_UNSPECIFIED", "IDENTITY", "BAG_OF_FEATURES", "BAG_OF_FEATURES_SPARSE", "INDICATOR", "COMBINED_EMBEDDING", "CONCAT_EMBEDDING" ]
enum_GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationColorMap := [ "COLOR_MAP_UNSPECIFIED", "PINK_GREEN", "VIRIDIS", "RED", "GREEN", "RED_GREEN", "PINK_WHITE_GREEN" ]
enum_GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOverlayType := [ "OVERLAY_TYPE_UNSPECIFIED", "NONE", "ORIGINAL", "GRAYSCALE", "MASK_BLACK" ]
enum_GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPolarity := [ "POLARITY_UNSPECIFIED", "POSITIVE", "NEGATIVE", "BOTH" ]
enum_GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationType := [ "TYPE_UNSPECIFIED", "PIXELS", "OUTLINES" ]
enum_GoogleCloudAiplatformV1beta1MachineSpecAcceleratorType := [ "ACCELERATOR_TYPE_UNSPECIFIED", "NVIDIA_TESLA_K80", "NVIDIA_TESLA_P100", "NVIDIA_TESLA_V100", "NVIDIA_TESLA_P4", "NVIDIA_TESLA_T4", "NVIDIA_TESLA_A100", "NVIDIA_A100_80GB", "NVIDIA_L4", "NVIDIA_H100_80GB", "TPU_V2", "TPU_V3", "TPU_V4_POD", "TPU_V5_LITEPOD" ]
enum_GoogleCloudAiplatformV1beta1ModelMonitoringInputModelMonitoringDatasetModelMonitoringGcsSourceFormat := [ "DATA_FORMAT_UNSPECIFIED", "CSV", "TF_RECORD", "JSONL" ]
enum_GoogleCloudAiplatformV1beta1PresetsModality := [ "MODALITY_UNSPECIFIED", "IMAGE", "TEXT", "TABULAR" ]
enum_GoogleCloudAiplatformV1beta1PresetsQuery := [ "PRECISE", "FAST" ]
enum_GoogleCloudAiplatformV1beta1ReservationAffinityReservationAffinityType := [ "TYPE_UNSPECIFIED", "NO_RESERVATION", "ANY_RESERVATION", "SPECIFIC_RESERVATION" ]

valid {
    input.Body.displayName == STRING
    input.Body.explanationSpec.metadata.featureAttributionsSchemaUri == STRING
    input.Body.explanationSpec.metadata.inputs.STRING.denseShapeTensorName == STRING
    input.Body.explanationSpec.metadata.inputs.STRING.encodedBaselines[_] == ANY
    input.Body.explanationSpec.metadata.inputs.STRING.encodedTensorName == STRING
    input.Body.explanationSpec.metadata.inputs.STRING.encoding == enum_GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataEncoding[_]
    input.Body.explanationSpec.metadata.inputs.STRING.featureValueDomain.maxValue == NUMBER
    input.Body.explanationSpec.metadata.inputs.STRING.featureValueDomain.minValue == NUMBER
    input.Body.explanationSpec.metadata.inputs.STRING.featureValueDomain.originalMean == NUMBER
    input.Body.explanationSpec.metadata.inputs.STRING.featureValueDomain.originalStddev == NUMBER
    input.Body.explanationSpec.metadata.inputs.STRING.groupName == STRING
    input.Body.explanationSpec.metadata.inputs.STRING.indexFeatureMapping[_] == STRING
    input.Body.explanationSpec.metadata.inputs.STRING.indicesTensorName == STRING
    input.Body.explanationSpec.metadata.inputs.STRING.inputBaselines[_] == ANY
    input.Body.explanationSpec.metadata.inputs.STRING.inputTensorName == STRING
    input.Body.explanationSpec.metadata.inputs.STRING.modality == STRING
    input.Body.explanationSpec.metadata.inputs.STRING.visualization.clipPercentLowerbound == NUMBER
    input.Body.explanationSpec.metadata.inputs.STRING.visualization.clipPercentUpperbound == NUMBER
    input.Body.explanationSpec.metadata.inputs.STRING.visualization.colorMap == enum_GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationColorMap[_]
    input.Body.explanationSpec.metadata.inputs.STRING.visualization.overlayType == enum_GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOverlayType[_]
    input.Body.explanationSpec.metadata.inputs.STRING.visualization.polarity == enum_GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPolarity[_]
    input.Body.explanationSpec.metadata.inputs.STRING.visualization.type == enum_GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationType[_]
    input.Body.explanationSpec.metadata.latentSpaceSource == STRING
    input.Body.explanationSpec.metadata.outputs.STRING.displayNameMappingKey == STRING
    input.Body.explanationSpec.metadata.outputs.STRING.indexDisplayNameMapping == ANY
    input.Body.explanationSpec.metadata.outputs.STRING.outputTensorName == STRING
    input.Body.explanationSpec.parameters.examples.exampleGcsSource.dataFormat == enum_GoogleCloudAiplatformV1beta1ExamplesExampleGcsSourceDataFormat[_]
    input.Body.explanationSpec.parameters.examples.exampleGcsSource.gcsSource.uris[_] == STRING
    input.Body.explanationSpec.parameters.examples.gcsSource.uris[_] == STRING
    input.Body.explanationSpec.parameters.examples.nearestNeighborSearchConfig == ANY
    input.Body.explanationSpec.parameters.examples.neighborCount == INTEGER
    input.Body.explanationSpec.parameters.examples.presets.modality == enum_GoogleCloudAiplatformV1beta1PresetsModality[_]
    input.Body.explanationSpec.parameters.examples.presets.query == enum_GoogleCloudAiplatformV1beta1PresetsQuery[_]
    input.Body.explanationSpec.parameters.integratedGradientsAttribution.blurBaselineConfig.maxBlurSigma == NUMBER
    input.Body.explanationSpec.parameters.integratedGradientsAttribution.smoothGradConfig.featureNoiseSigma.noiseSigma[_].name == STRING
    input.Body.explanationSpec.parameters.integratedGradientsAttribution.smoothGradConfig.featureNoiseSigma.noiseSigma[_].sigma == NUMBER
    input.Body.explanationSpec.parameters.integratedGradientsAttribution.smoothGradConfig.noiseSigma == NUMBER
    input.Body.explanationSpec.parameters.integratedGradientsAttribution.smoothGradConfig.noisySampleCount == INTEGER
    input.Body.explanationSpec.parameters.integratedGradientsAttribution.stepCount == INTEGER
    input.Body.explanationSpec.parameters.outputIndices[_] == ANY
    input.Body.explanationSpec.parameters.sampledShapleyAttribution.pathCount == INTEGER
    input.Body.explanationSpec.parameters.topK == INTEGER
    input.Body.explanationSpec.parameters.xraiAttribution.blurBaselineConfig.maxBlurSigma == NUMBER
    input.Body.explanationSpec.parameters.xraiAttribution.smoothGradConfig.featureNoiseSigma.noiseSigma[_].name == STRING
    input.Body.explanationSpec.parameters.xraiAttribution.smoothGradConfig.featureNoiseSigma.noiseSigma[_].sigma == NUMBER
    input.Body.explanationSpec.parameters.xraiAttribution.smoothGradConfig.noiseSigma == NUMBER
    input.Body.explanationSpec.parameters.xraiAttribution.smoothGradConfig.noisySampleCount == INTEGER
    input.Body.explanationSpec.parameters.xraiAttribution.stepCount == INTEGER
    input.Body.modelMonitoringSchema.featureFields[_].dataType == STRING
    input.Body.modelMonitoringSchema.featureFields[_].name == STRING
    input.Body.modelMonitoringSchema.featureFields[_].repeated == BOOLEAN
    input.Body.modelMonitoringSchema.groundTruthFields[_].dataType == STRING
    input.Body.modelMonitoringSchema.groundTruthFields[_].name == STRING
    input.Body.modelMonitoringSchema.groundTruthFields[_].repeated == BOOLEAN
    input.Body.modelMonitoringSchema.predictionFields[_].dataType == STRING
    input.Body.modelMonitoringSchema.predictionFields[_].name == STRING
    input.Body.modelMonitoringSchema.predictionFields[_].repeated == BOOLEAN
    input.Body.modelMonitoringTarget.vertexModel.model == STRING
    input.Body.modelMonitoringTarget.vertexModel.modelVersionId == STRING
    input.Body.name == STRING
    input.Body.notificationSpec.emailConfig.userEmails[_] == STRING
    input.Body.notificationSpec.enableCloudLogging == BOOLEAN
    input.Body.notificationSpec.notificationChannelConfigs[_].notificationChannel == STRING
    input.Body.outputSpec.gcsBaseDirectory.outputUriPrefix == STRING
    input.Body.tabularObjective.featureAttributionSpec.batchExplanationDedicatedResources.machineSpec.acceleratorCount == INTEGER
    input.Body.tabularObjective.featureAttributionSpec.batchExplanationDedicatedResources.machineSpec.acceleratorType == enum_GoogleCloudAiplatformV1beta1MachineSpecAcceleratorType[_]
    input.Body.tabularObjective.featureAttributionSpec.batchExplanationDedicatedResources.machineSpec.machineType == STRING
    input.Body.tabularObjective.featureAttributionSpec.batchExplanationDedicatedResources.machineSpec.reservationAffinity.key == STRING
    input.Body.tabularObjective.featureAttributionSpec.batchExplanationDedicatedResources.machineSpec.reservationAffinity.reservationAffinityType == enum_GoogleCloudAiplatformV1beta1ReservationAffinityReservationAffinityType[_]
    input.Body.tabularObjective.featureAttributionSpec.batchExplanationDedicatedResources.machineSpec.reservationAffinity.values[_] == STRING
    input.Body.tabularObjective.featureAttributionSpec.batchExplanationDedicatedResources.machineSpec.tpuTopology == STRING
    input.Body.tabularObjective.featureAttributionSpec.batchExplanationDedicatedResources.maxReplicaCount == INTEGER
    input.Body.tabularObjective.featureAttributionSpec.batchExplanationDedicatedResources.startingReplicaCount == INTEGER
    input.Body.tabularObjective.featureAttributionSpec.defaultAlertCondition.threshold == NUMBER
    input.Body.tabularObjective.featureAttributionSpec.featureAlertConditions.STRING.threshold == NUMBER
    input.Body.tabularObjective.featureAttributionSpec.features[_] == STRING
    input.Body.tabularObjective.featureDriftSpec.categoricalMetricType == STRING
    input.Body.tabularObjective.featureDriftSpec.defaultCategoricalAlertCondition.threshold == NUMBER
    input.Body.tabularObjective.featureDriftSpec.defaultNumericAlertCondition.threshold == NUMBER
    input.Body.tabularObjective.featureDriftSpec.featureAlertConditions.STRING.threshold == NUMBER
    input.Body.tabularObjective.featureDriftSpec.features[_] == STRING
    input.Body.tabularObjective.featureDriftSpec.numericMetricType == STRING
    input.Body.tabularObjective.predictionOutputDriftSpec.categoricalMetricType == STRING
    input.Body.tabularObjective.predictionOutputDriftSpec.defaultCategoricalAlertCondition.threshold == NUMBER
    input.Body.tabularObjective.predictionOutputDriftSpec.defaultNumericAlertCondition.threshold == NUMBER
    input.Body.tabularObjective.predictionOutputDriftSpec.featureAlertConditions.STRING.threshold == NUMBER
    input.Body.tabularObjective.predictionOutputDriftSpec.features[_] == STRING
    input.Body.tabularObjective.predictionOutputDriftSpec.numericMetricType == STRING
    input.Body.trainingDataset.batchPredictionOutput.batchPredictionJob == STRING
    input.Body.trainingDataset.columnizedDataset.bigquerySource.query == STRING
    input.Body.trainingDataset.columnizedDataset.bigquerySource.tableUri == STRING
    input.Body.trainingDataset.columnizedDataset.gcsSource.format == enum_GoogleCloudAiplatformV1beta1ModelMonitoringInputModelMonitoringDatasetModelMonitoringGcsSourceFormat[_]
    input.Body.trainingDataset.columnizedDataset.gcsSource.gcsUri == STRING
    input.Body.trainingDataset.columnizedDataset.timestampField == STRING
    input.Body.trainingDataset.columnizedDataset.vertexDataset == STRING
    input.Body.trainingDataset.timeInterval.endTime == STRING
    input.Body.trainingDataset.timeInterval.startTime == STRING
    input.Body.trainingDataset.timeOffset.offset == STRING
    input.Body.trainingDataset.timeOffset.window == STRING
    input.Body.trainingDataset.vertexEndpointLogs.endpoints[_] == STRING
    input.ReqMap.name == STRING
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.locations.modelMonitors.searchModelMonitoringAlerts

valid {
    input.Body.alertTimeInterval.endTime == STRING
    input.Body.alertTimeInterval.startTime == STRING
    input.Body.modelMonitoringJob == STRING
    input.Body.objectiveType == STRING
    input.Body.pageSize == INTEGER
    input.Body.pageToken == STRING
    input.Body.statsName == STRING
    input.ReqMap.modelMonitor == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.locations.modelMonitors.searchModelMonitoringStats

valid {
    input.Body.pageSize == INTEGER
    input.Body.pageToken == STRING
    input.Body.statsFilter.tabularStatsFilter.algorithm == STRING
    input.Body.statsFilter.tabularStatsFilter.modelMonitoringJob == STRING
    input.Body.statsFilter.tabularStatsFilter.modelMonitoringSchedule == STRING
    input.Body.statsFilter.tabularStatsFilter.objectiveType == STRING
    input.Body.statsFilter.tabularStatsFilter.statsName == STRING
    input.Body.timeInterval.endTime == STRING
    input.Body.timeInterval.startTime == STRING
    input.ReqMap.modelMonitor == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.locations.models.copy

valid {
    input.Body.encryptionSpec.kmsKeyName == STRING
    input.Body.modelId == STRING
    input.Body.parentModel == STRING
    input.Body.sourceModel == STRING
    input.ReqMap.parent == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.locations.models.delete

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

aiplatform.projects.locations.models.deleteVersion

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

aiplatform.projects.locations.models.evaluations.get

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

aiplatform.projects.locations.models.evaluations.import

enum_GoogleCloudAiplatformV1ExamplesExampleGcsSourceDataFormat := [ "DATA_FORMAT_UNSPECIFIED", "JSONL" ]
enum_GoogleCloudAiplatformV1ExplanationMetadataInputMetadataEncoding := [ "ENCODING_UNSPECIFIED", "IDENTITY", "BAG_OF_FEATURES", "BAG_OF_FEATURES_SPARSE", "INDICATOR", "COMBINED_EMBEDDING", "CONCAT_EMBEDDING" ]
enum_GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMap := [ "COLOR_MAP_UNSPECIFIED", "PINK_GREEN", "VIRIDIS", "RED", "GREEN", "RED_GREEN", "PINK_WHITE_GREEN" ]
enum_GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOverlayType := [ "OVERLAY_TYPE_UNSPECIFIED", "NONE", "ORIGINAL", "GRAYSCALE", "MASK_BLACK" ]
enum_GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPolarity := [ "POLARITY_UNSPECIFIED", "POSITIVE", "NEGATIVE", "BOTH" ]
enum_GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationType := [ "TYPE_UNSPECIFIED", "PIXELS", "OUTLINES" ]
enum_GoogleCloudAiplatformV1PresetsModality := [ "MODALITY_UNSPECIFIED", "IMAGE", "TEXT", "TABULAR" ]
enum_GoogleCloudAiplatformV1PresetsQuery := [ "PRECISE", "FAST" ]

valid {
    input.Body.modelEvaluation.annotationSchemaUri == STRING
    input.Body.modelEvaluation.dataItemSchemaUri == STRING
    input.Body.modelEvaluation.displayName == STRING
    input.Body.modelEvaluation.explanationSpecs[_].explanationSpec.metadata.featureAttributionsSchemaUri == STRING
    input.Body.modelEvaluation.explanationSpecs[_].explanationSpec.metadata.inputs.STRING.denseShapeTensorName == STRING
    input.Body.modelEvaluation.explanationSpecs[_].explanationSpec.metadata.inputs.STRING.encodedBaselines[_] == ANY
    input.Body.modelEvaluation.explanationSpecs[_].explanationSpec.metadata.inputs.STRING.encodedTensorName == STRING
    input.Body.modelEvaluation.explanationSpecs[_].explanationSpec.metadata.inputs.STRING.encoding == enum_GoogleCloudAiplatformV1ExplanationMetadataInputMetadataEncoding[_]
    input.Body.modelEvaluation.explanationSpecs[_].explanationSpec.metadata.inputs.STRING.featureValueDomain.maxValue == NUMBER
    input.Body.modelEvaluation.explanationSpecs[_].explanationSpec.metadata.inputs.STRING.featureValueDomain.minValue == NUMBER
    input.Body.modelEvaluation.explanationSpecs[_].explanationSpec.metadata.inputs.STRING.featureValueDomain.originalMean == NUMBER
    input.Body.modelEvaluation.explanationSpecs[_].explanationSpec.metadata.inputs.STRING.featureValueDomain.originalStddev == NUMBER
    input.Body.modelEvaluation.explanationSpecs[_].explanationSpec.metadata.inputs.STRING.groupName == STRING
    input.Body.modelEvaluation.explanationSpecs[_].explanationSpec.metadata.inputs.STRING.indexFeatureMapping[_] == STRING
    input.Body.modelEvaluation.explanationSpecs[_].explanationSpec.metadata.inputs.STRING.indicesTensorName == STRING
    input.Body.modelEvaluation.explanationSpecs[_].explanationSpec.metadata.inputs.STRING.inputBaselines[_] == ANY
    input.Body.modelEvaluation.explanationSpecs[_].explanationSpec.metadata.inputs.STRING.inputTensorName == STRING
    input.Body.modelEvaluation.explanationSpecs[_].explanationSpec.metadata.inputs.STRING.modality == STRING
    input.Body.modelEvaluation.explanationSpecs[_].explanationSpec.metadata.inputs.STRING.visualization.clipPercentLowerbound == NUMBER
    input.Body.modelEvaluation.explanationSpecs[_].explanationSpec.metadata.inputs.STRING.visualization.clipPercentUpperbound == NUMBER
    input.Body.modelEvaluation.explanationSpecs[_].explanationSpec.metadata.inputs.STRING.visualization.colorMap == enum_GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMap[_]
    input.Body.modelEvaluation.explanationSpecs[_].explanationSpec.metadata.inputs.STRING.visualization.overlayType == enum_GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOverlayType[_]
    input.Body.modelEvaluation.explanationSpecs[_].explanationSpec.metadata.inputs.STRING.visualization.polarity == enum_GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPolarity[_]
    input.Body.modelEvaluation.explanationSpecs[_].explanationSpec.metadata.inputs.STRING.visualization.type == enum_GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationType[_]
    input.Body.modelEvaluation.explanationSpecs[_].explanationSpec.metadata.latentSpaceSource == STRING
    input.Body.modelEvaluation.explanationSpecs[_].explanationSpec.metadata.outputs.STRING.displayNameMappingKey == STRING
    input.Body.modelEvaluation.explanationSpecs[_].explanationSpec.metadata.outputs.STRING.indexDisplayNameMapping == ANY
    input.Body.modelEvaluation.explanationSpecs[_].explanationSpec.metadata.outputs.STRING.outputTensorName == STRING
    input.Body.modelEvaluation.explanationSpecs[_].explanationSpec.parameters.examples.exampleGcsSource.dataFormat == enum_GoogleCloudAiplatformV1ExamplesExampleGcsSourceDataFormat[_]
    input.Body.modelEvaluation.explanationSpecs[_].explanationSpec.parameters.examples.exampleGcsSource.gcsSource.uris[_] == STRING
    input.Body.modelEvaluation.explanationSpecs[_].explanationSpec.parameters.examples.nearestNeighborSearchConfig == ANY
    input.Body.modelEvaluation.explanationSpecs[_].explanationSpec.parameters.examples.neighborCount == INTEGER
    input.Body.modelEvaluation.explanationSpecs[_].explanationSpec.parameters.examples.presets.modality == enum_GoogleCloudAiplatformV1PresetsModality[_]
    input.Body.modelEvaluation.explanationSpecs[_].explanationSpec.parameters.examples.presets.query == enum_GoogleCloudAiplatformV1PresetsQuery[_]
    input.Body.modelEvaluation.explanationSpecs[_].explanationSpec.parameters.integratedGradientsAttribution.blurBaselineConfig.maxBlurSigma == NUMBER
    input.Body.modelEvaluation.explanationSpecs[_].explanationSpec.parameters.integratedGradientsAttribution.smoothGradConfig.featureNoiseSigma.noiseSigma[_].name == STRING
    input.Body.modelEvaluation.explanationSpecs[_].explanationSpec.parameters.integratedGradientsAttribution.smoothGradConfig.featureNoiseSigma.noiseSigma[_].sigma == NUMBER
    input.Body.modelEvaluation.explanationSpecs[_].explanationSpec.parameters.integratedGradientsAttribution.smoothGradConfig.noiseSigma == NUMBER
    input.Body.modelEvaluation.explanationSpecs[_].explanationSpec.parameters.integratedGradientsAttribution.smoothGradConfig.noisySampleCount == INTEGER
    input.Body.modelEvaluation.explanationSpecs[_].explanationSpec.parameters.integratedGradientsAttribution.stepCount == INTEGER
    input.Body.modelEvaluation.explanationSpecs[_].explanationSpec.parameters.outputIndices[_] == ANY
    input.Body.modelEvaluation.explanationSpecs[_].explanationSpec.parameters.sampledShapleyAttribution.pathCount == INTEGER
    input.Body.modelEvaluation.explanationSpecs[_].explanationSpec.parameters.topK == INTEGER
    input.Body.modelEvaluation.explanationSpecs[_].explanationSpec.parameters.xraiAttribution.blurBaselineConfig.maxBlurSigma == NUMBER
    input.Body.modelEvaluation.explanationSpecs[_].explanationSpec.parameters.xraiAttribution.smoothGradConfig.featureNoiseSigma.noiseSigma[_].name == STRING
    input.Body.modelEvaluation.explanationSpecs[_].explanationSpec.parameters.xraiAttribution.smoothGradConfig.featureNoiseSigma.noiseSigma[_].sigma == NUMBER
    input.Body.modelEvaluation.explanationSpecs[_].explanationSpec.parameters.xraiAttribution.smoothGradConfig.noiseSigma == NUMBER
    input.Body.modelEvaluation.explanationSpecs[_].explanationSpec.parameters.xraiAttribution.smoothGradConfig.noisySampleCount == INTEGER
    input.Body.modelEvaluation.explanationSpecs[_].explanationSpec.parameters.xraiAttribution.stepCount == INTEGER
    input.Body.modelEvaluation.explanationSpecs[_].explanationType == STRING
    input.Body.modelEvaluation.metadata == ANY
    input.Body.modelEvaluation.metrics == ANY
    input.Body.modelEvaluation.metricsSchemaUri == STRING
    input.Body.modelEvaluation.modelExplanation == {}
    input.Body.modelEvaluation.sliceDimensions[_] == STRING
    input.ReqMap.parent == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.locations.models.evaluations.list

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

aiplatform.projects.locations.models.evaluations.operations.cancel

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

aiplatform.projects.locations.models.evaluations.operations.delete

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

aiplatform.projects.locations.models.evaluations.operations.get

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

aiplatform.projects.locations.models.evaluations.operations.list

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

aiplatform.projects.locations.models.evaluations.operations.wait

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

aiplatform.projects.locations.models.evaluations.slices.batchImport

enum_GoogleCloudAiplatformV1ErrorAnalysisAnnotationQueryType := [ "QUERY_TYPE_UNSPECIFIED", "ALL_SIMILAR", "SAME_CLASS_SIMILAR", "SAME_CLASS_DISSIMILAR" ]

valid {
    input.Body.evaluatedAnnotations[_].errorAnalysisAnnotations[_].attributedItems[_].annotationResourceName == STRING
    input.Body.evaluatedAnnotations[_].errorAnalysisAnnotations[_].attributedItems[_].distance == NUMBER
    input.Body.evaluatedAnnotations[_].errorAnalysisAnnotations[_].outlierScore == NUMBER
    input.Body.evaluatedAnnotations[_].errorAnalysisAnnotations[_].outlierThreshold == NUMBER
    input.Body.evaluatedAnnotations[_].errorAnalysisAnnotations[_].queryType == enum_GoogleCloudAiplatformV1ErrorAnalysisAnnotationQueryType[_]
    input.Body.evaluatedAnnotations[_].explanations[_].explanation == {}
    input.Body.evaluatedAnnotations[_].explanations[_].explanationType == STRING
    input.ReqMap.parent == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.locations.models.evaluations.slices.get

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

aiplatform.projects.locations.models.evaluations.slices.list

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

aiplatform.projects.locations.models.export

valid {
    input.Body.outputConfig.artifactDestination.outputUriPrefix == STRING
    input.Body.outputConfig.exportFormatId == STRING
    input.Body.outputConfig.imageDestination.outputUri == STRING
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.locations.models.get

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

aiplatform.projects.locations.models.getIamPolicy

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

aiplatform.projects.locations.models.list

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

aiplatform.projects.locations.models.listVersions

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

aiplatform.projects.locations.models.mergeVersionAliases

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

aiplatform.projects.locations.models.operations.cancel

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

aiplatform.projects.locations.models.operations.delete

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

aiplatform.projects.locations.models.operations.get

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

aiplatform.projects.locations.models.operations.list

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

aiplatform.projects.locations.models.operations.wait

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

aiplatform.projects.locations.models.patch

enum_GoogleCloudAiplatformV1ExamplesExampleGcsSourceDataFormat := [ "DATA_FORMAT_UNSPECIFIED", "JSONL" ]
enum_GoogleCloudAiplatformV1ExplanationMetadataInputMetadataEncoding := [ "ENCODING_UNSPECIFIED", "IDENTITY", "BAG_OF_FEATURES", "BAG_OF_FEATURES_SPARSE", "INDICATOR", "COMBINED_EMBEDDING", "CONCAT_EMBEDDING" ]
enum_GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMap := [ "COLOR_MAP_UNSPECIFIED", "PINK_GREEN", "VIRIDIS", "RED", "GREEN", "RED_GREEN", "PINK_WHITE_GREEN" ]
enum_GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOverlayType := [ "OVERLAY_TYPE_UNSPECIFIED", "NONE", "ORIGINAL", "GRAYSCALE", "MASK_BLACK" ]
enum_GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPolarity := [ "POLARITY_UNSPECIFIED", "POSITIVE", "NEGATIVE", "BOTH" ]
enum_GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationType := [ "TYPE_UNSPECIFIED", "PIXELS", "OUTLINES" ]
enum_GoogleCloudAiplatformV1PresetsModality := [ "MODALITY_UNSPECIFIED", "IMAGE", "TEXT", "TABULAR" ]
enum_GoogleCloudAiplatformV1PresetsQuery := [ "PRECISE", "FAST" ]

valid {
    input.Body.artifactUri == STRING
    input.Body.baseModelSource.genieSource.baseModelUri == STRING
    input.Body.baseModelSource.modelGardenSource.publicModelName == STRING
    input.Body.containerSpec.args[_] == STRING
    input.Body.containerSpec.command[_] == STRING
    input.Body.containerSpec.deploymentTimeout == STRING
    input.Body.containerSpec.env[_].name == STRING
    input.Body.containerSpec.env[_].value == STRING
    input.Body.containerSpec.grpcPorts[_].containerPort == INTEGER
    input.Body.containerSpec.healthProbe.exec.command[_] == STRING
    input.Body.containerSpec.healthProbe.periodSeconds == INTEGER
    input.Body.containerSpec.healthProbe.timeoutSeconds == INTEGER
    input.Body.containerSpec.healthRoute == STRING
    input.Body.containerSpec.imageUri == STRING
    input.Body.containerSpec.ports[_].containerPort == INTEGER
    input.Body.containerSpec.predictRoute == STRING
    input.Body.containerSpec.sharedMemorySizeMb == STRING
    input.Body.containerSpec.startupProbe.exec.command[_] == STRING
    input.Body.containerSpec.startupProbe.periodSeconds == INTEGER
    input.Body.containerSpec.startupProbe.timeoutSeconds == INTEGER
    input.Body.dataStats.testAnnotationsCount == STRING
    input.Body.dataStats.testDataItemsCount == STRING
    input.Body.dataStats.trainingAnnotationsCount == STRING
    input.Body.dataStats.trainingDataItemsCount == STRING
    input.Body.dataStats.validationAnnotationsCount == STRING
    input.Body.dataStats.validationDataItemsCount == STRING
    input.Body.description == STRING
    input.Body.displayName == STRING
    input.Body.encryptionSpec.kmsKeyName == STRING
    input.Body.etag == STRING
    input.Body.explanationSpec.metadata.featureAttributionsSchemaUri == STRING
    input.Body.explanationSpec.metadata.inputs.STRING.denseShapeTensorName == STRING
    input.Body.explanationSpec.metadata.inputs.STRING.encodedBaselines[_] == ANY
    input.Body.explanationSpec.metadata.inputs.STRING.encodedTensorName == STRING
    input.Body.explanationSpec.metadata.inputs.STRING.encoding == enum_GoogleCloudAiplatformV1ExplanationMetadataInputMetadataEncoding[_]
    input.Body.explanationSpec.metadata.inputs.STRING.featureValueDomain.maxValue == NUMBER
    input.Body.explanationSpec.metadata.inputs.STRING.featureValueDomain.minValue == NUMBER
    input.Body.explanationSpec.metadata.inputs.STRING.featureValueDomain.originalMean == NUMBER
    input.Body.explanationSpec.metadata.inputs.STRING.featureValueDomain.originalStddev == NUMBER
    input.Body.explanationSpec.metadata.inputs.STRING.groupName == STRING
    input.Body.explanationSpec.metadata.inputs.STRING.indexFeatureMapping[_] == STRING
    input.Body.explanationSpec.metadata.inputs.STRING.indicesTensorName == STRING
    input.Body.explanationSpec.metadata.inputs.STRING.inputBaselines[_] == ANY
    input.Body.explanationSpec.metadata.inputs.STRING.inputTensorName == STRING
    input.Body.explanationSpec.metadata.inputs.STRING.modality == STRING
    input.Body.explanationSpec.metadata.inputs.STRING.visualization.clipPercentLowerbound == NUMBER
    input.Body.explanationSpec.metadata.inputs.STRING.visualization.clipPercentUpperbound == NUMBER
    input.Body.explanationSpec.metadata.inputs.STRING.visualization.colorMap == enum_GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMap[_]
    input.Body.explanationSpec.metadata.inputs.STRING.visualization.overlayType == enum_GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOverlayType[_]
    input.Body.explanationSpec.metadata.inputs.STRING.visualization.polarity == enum_GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPolarity[_]
    input.Body.explanationSpec.metadata.inputs.STRING.visualization.type == enum_GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationType[_]
    input.Body.explanationSpec.metadata.latentSpaceSource == STRING
    input.Body.explanationSpec.metadata.outputs.STRING.displayNameMappingKey == STRING
    input.Body.explanationSpec.metadata.outputs.STRING.indexDisplayNameMapping == ANY
    input.Body.explanationSpec.metadata.outputs.STRING.outputTensorName == STRING
    input.Body.explanationSpec.parameters.examples.exampleGcsSource.dataFormat == enum_GoogleCloudAiplatformV1ExamplesExampleGcsSourceDataFormat[_]
    input.Body.explanationSpec.parameters.examples.exampleGcsSource.gcsSource.uris[_] == STRING
    input.Body.explanationSpec.parameters.examples.nearestNeighborSearchConfig == ANY
    input.Body.explanationSpec.parameters.examples.neighborCount == INTEGER
    input.Body.explanationSpec.parameters.examples.presets.modality == enum_GoogleCloudAiplatformV1PresetsModality[_]
    input.Body.explanationSpec.parameters.examples.presets.query == enum_GoogleCloudAiplatformV1PresetsQuery[_]
    input.Body.explanationSpec.parameters.integratedGradientsAttribution.blurBaselineConfig.maxBlurSigma == NUMBER
    input.Body.explanationSpec.parameters.integratedGradientsAttribution.smoothGradConfig.featureNoiseSigma.noiseSigma[_].name == STRING
    input.Body.explanationSpec.parameters.integratedGradientsAttribution.smoothGradConfig.featureNoiseSigma.noiseSigma[_].sigma == NUMBER
    input.Body.explanationSpec.parameters.integratedGradientsAttribution.smoothGradConfig.noiseSigma == NUMBER
    input.Body.explanationSpec.parameters.integratedGradientsAttribution.smoothGradConfig.noisySampleCount == INTEGER
    input.Body.explanationSpec.parameters.integratedGradientsAttribution.stepCount == INTEGER
    input.Body.explanationSpec.parameters.outputIndices[_] == ANY
    input.Body.explanationSpec.parameters.sampledShapleyAttribution.pathCount == INTEGER
    input.Body.explanationSpec.parameters.topK == INTEGER
    input.Body.explanationSpec.parameters.xraiAttribution.blurBaselineConfig.maxBlurSigma == NUMBER
    input.Body.explanationSpec.parameters.xraiAttribution.smoothGradConfig.featureNoiseSigma.noiseSigma[_].name == STRING
    input.Body.explanationSpec.parameters.xraiAttribution.smoothGradConfig.featureNoiseSigma.noiseSigma[_].sigma == NUMBER
    input.Body.explanationSpec.parameters.xraiAttribution.smoothGradConfig.noiseSigma == NUMBER
    input.Body.explanationSpec.parameters.xraiAttribution.smoothGradConfig.noisySampleCount == INTEGER
    input.Body.explanationSpec.parameters.xraiAttribution.stepCount == INTEGER
    input.Body.labels.STRING == STRING
    input.Body.metadata == ANY
    input.Body.metadataSchemaUri == STRING
    input.Body.name == STRING
    input.Body.pipelineJob == STRING
    input.Body.predictSchemata.instanceSchemaUri == STRING
    input.Body.predictSchemata.parametersSchemaUri == STRING
    input.Body.predictSchemata.predictionSchemaUri == STRING
    input.Body.versionAliases[_] == STRING
    input.Body.versionDescription == STRING
    input.ReqMap.name == STRING
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.locations.models.setIamPolicy

valid {
    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.ReqMap.resource == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.locations.models.testIamPermissions

valid {
    input.ReqMap.resource == STRING
    input.Qs.permissions == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.locations.models.updateExplanationDataset

enum_GoogleCloudAiplatformV1ExamplesExampleGcsSourceDataFormat := [ "DATA_FORMAT_UNSPECIFIED", "JSONL" ]
enum_GoogleCloudAiplatformV1PresetsModality := [ "MODALITY_UNSPECIFIED", "IMAGE", "TEXT", "TABULAR" ]
enum_GoogleCloudAiplatformV1PresetsQuery := [ "PRECISE", "FAST" ]

valid {
    input.Body.examples.exampleGcsSource.dataFormat == enum_GoogleCloudAiplatformV1ExamplesExampleGcsSourceDataFormat[_]
    input.Body.examples.exampleGcsSource.gcsSource.uris[_] == STRING
    input.Body.examples.nearestNeighborSearchConfig == ANY
    input.Body.examples.neighborCount == INTEGER
    input.Body.examples.presets.modality == enum_GoogleCloudAiplatformV1PresetsModality[_]
    input.Body.examples.presets.query == enum_GoogleCloudAiplatformV1PresetsQuery[_]
    input.ReqMap.model == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.locations.models.upload

enum_GoogleCloudAiplatformV1ExamplesExampleGcsSourceDataFormat := [ "DATA_FORMAT_UNSPECIFIED", "JSONL" ]
enum_GoogleCloudAiplatformV1ExplanationMetadataInputMetadataEncoding := [ "ENCODING_UNSPECIFIED", "IDENTITY", "BAG_OF_FEATURES", "BAG_OF_FEATURES_SPARSE", "INDICATOR", "COMBINED_EMBEDDING", "CONCAT_EMBEDDING" ]
enum_GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMap := [ "COLOR_MAP_UNSPECIFIED", "PINK_GREEN", "VIRIDIS", "RED", "GREEN", "RED_GREEN", "PINK_WHITE_GREEN" ]
enum_GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOverlayType := [ "OVERLAY_TYPE_UNSPECIFIED", "NONE", "ORIGINAL", "GRAYSCALE", "MASK_BLACK" ]
enum_GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPolarity := [ "POLARITY_UNSPECIFIED", "POSITIVE", "NEGATIVE", "BOTH" ]
enum_GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationType := [ "TYPE_UNSPECIFIED", "PIXELS", "OUTLINES" ]
enum_GoogleCloudAiplatformV1PresetsModality := [ "MODALITY_UNSPECIFIED", "IMAGE", "TEXT", "TABULAR" ]
enum_GoogleCloudAiplatformV1PresetsQuery := [ "PRECISE", "FAST" ]

valid {
    input.Body.model.artifactUri == STRING
    input.Body.model.baseModelSource.genieSource.baseModelUri == STRING
    input.Body.model.baseModelSource.modelGardenSource.publicModelName == STRING
    input.Body.model.containerSpec.args[_] == STRING
    input.Body.model.containerSpec.command[_] == STRING
    input.Body.model.containerSpec.deploymentTimeout == STRING
    input.Body.model.containerSpec.env[_].name == STRING
    input.Body.model.containerSpec.env[_].value == STRING
    input.Body.model.containerSpec.grpcPorts[_].containerPort == INTEGER
    input.Body.model.containerSpec.healthProbe.exec.command[_] == STRING
    input.Body.model.containerSpec.healthProbe.periodSeconds == INTEGER
    input.Body.model.containerSpec.healthProbe.timeoutSeconds == INTEGER
    input.Body.model.containerSpec.healthRoute == STRING
    input.Body.model.containerSpec.imageUri == STRING
    input.Body.model.containerSpec.ports[_].containerPort == INTEGER
    input.Body.model.containerSpec.predictRoute == STRING
    input.Body.model.containerSpec.sharedMemorySizeMb == STRING
    input.Body.model.containerSpec.startupProbe.exec.command[_] == STRING
    input.Body.model.containerSpec.startupProbe.periodSeconds == INTEGER
    input.Body.model.containerSpec.startupProbe.timeoutSeconds == INTEGER
    input.Body.model.dataStats.testAnnotationsCount == STRING
    input.Body.model.dataStats.testDataItemsCount == STRING
    input.Body.model.dataStats.trainingAnnotationsCount == STRING
    input.Body.model.dataStats.trainingDataItemsCount == STRING
    input.Body.model.dataStats.validationAnnotationsCount == STRING
    input.Body.model.dataStats.validationDataItemsCount == STRING
    input.Body.model.description == STRING
    input.Body.model.displayName == STRING
    input.Body.model.encryptionSpec.kmsKeyName == STRING
    input.Body.model.etag == STRING
    input.Body.model.explanationSpec.metadata.featureAttributionsSchemaUri == STRING
    input.Body.model.explanationSpec.metadata.inputs.STRING.denseShapeTensorName == STRING
    input.Body.model.explanationSpec.metadata.inputs.STRING.encodedBaselines[_] == ANY
    input.Body.model.explanationSpec.metadata.inputs.STRING.encodedTensorName == STRING
    input.Body.model.explanationSpec.metadata.inputs.STRING.encoding == enum_GoogleCloudAiplatformV1ExplanationMetadataInputMetadataEncoding[_]
    input.Body.model.explanationSpec.metadata.inputs.STRING.featureValueDomain.maxValue == NUMBER
    input.Body.model.explanationSpec.metadata.inputs.STRING.featureValueDomain.minValue == NUMBER
    input.Body.model.explanationSpec.metadata.inputs.STRING.featureValueDomain.originalMean == NUMBER
    input.Body.model.explanationSpec.metadata.inputs.STRING.featureValueDomain.originalStddev == NUMBER
    input.Body.model.explanationSpec.metadata.inputs.STRING.groupName == STRING
    input.Body.model.explanationSpec.metadata.inputs.STRING.indexFeatureMapping[_] == STRING
    input.Body.model.explanationSpec.metadata.inputs.STRING.indicesTensorName == STRING
    input.Body.model.explanationSpec.metadata.inputs.STRING.inputBaselines[_] == ANY
    input.Body.model.explanationSpec.metadata.inputs.STRING.inputTensorName == STRING
    input.Body.model.explanationSpec.metadata.inputs.STRING.modality == STRING
    input.Body.model.explanationSpec.metadata.inputs.STRING.visualization.clipPercentLowerbound == NUMBER
    input.Body.model.explanationSpec.metadata.inputs.STRING.visualization.clipPercentUpperbound == NUMBER
    input.Body.model.explanationSpec.metadata.inputs.STRING.visualization.colorMap == enum_GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMap[_]
    input.Body.model.explanationSpec.metadata.inputs.STRING.visualization.overlayType == enum_GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOverlayType[_]
    input.Body.model.explanationSpec.metadata.inputs.STRING.visualization.polarity == enum_GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPolarity[_]
    input.Body.model.explanationSpec.metadata.inputs.STRING.visualization.type == enum_GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationType[_]
    input.Body.model.explanationSpec.metadata.latentSpaceSource == STRING
    input.Body.model.explanationSpec.metadata.outputs.STRING.displayNameMappingKey == STRING
    input.Body.model.explanationSpec.metadata.outputs.STRING.indexDisplayNameMapping == ANY
    input.Body.model.explanationSpec.metadata.outputs.STRING.outputTensorName == STRING
    input.Body.model.explanationSpec.parameters.examples.exampleGcsSource.dataFormat == enum_GoogleCloudAiplatformV1ExamplesExampleGcsSourceDataFormat[_]
    input.Body.model.explanationSpec.parameters.examples.exampleGcsSource.gcsSource.uris[_] == STRING
    input.Body.model.explanationSpec.parameters.examples.nearestNeighborSearchConfig == ANY
    input.Body.model.explanationSpec.parameters.examples.neighborCount == INTEGER
    input.Body.model.explanationSpec.parameters.examples.presets.modality == enum_GoogleCloudAiplatformV1PresetsModality[_]
    input.Body.model.explanationSpec.parameters.examples.presets.query == enum_GoogleCloudAiplatformV1PresetsQuery[_]
    input.Body.model.explanationSpec.parameters.integratedGradientsAttribution.blurBaselineConfig.maxBlurSigma == NUMBER
    input.Body.model.explanationSpec.parameters.integratedGradientsAttribution.smoothGradConfig.featureNoiseSigma.noiseSigma[_].name == STRING
    input.Body.model.explanationSpec.parameters.integratedGradientsAttribution.smoothGradConfig.featureNoiseSigma.noiseSigma[_].sigma == NUMBER
    input.Body.model.explanationSpec.parameters.integratedGradientsAttribution.smoothGradConfig.noiseSigma == NUMBER
    input.Body.model.explanationSpec.parameters.integratedGradientsAttribution.smoothGradConfig.noisySampleCount == INTEGER
    input.Body.model.explanationSpec.parameters.integratedGradientsAttribution.stepCount == INTEGER
    input.Body.model.explanationSpec.parameters.outputIndices[_] == ANY
    input.Body.model.explanationSpec.parameters.sampledShapleyAttribution.pathCount == INTEGER
    input.Body.model.explanationSpec.parameters.topK == INTEGER
    input.Body.model.explanationSpec.parameters.xraiAttribution.blurBaselineConfig.maxBlurSigma == NUMBER
    input.Body.model.explanationSpec.parameters.xraiAttribution.smoothGradConfig.featureNoiseSigma.noiseSigma[_].name == STRING
    input.Body.model.explanationSpec.parameters.xraiAttribution.smoothGradConfig.featureNoiseSigma.noiseSigma[_].sigma == NUMBER
    input.Body.model.explanationSpec.parameters.xraiAttribution.smoothGradConfig.noiseSigma == NUMBER
    input.Body.model.explanationSpec.parameters.xraiAttribution.smoothGradConfig.noisySampleCount == INTEGER
    input.Body.model.explanationSpec.parameters.xraiAttribution.stepCount == INTEGER
    input.Body.model.labels.STRING == STRING
    input.Body.model.metadata == ANY
    input.Body.model.metadataSchemaUri == STRING
    input.Body.model.name == STRING
    input.Body.model.pipelineJob == STRING
    input.Body.model.predictSchemata.instanceSchemaUri == STRING
    input.Body.model.predictSchemata.parametersSchemaUri == STRING
    input.Body.model.predictSchemata.predictionSchemaUri == STRING
    input.Body.model.versionAliases[_] == STRING
    input.Body.model.versionDescription == STRING
    input.Body.modelId == STRING
    input.Body.parentModel == STRING
    input.Body.serviceAccount == STRING
    input.ReqMap.parent == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.locations.nasJobs.cancel

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

aiplatform.projects.locations.nasJobs.create

enum_GoogleCloudAiplatformV1MachineSpecAcceleratorType := [ "ACCELERATOR_TYPE_UNSPECIFIED", "NVIDIA_TESLA_K80", "NVIDIA_TESLA_P100", "NVIDIA_TESLA_V100", "NVIDIA_TESLA_P4", "NVIDIA_TESLA_T4", "NVIDIA_TESLA_A100", "NVIDIA_A100_80GB", "NVIDIA_L4", "NVIDIA_H100_80GB", "TPU_V2", "TPU_V3", "TPU_V4_POD", "TPU_V5_LITEPOD" ]
enum_GoogleCloudAiplatformV1NasJobSpecMultiTrialAlgorithmSpecMetricSpecGoal := [ "GOAL_TYPE_UNSPECIFIED", "MAXIMIZE", "MINIMIZE" ]
enum_GoogleCloudAiplatformV1NasJobSpecMultiTrialAlgorithmSpecMultiTrialAlgorithm := [ "MULTI_TRIAL_ALGORITHM_UNSPECIFIED", "REINFORCEMENT_LEARNING", "GRID_SEARCH" ]
enum_GoogleCloudAiplatformV1ReservationAffinityReservationAffinityType := [ "TYPE_UNSPECIFIED", "NO_RESERVATION", "ANY_RESERVATION", "SPECIFIC_RESERVATION" ]
enum_GoogleCloudAiplatformV1SchedulingStrategy := [ "STRATEGY_UNSPECIFIED", "ON_DEMAND", "LOW_COST", "STANDARD", "SPOT", "FLEX_START" ]

valid {
    input.Body.displayName == STRING
    input.Body.enableRestrictedImageTraining == BOOLEAN
    input.Body.encryptionSpec.kmsKeyName == STRING
    input.Body.labels.STRING == STRING
    input.Body.nasJobSpec.multiTrialAlgorithmSpec.metric.goal == enum_GoogleCloudAiplatformV1NasJobSpecMultiTrialAlgorithmSpecMetricSpecGoal[_]
    input.Body.nasJobSpec.multiTrialAlgorithmSpec.metric.metricId == STRING
    input.Body.nasJobSpec.multiTrialAlgorithmSpec.multiTrialAlgorithm == enum_GoogleCloudAiplatformV1NasJobSpecMultiTrialAlgorithmSpecMultiTrialAlgorithm[_]
    input.Body.nasJobSpec.multiTrialAlgorithmSpec.searchTrialSpec.maxFailedTrialCount == INTEGER
    input.Body.nasJobSpec.multiTrialAlgorithmSpec.searchTrialSpec.maxParallelTrialCount == INTEGER
    input.Body.nasJobSpec.multiTrialAlgorithmSpec.searchTrialSpec.maxTrialCount == INTEGER
    input.Body.nasJobSpec.multiTrialAlgorithmSpec.searchTrialSpec.searchTrialJobSpec.baseOutputDirectory.outputUriPrefix == STRING
    input.Body.nasJobSpec.multiTrialAlgorithmSpec.searchTrialSpec.searchTrialJobSpec.enableDashboardAccess == BOOLEAN
    input.Body.nasJobSpec.multiTrialAlgorithmSpec.searchTrialSpec.searchTrialJobSpec.enableWebAccess == BOOLEAN
    input.Body.nasJobSpec.multiTrialAlgorithmSpec.searchTrialSpec.searchTrialJobSpec.experiment == STRING
    input.Body.nasJobSpec.multiTrialAlgorithmSpec.searchTrialSpec.searchTrialJobSpec.experimentRun == STRING
    input.Body.nasJobSpec.multiTrialAlgorithmSpec.searchTrialSpec.searchTrialJobSpec.models[_] == STRING
    input.Body.nasJobSpec.multiTrialAlgorithmSpec.searchTrialSpec.searchTrialJobSpec.network == STRING
    input.Body.nasJobSpec.multiTrialAlgorithmSpec.searchTrialSpec.searchTrialJobSpec.persistentResourceId == STRING
    input.Body.nasJobSpec.multiTrialAlgorithmSpec.searchTrialSpec.searchTrialJobSpec.protectedArtifactLocationId == STRING
    input.Body.nasJobSpec.multiTrialAlgorithmSpec.searchTrialSpec.searchTrialJobSpec.reservedIpRanges[_] == STRING
    input.Body.nasJobSpec.multiTrialAlgorithmSpec.searchTrialSpec.searchTrialJobSpec.scheduling.disableRetries == BOOLEAN
    input.Body.nasJobSpec.multiTrialAlgorithmSpec.searchTrialSpec.searchTrialJobSpec.scheduling.maxWaitDuration == STRING
    input.Body.nasJobSpec.multiTrialAlgorithmSpec.searchTrialSpec.searchTrialJobSpec.scheduling.restartJobOnWorkerRestart == BOOLEAN
    input.Body.nasJobSpec.multiTrialAlgorithmSpec.searchTrialSpec.searchTrialJobSpec.scheduling.strategy == enum_GoogleCloudAiplatformV1SchedulingStrategy[_]
    input.Body.nasJobSpec.multiTrialAlgorithmSpec.searchTrialSpec.searchTrialJobSpec.scheduling.timeout == STRING
    input.Body.nasJobSpec.multiTrialAlgorithmSpec.searchTrialSpec.searchTrialJobSpec.serviceAccount == STRING
    input.Body.nasJobSpec.multiTrialAlgorithmSpec.searchTrialSpec.searchTrialJobSpec.tensorboard == STRING
    input.Body.nasJobSpec.multiTrialAlgorithmSpec.searchTrialSpec.searchTrialJobSpec.workerPoolSpecs[_].containerSpec.args[_] == STRING
    input.Body.nasJobSpec.multiTrialAlgorithmSpec.searchTrialSpec.searchTrialJobSpec.workerPoolSpecs[_].containerSpec.command[_] == STRING
    input.Body.nasJobSpec.multiTrialAlgorithmSpec.searchTrialSpec.searchTrialJobSpec.workerPoolSpecs[_].containerSpec.env[_].name == STRING
    input.Body.nasJobSpec.multiTrialAlgorithmSpec.searchTrialSpec.searchTrialJobSpec.workerPoolSpecs[_].containerSpec.env[_].value == STRING
    input.Body.nasJobSpec.multiTrialAlgorithmSpec.searchTrialSpec.searchTrialJobSpec.workerPoolSpecs[_].containerSpec.imageUri == STRING
    input.Body.nasJobSpec.multiTrialAlgorithmSpec.searchTrialSpec.searchTrialJobSpec.workerPoolSpecs[_].diskSpec.bootDiskSizeGb == INTEGER
    input.Body.nasJobSpec.multiTrialAlgorithmSpec.searchTrialSpec.searchTrialJobSpec.workerPoolSpecs[_].diskSpec.bootDiskType == STRING
    input.Body.nasJobSpec.multiTrialAlgorithmSpec.searchTrialSpec.searchTrialJobSpec.workerPoolSpecs[_].machineSpec.acceleratorCount == INTEGER
    input.Body.nasJobSpec.multiTrialAlgorithmSpec.searchTrialSpec.searchTrialJobSpec.workerPoolSpecs[_].machineSpec.acceleratorType == enum_GoogleCloudAiplatformV1MachineSpecAcceleratorType[_]
    input.Body.nasJobSpec.multiTrialAlgorithmSpec.searchTrialSpec.searchTrialJobSpec.workerPoolSpecs[_].machineSpec.machineType == STRING
    input.Body.nasJobSpec.multiTrialAlgorithmSpec.searchTrialSpec.searchTrialJobSpec.workerPoolSpecs[_].machineSpec.reservationAffinity.key == STRING
    input.Body.nasJobSpec.multiTrialAlgorithmSpec.searchTrialSpec.searchTrialJobSpec.workerPoolSpecs[_].machineSpec.reservationAffinity.reservationAffinityType == enum_GoogleCloudAiplatformV1ReservationAffinityReservationAffinityType[_]
    input.Body.nasJobSpec.multiTrialAlgorithmSpec.searchTrialSpec.searchTrialJobSpec.workerPoolSpecs[_].machineSpec.reservationAffinity.values[_] == STRING
    input.Body.nasJobSpec.multiTrialAlgorithmSpec.searchTrialSpec.searchTrialJobSpec.workerPoolSpecs[_].machineSpec.tpuTopology == STRING
    input.Body.nasJobSpec.multiTrialAlgorithmSpec.searchTrialSpec.searchTrialJobSpec.workerPoolSpecs[_].nfsMounts[_].mountPoint == STRING
    input.Body.nasJobSpec.multiTrialAlgorithmSpec.searchTrialSpec.searchTrialJobSpec.workerPoolSpecs[_].nfsMounts[_].path == STRING
    input.Body.nasJobSpec.multiTrialAlgorithmSpec.searchTrialSpec.searchTrialJobSpec.workerPoolSpecs[_].nfsMounts[_].server == STRING
    input.Body.nasJobSpec.multiTrialAlgorithmSpec.searchTrialSpec.searchTrialJobSpec.workerPoolSpecs[_].pythonPackageSpec.args[_] == STRING
    input.Body.nasJobSpec.multiTrialAlgorithmSpec.searchTrialSpec.searchTrialJobSpec.workerPoolSpecs[_].pythonPackageSpec.env[_].name == STRING
    input.Body.nasJobSpec.multiTrialAlgorithmSpec.searchTrialSpec.searchTrialJobSpec.workerPoolSpecs[_].pythonPackageSpec.env[_].value == STRING
    input.Body.nasJobSpec.multiTrialAlgorithmSpec.searchTrialSpec.searchTrialJobSpec.workerPoolSpecs[_].pythonPackageSpec.executorImageUri == STRING
    input.Body.nasJobSpec.multiTrialAlgorithmSpec.searchTrialSpec.searchTrialJobSpec.workerPoolSpecs[_].pythonPackageSpec.packageUris[_] == STRING
    input.Body.nasJobSpec.multiTrialAlgorithmSpec.searchTrialSpec.searchTrialJobSpec.workerPoolSpecs[_].pythonPackageSpec.pythonModule == STRING
    input.Body.nasJobSpec.multiTrialAlgorithmSpec.searchTrialSpec.searchTrialJobSpec.workerPoolSpecs[_].replicaCount == STRING
    input.Body.nasJobSpec.multiTrialAlgorithmSpec.trainTrialSpec.frequency == INTEGER
    input.Body.nasJobSpec.multiTrialAlgorithmSpec.trainTrialSpec.maxParallelTrialCount == INTEGER
    input.Body.nasJobSpec.multiTrialAlgorithmSpec.trainTrialSpec.trainTrialJobSpec.baseOutputDirectory.outputUriPrefix == STRING
    input.Body.nasJobSpec.multiTrialAlgorithmSpec.trainTrialSpec.trainTrialJobSpec.enableDashboardAccess == BOOLEAN
    input.Body.nasJobSpec.multiTrialAlgorithmSpec.trainTrialSpec.trainTrialJobSpec.enableWebAccess == BOOLEAN
    input.Body.nasJobSpec.multiTrialAlgorithmSpec.trainTrialSpec.trainTrialJobSpec.experiment == STRING
    input.Body.nasJobSpec.multiTrialAlgorithmSpec.trainTrialSpec.trainTrialJobSpec.experimentRun == STRING
    input.Body.nasJobSpec.multiTrialAlgorithmSpec.trainTrialSpec.trainTrialJobSpec.models[_] == STRING
    input.Body.nasJobSpec.multiTrialAlgorithmSpec.trainTrialSpec.trainTrialJobSpec.network == STRING
    input.Body.nasJobSpec.multiTrialAlgorithmSpec.trainTrialSpec.trainTrialJobSpec.persistentResourceId == STRING
    input.Body.nasJobSpec.multiTrialAlgorithmSpec.trainTrialSpec.trainTrialJobSpec.protectedArtifactLocationId == STRING
    input.Body.nasJobSpec.multiTrialAlgorithmSpec.trainTrialSpec.trainTrialJobSpec.reservedIpRanges[_] == STRING
    input.Body.nasJobSpec.multiTrialAlgorithmSpec.trainTrialSpec.trainTrialJobSpec.scheduling.disableRetries == BOOLEAN
    input.Body.nasJobSpec.multiTrialAlgorithmSpec.trainTrialSpec.trainTrialJobSpec.scheduling.maxWaitDuration == STRING
    input.Body.nasJobSpec.multiTrialAlgorithmSpec.trainTrialSpec.trainTrialJobSpec.scheduling.restartJobOnWorkerRestart == BOOLEAN
    input.Body.nasJobSpec.multiTrialAlgorithmSpec.trainTrialSpec.trainTrialJobSpec.scheduling.strategy == enum_GoogleCloudAiplatformV1SchedulingStrategy[_]
    input.Body.nasJobSpec.multiTrialAlgorithmSpec.trainTrialSpec.trainTrialJobSpec.scheduling.timeout == STRING
    input.Body.nasJobSpec.multiTrialAlgorithmSpec.trainTrialSpec.trainTrialJobSpec.serviceAccount == STRING
    input.Body.nasJobSpec.multiTrialAlgorithmSpec.trainTrialSpec.trainTrialJobSpec.tensorboard == STRING
    input.Body.nasJobSpec.multiTrialAlgorithmSpec.trainTrialSpec.trainTrialJobSpec.workerPoolSpecs[_].containerSpec.args[_] == STRING
    input.Body.nasJobSpec.multiTrialAlgorithmSpec.trainTrialSpec.trainTrialJobSpec.workerPoolSpecs[_].containerSpec.command[_] == STRING
    input.Body.nasJobSpec.multiTrialAlgorithmSpec.trainTrialSpec.trainTrialJobSpec.workerPoolSpecs[_].containerSpec.env[_].name == STRING
    input.Body.nasJobSpec.multiTrialAlgorithmSpec.trainTrialSpec.trainTrialJobSpec.workerPoolSpecs[_].containerSpec.env[_].value == STRING
    input.Body.nasJobSpec.multiTrialAlgorithmSpec.trainTrialSpec.trainTrialJobSpec.workerPoolSpecs[_].containerSpec.imageUri == STRING
    input.Body.nasJobSpec.multiTrialAlgorithmSpec.trainTrialSpec.trainTrialJobSpec.workerPoolSpecs[_].diskSpec.bootDiskSizeGb == INTEGER
    input.Body.nasJobSpec.multiTrialAlgorithmSpec.trainTrialSpec.trainTrialJobSpec.workerPoolSpecs[_].diskSpec.bootDiskType == STRING
    input.Body.nasJobSpec.multiTrialAlgorithmSpec.trainTrialSpec.trainTrialJobSpec.workerPoolSpecs[_].machineSpec.acceleratorCount == INTEGER
    input.Body.nasJobSpec.multiTrialAlgorithmSpec.trainTrialSpec.trainTrialJobSpec.workerPoolSpecs[_].machineSpec.acceleratorType == enum_GoogleCloudAiplatformV1MachineSpecAcceleratorType[_]
    input.Body.nasJobSpec.multiTrialAlgorithmSpec.trainTrialSpec.trainTrialJobSpec.workerPoolSpecs[_].machineSpec.machineType == STRING
    input.Body.nasJobSpec.multiTrialAlgorithmSpec.trainTrialSpec.trainTrialJobSpec.workerPoolSpecs[_].machineSpec.reservationAffinity.key == STRING
    input.Body.nasJobSpec.multiTrialAlgorithmSpec.trainTrialSpec.trainTrialJobSpec.workerPoolSpecs[_].machineSpec.reservationAffinity.reservationAffinityType == enum_GoogleCloudAiplatformV1ReservationAffinityReservationAffinityType[_]
    input.Body.nasJobSpec.multiTrialAlgorithmSpec.trainTrialSpec.trainTrialJobSpec.workerPoolSpecs[_].machineSpec.reservationAffinity.values[_] == STRING
    input.Body.nasJobSpec.multiTrialAlgorithmSpec.trainTrialSpec.trainTrialJobSpec.workerPoolSpecs[_].machineSpec.tpuTopology == STRING
    input.Body.nasJobSpec.multiTrialAlgorithmSpec.trainTrialSpec.trainTrialJobSpec.workerPoolSpecs[_].nfsMounts[_].mountPoint == STRING
    input.Body.nasJobSpec.multiTrialAlgorithmSpec.trainTrialSpec.trainTrialJobSpec.workerPoolSpecs[_].nfsMounts[_].path == STRING
    input.Body.nasJobSpec.multiTrialAlgorithmSpec.trainTrialSpec.trainTrialJobSpec.workerPoolSpecs[_].nfsMounts[_].server == STRING
    input.Body.nasJobSpec.multiTrialAlgorithmSpec.trainTrialSpec.trainTrialJobSpec.workerPoolSpecs[_].pythonPackageSpec.args[_] == STRING
    input.Body.nasJobSpec.multiTrialAlgorithmSpec.trainTrialSpec.trainTrialJobSpec.workerPoolSpecs[_].pythonPackageSpec.env[_].name == STRING
    input.Body.nasJobSpec.multiTrialAlgorithmSpec.trainTrialSpec.trainTrialJobSpec.workerPoolSpecs[_].pythonPackageSpec.env[_].value == STRING
    input.Body.nasJobSpec.multiTrialAlgorithmSpec.trainTrialSpec.trainTrialJobSpec.workerPoolSpecs[_].pythonPackageSpec.executorImageUri == STRING
    input.Body.nasJobSpec.multiTrialAlgorithmSpec.trainTrialSpec.trainTrialJobSpec.workerPoolSpecs[_].pythonPackageSpec.packageUris[_] == STRING
    input.Body.nasJobSpec.multiTrialAlgorithmSpec.trainTrialSpec.trainTrialJobSpec.workerPoolSpecs[_].pythonPackageSpec.pythonModule == STRING
    input.Body.nasJobSpec.multiTrialAlgorithmSpec.trainTrialSpec.trainTrialJobSpec.workerPoolSpecs[_].replicaCount == STRING
    input.Body.nasJobSpec.resumeNasJobId == STRING
    input.Body.nasJobSpec.searchSpaceSpec == STRING
    input.ReqMap.parent == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.locations.nasJobs.delete

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

aiplatform.projects.locations.nasJobs.get

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

aiplatform.projects.locations.nasJobs.list

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

aiplatform.projects.locations.nasJobs.nasTrialDetails.get

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

aiplatform.projects.locations.nasJobs.nasTrialDetails.list

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

aiplatform.projects.locations.notebookExecutionJobs.create

enum_GoogleCloudAiplatformV1MachineSpecAcceleratorType := [ "ACCELERATOR_TYPE_UNSPECIFIED", "NVIDIA_TESLA_K80", "NVIDIA_TESLA_P100", "NVIDIA_TESLA_V100", "NVIDIA_TESLA_P4", "NVIDIA_TESLA_T4", "NVIDIA_TESLA_A100", "NVIDIA_A100_80GB", "NVIDIA_L4", "NVIDIA_H100_80GB", "TPU_V2", "TPU_V3", "TPU_V4_POD", "TPU_V5_LITEPOD" ]
enum_GoogleCloudAiplatformV1ReservationAffinityReservationAffinityType := [ "TYPE_UNSPECIFIED", "NO_RESERVATION", "ANY_RESERVATION", "SPECIFIC_RESERVATION" ]

valid {
    input.Body.customEnvironmentSpec.machineSpec.acceleratorCount == INTEGER
    input.Body.customEnvironmentSpec.machineSpec.acceleratorType == enum_GoogleCloudAiplatformV1MachineSpecAcceleratorType[_]
    input.Body.customEnvironmentSpec.machineSpec.machineType == STRING
    input.Body.customEnvironmentSpec.machineSpec.reservationAffinity.key == STRING
    input.Body.customEnvironmentSpec.machineSpec.reservationAffinity.reservationAffinityType == enum_GoogleCloudAiplatformV1ReservationAffinityReservationAffinityType[_]
    input.Body.customEnvironmentSpec.machineSpec.reservationAffinity.values[_] == STRING
    input.Body.customEnvironmentSpec.machineSpec.tpuTopology == STRING
    input.Body.customEnvironmentSpec.networkSpec.enableInternetAccess == BOOLEAN
    input.Body.customEnvironmentSpec.networkSpec.network == STRING
    input.Body.customEnvironmentSpec.networkSpec.subnetwork == STRING
    input.Body.customEnvironmentSpec.persistentDiskSpec.diskSizeGb == STRING
    input.Body.customEnvironmentSpec.persistentDiskSpec.diskType == STRING
    input.Body.dataformRepositorySource.commitSha == STRING
    input.Body.dataformRepositorySource.dataformRepositoryResourceName == STRING
    input.Body.directNotebookSource.content == STRING
    input.Body.displayName == STRING
    input.Body.encryptionSpec.kmsKeyName == STRING
    input.Body.executionTimeout == STRING
    input.Body.executionUser == STRING
    input.Body.gcsNotebookSource.generation == STRING
    input.Body.gcsNotebookSource.uri == STRING
    input.Body.gcsOutputUri == STRING
    input.Body.kernelName == STRING
    input.Body.labels.STRING == STRING
    input.Body.notebookRuntimeTemplateResourceName == STRING
    input.Body.serviceAccount == STRING
    input.Body.workbenchRuntime.STRING == STRING
    input.ReqMap.parent == STRING
    input.Qs.notebookExecutionJobId == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.locations.notebookExecutionJobs.delete

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

aiplatform.projects.locations.notebookExecutionJobs.generateAccessToken

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

aiplatform.projects.locations.notebookExecutionJobs.get

enum_ViewParameter := [ "NOTEBOOK_EXECUTION_JOB_VIEW_UNSPECIFIED", "NOTEBOOK_EXECUTION_JOB_VIEW_BASIC", "NOTEBOOK_EXECUTION_JOB_VIEW_FULL" ]

valid {
    input.ReqMap.name == STRING
    input.Qs.view == enum_ViewParameter[_]
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.locations.notebookExecutionJobs.list

enum_ViewParameter := [ "NOTEBOOK_EXECUTION_JOB_VIEW_UNSPECIFIED", "NOTEBOOK_EXECUTION_JOB_VIEW_BASIC", "NOTEBOOK_EXECUTION_JOB_VIEW_FULL" ]

valid {
    input.ReqMap.parent == STRING
    input.Qs.filter == STRING
    input.Qs.orderBy == STRING
    input.Qs.pageSize == INTEGER
    input.Qs.pageToken == STRING
    input.Qs.view == enum_ViewParameter[_]
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.locations.notebookExecutionJobs.operations.cancel

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

aiplatform.projects.locations.notebookExecutionJobs.operations.delete

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

aiplatform.projects.locations.notebookExecutionJobs.operations.get

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

aiplatform.projects.locations.notebookExecutionJobs.operations.list

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

aiplatform.projects.locations.notebookExecutionJobs.operations.wait

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

aiplatform.projects.locations.notebookExecutionJobs.reportEvent

enum_GoogleCloudAiplatformV1beta1ReportExecutionEventRequestEventType := [ "EVENT_TYPE_UNSPECIFIED", "ACTIVE", "DONE", "FAILED" ]

valid {
    input.Body.eventType == enum_GoogleCloudAiplatformV1beta1ReportExecutionEventRequestEventType[_]
    input.Body.status.code == INTEGER
    input.Body.status.details[_].STRING == ANY
    input.Body.status.message == STRING
    input.Body.vmToken == STRING
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.locations.notebookRuntimeTemplates.create

enum_GoogleCloudAiplatformV1MachineSpecAcceleratorType := [ "ACCELERATOR_TYPE_UNSPECIFIED", "NVIDIA_TESLA_K80", "NVIDIA_TESLA_P100", "NVIDIA_TESLA_V100", "NVIDIA_TESLA_P4", "NVIDIA_TESLA_T4", "NVIDIA_TESLA_A100", "NVIDIA_A100_80GB", "NVIDIA_L4", "NVIDIA_H100_80GB", "TPU_V2", "TPU_V3", "TPU_V4_POD", "TPU_V5_LITEPOD" ]
enum_GoogleCloudAiplatformV1NotebookRuntimeTemplateNotebookRuntimeType := [ "NOTEBOOK_RUNTIME_TYPE_UNSPECIFIED", "USER_DEFINED", "ONE_CLICK" ]
enum_GoogleCloudAiplatformV1ReservationAffinityReservationAffinityType := [ "TYPE_UNSPECIFIED", "NO_RESERVATION", "ANY_RESERVATION", "SPECIFIC_RESERVATION" ]

valid {
    input.Body.dataPersistentDiskSpec.diskSizeGb == STRING
    input.Body.dataPersistentDiskSpec.diskType == STRING
    input.Body.description == STRING
    input.Body.displayName == STRING
    input.Body.encryptionSpec.kmsKeyName == STRING
    input.Body.etag == STRING
    input.Body.eucConfig.eucDisabled == BOOLEAN
    input.Body.idleShutdownConfig.idleShutdownDisabled == BOOLEAN
    input.Body.idleShutdownConfig.idleTimeout == STRING
    input.Body.labels.STRING == STRING
    input.Body.machineSpec.acceleratorCount == INTEGER
    input.Body.machineSpec.acceleratorType == enum_GoogleCloudAiplatformV1MachineSpecAcceleratorType[_]
    input.Body.machineSpec.machineType == STRING
    input.Body.machineSpec.reservationAffinity.key == STRING
    input.Body.machineSpec.reservationAffinity.reservationAffinityType == enum_GoogleCloudAiplatformV1ReservationAffinityReservationAffinityType[_]
    input.Body.machineSpec.reservationAffinity.values[_] == STRING
    input.Body.machineSpec.tpuTopology == STRING
    input.Body.name == STRING
    input.Body.networkSpec.enableInternetAccess == BOOLEAN
    input.Body.networkSpec.network == STRING
    input.Body.networkSpec.subnetwork == STRING
    input.Body.networkTags[_] == STRING
    input.Body.notebookRuntimeType == enum_GoogleCloudAiplatformV1NotebookRuntimeTemplateNotebookRuntimeType[_]
    input.Body.serviceAccount == STRING
    input.Body.shieldedVmConfig.enableSecureBoot == BOOLEAN
    input.ReqMap.parent == STRING
    input.Qs.notebookRuntimeTemplateId == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.locations.notebookRuntimeTemplates.delete

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

aiplatform.projects.locations.notebookRuntimeTemplates.get

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

aiplatform.projects.locations.notebookRuntimeTemplates.getIamPolicy

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

aiplatform.projects.locations.notebookRuntimeTemplates.list

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

aiplatform.projects.locations.notebookRuntimeTemplates.operations.cancel

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

aiplatform.projects.locations.notebookRuntimeTemplates.operations.delete

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

aiplatform.projects.locations.notebookRuntimeTemplates.operations.get

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

aiplatform.projects.locations.notebookRuntimeTemplates.operations.list

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

aiplatform.projects.locations.notebookRuntimeTemplates.operations.wait

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

aiplatform.projects.locations.notebookRuntimeTemplates.patch

enum_GoogleCloudAiplatformV1MachineSpecAcceleratorType := [ "ACCELERATOR_TYPE_UNSPECIFIED", "NVIDIA_TESLA_K80", "NVIDIA_TESLA_P100", "NVIDIA_TESLA_V100", "NVIDIA_TESLA_P4", "NVIDIA_TESLA_T4", "NVIDIA_TESLA_A100", "NVIDIA_A100_80GB", "NVIDIA_L4", "NVIDIA_H100_80GB", "TPU_V2", "TPU_V3", "TPU_V4_POD", "TPU_V5_LITEPOD" ]
enum_GoogleCloudAiplatformV1NotebookRuntimeTemplateNotebookRuntimeType := [ "NOTEBOOK_RUNTIME_TYPE_UNSPECIFIED", "USER_DEFINED", "ONE_CLICK" ]
enum_GoogleCloudAiplatformV1ReservationAffinityReservationAffinityType := [ "TYPE_UNSPECIFIED", "NO_RESERVATION", "ANY_RESERVATION", "SPECIFIC_RESERVATION" ]

valid {
    input.Body.dataPersistentDiskSpec.diskSizeGb == STRING
    input.Body.dataPersistentDiskSpec.diskType == STRING
    input.Body.description == STRING
    input.Body.displayName == STRING
    input.Body.encryptionSpec.kmsKeyName == STRING
    input.Body.etag == STRING
    input.Body.eucConfig.eucDisabled == BOOLEAN
    input.Body.idleShutdownConfig.idleShutdownDisabled == BOOLEAN
    input.Body.idleShutdownConfig.idleTimeout == STRING
    input.Body.labels.STRING == STRING
    input.Body.machineSpec.acceleratorCount == INTEGER
    input.Body.machineSpec.acceleratorType == enum_GoogleCloudAiplatformV1MachineSpecAcceleratorType[_]
    input.Body.machineSpec.machineType == STRING
    input.Body.machineSpec.reservationAffinity.key == STRING
    input.Body.machineSpec.reservationAffinity.reservationAffinityType == enum_GoogleCloudAiplatformV1ReservationAffinityReservationAffinityType[_]
    input.Body.machineSpec.reservationAffinity.values[_] == STRING
    input.Body.machineSpec.tpuTopology == STRING
    input.Body.name == STRING
    input.Body.networkSpec.enableInternetAccess == BOOLEAN
    input.Body.networkSpec.network == STRING
    input.Body.networkSpec.subnetwork == STRING
    input.Body.networkTags[_] == STRING
    input.Body.notebookRuntimeType == enum_GoogleCloudAiplatformV1NotebookRuntimeTemplateNotebookRuntimeType[_]
    input.Body.serviceAccount == STRING
    input.Body.shieldedVmConfig.enableSecureBoot == BOOLEAN
    input.ReqMap.name == STRING
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.locations.notebookRuntimeTemplates.setIamPolicy

valid {
    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.ReqMap.resource == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.locations.notebookRuntimeTemplates.testIamPermissions

valid {
    input.ReqMap.resource == STRING
    input.Qs.permissions == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.locations.notebookRuntimes.assign

valid {
    input.Body.notebookRuntime.description == STRING
    input.Body.notebookRuntime.displayName == STRING
    input.Body.notebookRuntime.labels.STRING == STRING
    input.Body.notebookRuntime.networkTags[_] == STRING
    input.Body.notebookRuntime.runtimeUser == STRING
    input.Body.notebookRuntimeId == STRING
    input.Body.notebookRuntimeTemplate == STRING
    input.ReqMap.parent == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.locations.notebookRuntimes.delete

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

aiplatform.projects.locations.notebookRuntimes.generateAccessToken

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

aiplatform.projects.locations.notebookRuntimes.get

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

aiplatform.projects.locations.notebookRuntimes.list

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

aiplatform.projects.locations.notebookRuntimes.operations.cancel

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

aiplatform.projects.locations.notebookRuntimes.operations.delete

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

aiplatform.projects.locations.notebookRuntimes.operations.get

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

aiplatform.projects.locations.notebookRuntimes.operations.list

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

aiplatform.projects.locations.notebookRuntimes.operations.wait

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

aiplatform.projects.locations.notebookRuntimes.reportEvent

enum_GoogleCloudAiplatformV1beta1InternalOsServiceStateInstanceServiceName := [ "INTERNAL_OS_SERVICE_ENUM_UNSPECIFIED", "DOCKER_SERVICE_STATE", "CONTROL_PLANE_API_DNS_STATE", "PROXY_REGISTRATION_DNS_STATE", "JUPYTER_STATE", "JUPYTER_API_STATE", "EUC_METADATA_API_STATE", "EUC_AGENT_API_STATE", "IDLE_SHUTDOWN_AGENT_STATE", "PROXY_AGENT_STATE", "GCR_DNS_STATE", "GUEST_ATTRIBUTE_STATE" ]
enum_GoogleCloudAiplatformV1beta1InternalOsServiceStateInstanceServiceState := [ "UNKNOWN", "HEALTHY", "UNHEALTHY" ]
enum_GoogleCloudAiplatformV1beta1ReportRuntimeEventRequestEventType := [ "EVENT_TYPE_UNSPECIFIED", "HEARTBEAT", "IDLE" ]

valid {
    input.Body.eventDetails.STRING == STRING
    input.Body.eventType == enum_GoogleCloudAiplatformV1beta1ReportRuntimeEventRequestEventType[_]
    input.Body.internalOsServiceStateInstance[_].serviceName == enum_GoogleCloudAiplatformV1beta1InternalOsServiceStateInstanceServiceName[_]
    input.Body.internalOsServiceStateInstance[_].serviceState == enum_GoogleCloudAiplatformV1beta1InternalOsServiceStateInstanceServiceState[_]
    input.Body.internalOsServiceStateInstances[_].serviceName == enum_GoogleCloudAiplatformV1beta1InternalOsServiceStateInstanceServiceName[_]
    input.Body.internalOsServiceStateInstances[_].serviceState == enum_GoogleCloudAiplatformV1beta1InternalOsServiceStateInstanceServiceState[_]
    input.Body.vmToken == STRING
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.locations.notebookRuntimes.start

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

aiplatform.projects.locations.notebookRuntimes.stop

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

aiplatform.projects.locations.notebookRuntimes.upgrade

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

aiplatform.projects.locations.operations.cancel

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

aiplatform.projects.locations.operations.delete

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

aiplatform.projects.locations.operations.get

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

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

aiplatform.projects.locations.operations.wait

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

aiplatform.projects.locations.persistentResources.create

enum_GoogleCloudAiplatformV1MachineSpecAcceleratorType := [ "ACCELERATOR_TYPE_UNSPECIFIED", "NVIDIA_TESLA_K80", "NVIDIA_TESLA_P100", "NVIDIA_TESLA_V100", "NVIDIA_TESLA_P4", "NVIDIA_TESLA_T4", "NVIDIA_TESLA_A100", "NVIDIA_A100_80GB", "NVIDIA_L4", "NVIDIA_H100_80GB", "TPU_V2", "TPU_V3", "TPU_V4_POD", "TPU_V5_LITEPOD" ]
enum_GoogleCloudAiplatformV1ReservationAffinityReservationAffinityType := [ "TYPE_UNSPECIFIED", "NO_RESERVATION", "ANY_RESERVATION", "SPECIFIC_RESERVATION" ]

valid {
    input.Body.displayName == STRING
    input.Body.encryptionSpec.kmsKeyName == STRING
    input.Body.labels.STRING == STRING
    input.Body.name == STRING
    input.Body.network == STRING
    input.Body.reservedIpRanges[_] == STRING
    input.Body.resourcePools[_].autoscalingSpec.maxReplicaCount == STRING
    input.Body.resourcePools[_].autoscalingSpec.minReplicaCount == STRING
    input.Body.resourcePools[_].diskSpec.bootDiskSizeGb == INTEGER
    input.Body.resourcePools[_].diskSpec.bootDiskType == STRING
    input.Body.resourcePools[_].id == STRING
    input.Body.resourcePools[_].machineSpec.acceleratorCount == INTEGER
    input.Body.resourcePools[_].machineSpec.acceleratorType == enum_GoogleCloudAiplatformV1MachineSpecAcceleratorType[_]
    input.Body.resourcePools[_].machineSpec.machineType == STRING
    input.Body.resourcePools[_].machineSpec.reservationAffinity.key == STRING
    input.Body.resourcePools[_].machineSpec.reservationAffinity.reservationAffinityType == enum_GoogleCloudAiplatformV1ReservationAffinityReservationAffinityType[_]
    input.Body.resourcePools[_].machineSpec.reservationAffinity.values[_] == STRING
    input.Body.resourcePools[_].machineSpec.tpuTopology == STRING
    input.Body.resourcePools[_].replicaCount == STRING
    input.Body.resourceRuntimeSpec.raySpec.headNodeResourcePoolId == STRING
    input.Body.resourceRuntimeSpec.raySpec.imageUri == STRING
    input.Body.resourceRuntimeSpec.raySpec.rayLogsSpec.disabled == BOOLEAN
    input.Body.resourceRuntimeSpec.raySpec.rayMetricSpec.disabled == BOOLEAN
    input.Body.resourceRuntimeSpec.raySpec.resourcePoolImages.STRING == STRING
    input.Body.resourceRuntimeSpec.serviceAccountSpec.enableCustomServiceAccount == BOOLEAN
    input.Body.resourceRuntimeSpec.serviceAccountSpec.serviceAccount == STRING
    input.ReqMap.parent == STRING
    input.Qs.persistentResourceId == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.locations.persistentResources.delete

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

aiplatform.projects.locations.persistentResources.get

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

aiplatform.projects.locations.persistentResources.list

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

aiplatform.projects.locations.persistentResources.operations.cancel

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

aiplatform.projects.locations.persistentResources.operations.delete

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

aiplatform.projects.locations.persistentResources.operations.get

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

aiplatform.projects.locations.persistentResources.operations.list

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

aiplatform.projects.locations.persistentResources.operations.wait

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

aiplatform.projects.locations.persistentResources.patch

enum_GoogleCloudAiplatformV1MachineSpecAcceleratorType := [ "ACCELERATOR_TYPE_UNSPECIFIED", "NVIDIA_TESLA_K80", "NVIDIA_TESLA_P100", "NVIDIA_TESLA_V100", "NVIDIA_TESLA_P4", "NVIDIA_TESLA_T4", "NVIDIA_TESLA_A100", "NVIDIA_A100_80GB", "NVIDIA_L4", "NVIDIA_H100_80GB", "TPU_V2", "TPU_V3", "TPU_V4_POD", "TPU_V5_LITEPOD" ]
enum_GoogleCloudAiplatformV1ReservationAffinityReservationAffinityType := [ "TYPE_UNSPECIFIED", "NO_RESERVATION", "ANY_RESERVATION", "SPECIFIC_RESERVATION" ]

valid {
    input.Body.displayName == STRING
    input.Body.encryptionSpec.kmsKeyName == STRING
    input.Body.labels.STRING == STRING
    input.Body.name == STRING
    input.Body.network == STRING
    input.Body.reservedIpRanges[_] == STRING
    input.Body.resourcePools[_].autoscalingSpec.maxReplicaCount == STRING
    input.Body.resourcePools[_].autoscalingSpec.minReplicaCount == STRING
    input.Body.resourcePools[_].diskSpec.bootDiskSizeGb == INTEGER
    input.Body.resourcePools[_].diskSpec.bootDiskType == STRING
    input.Body.resourcePools[_].id == STRING
    input.Body.resourcePools[_].machineSpec.acceleratorCount == INTEGER
    input.Body.resourcePools[_].machineSpec.acceleratorType == enum_GoogleCloudAiplatformV1MachineSpecAcceleratorType[_]
    input.Body.resourcePools[_].machineSpec.machineType == STRING
    input.Body.resourcePools[_].machineSpec.reservationAffinity.key == STRING
    input.Body.resourcePools[_].machineSpec.reservationAffinity.reservationAffinityType == enum_GoogleCloudAiplatformV1ReservationAffinityReservationAffinityType[_]
    input.Body.resourcePools[_].machineSpec.reservationAffinity.values[_] == STRING
    input.Body.resourcePools[_].machineSpec.tpuTopology == STRING
    input.Body.resourcePools[_].replicaCount == STRING
    input.Body.resourceRuntimeSpec.raySpec.headNodeResourcePoolId == STRING
    input.Body.resourceRuntimeSpec.raySpec.imageUri == STRING
    input.Body.resourceRuntimeSpec.raySpec.rayLogsSpec.disabled == BOOLEAN
    input.Body.resourceRuntimeSpec.raySpec.rayMetricSpec.disabled == BOOLEAN
    input.Body.resourceRuntimeSpec.raySpec.resourcePoolImages.STRING == STRING
    input.Body.resourceRuntimeSpec.serviceAccountSpec.enableCustomServiceAccount == BOOLEAN
    input.Body.resourceRuntimeSpec.serviceAccountSpec.serviceAccount == STRING
    input.ReqMap.name == STRING
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.locations.persistentResources.reboot

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

aiplatform.projects.locations.pipelineJobs.batchCancel

valid {
    input.Body.names[_] == STRING
    input.ReqMap.parent == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.locations.pipelineJobs.batchDelete

valid {
    input.Body.names[_] == STRING
    input.ReqMap.parent == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.locations.pipelineJobs.cancel

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

aiplatform.projects.locations.pipelineJobs.create

enum_GoogleCloudAiplatformV1PipelineJobRuntimeConfigFailurePolicy := [ "PIPELINE_FAILURE_POLICY_UNSPECIFIED", "PIPELINE_FAILURE_POLICY_FAIL_SLOW", "PIPELINE_FAILURE_POLICY_FAIL_FAST" ]

valid {
    input.Body.displayName == STRING
    input.Body.encryptionSpec.kmsKeyName == STRING
    input.Body.labels.STRING == STRING
    input.Body.network == STRING
    input.Body.pipelineSpec.STRING == ANY
    input.Body.preflightValidations == BOOLEAN
    input.Body.reservedIpRanges[_] == STRING
    input.Body.runtimeConfig.failurePolicy == enum_GoogleCloudAiplatformV1PipelineJobRuntimeConfigFailurePolicy[_]
    input.Body.runtimeConfig.gcsOutputDirectory == STRING
    input.Body.runtimeConfig.inputArtifacts.STRING.artifactId == STRING
    input.Body.runtimeConfig.parameterValues.STRING == ANY
    input.Body.runtimeConfig.parameters.STRING.doubleValue == NUMBER
    input.Body.runtimeConfig.parameters.STRING.intValue == STRING
    input.Body.runtimeConfig.parameters.STRING.stringValue == STRING
    input.Body.serviceAccount == STRING
    input.Body.templateUri == STRING
    input.ReqMap.parent == STRING
    input.Qs.pipelineJobId == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.locations.pipelineJobs.delete

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

aiplatform.projects.locations.pipelineJobs.get

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

aiplatform.projects.locations.pipelineJobs.list

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

aiplatform.projects.locations.pipelineJobs.operations.cancel

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

aiplatform.projects.locations.pipelineJobs.operations.delete

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

aiplatform.projects.locations.pipelineJobs.operations.get

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

aiplatform.projects.locations.pipelineJobs.operations.list

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

aiplatform.projects.locations.pipelineJobs.operations.wait

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

aiplatform.projects.locations.publishers.models.computeTokens

valid {
    input.Body.contents[_].parts[_].fileData.fileUri == STRING
    input.Body.contents[_].parts[_].fileData.mimeType == STRING
    input.Body.contents[_].parts[_].functionCall.args.STRING == ANY
    input.Body.contents[_].parts[_].functionCall.name == STRING
    input.Body.contents[_].parts[_].functionResponse.name == STRING
    input.Body.contents[_].parts[_].functionResponse.response.STRING == ANY
    input.Body.contents[_].parts[_].inlineData.data == STRING
    input.Body.contents[_].parts[_].inlineData.mimeType == STRING
    input.Body.contents[_].parts[_].text == STRING
    input.Body.contents[_].parts[_].videoMetadata.endOffset == STRING
    input.Body.contents[_].parts[_].videoMetadata.startOffset == STRING
    input.Body.contents[_].role == STRING
    input.Body.instances[_] == ANY
    input.Body.model == STRING
    input.ReqMap.endpoint == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.locations.publishers.models.countTokens

enum_GoogleCloudAiplatformV1DynamicRetrievalConfigMode := [ "MODE_UNSPECIFIED", "MODE_DYNAMIC" ]
enum_GoogleCloudAiplatformV1GenerationConfigRoutingConfigAutoRoutingModeModelRoutingPreference := [ "UNKNOWN", "PRIORITIZE_QUALITY", "BALANCED", "PRIORITIZE_COST" ]
enum_GoogleCloudAiplatformV1SchemaType := [ "TYPE_UNSPECIFIED", "STRING", "NUMBER", "INTEGER", "BOOLEAN", "ARRAY", "OBJECT" ]

valid {
    input.Body.contents[_].parts[_].fileData.fileUri == STRING
    input.Body.contents[_].parts[_].fileData.mimeType == STRING
    input.Body.contents[_].parts[_].functionCall.args.STRING == ANY
    input.Body.contents[_].parts[_].functionCall.name == STRING
    input.Body.contents[_].parts[_].functionResponse.name == STRING
    input.Body.contents[_].parts[_].functionResponse.response.STRING == ANY
    input.Body.contents[_].parts[_].inlineData.data == STRING
    input.Body.contents[_].parts[_].inlineData.mimeType == STRING
    input.Body.contents[_].parts[_].text == STRING
    input.Body.contents[_].parts[_].videoMetadata.endOffset == STRING
    input.Body.contents[_].parts[_].videoMetadata.startOffset == STRING
    input.Body.contents[_].role == STRING
    input.Body.generationConfig.audioTimestamp == BOOLEAN
    input.Body.generationConfig.candidateCount == INTEGER
    input.Body.generationConfig.frequencyPenalty == NUMBER
    input.Body.generationConfig.logprobs == INTEGER
    input.Body.generationConfig.maxOutputTokens == INTEGER
    input.Body.generationConfig.presencePenalty == NUMBER
    input.Body.generationConfig.responseLogprobs == BOOLEAN
    input.Body.generationConfig.responseMimeType == STRING
    input.Body.generationConfig.responseSchema.anyOf[_] == NESTED
    input.Body.generationConfig.responseSchema.default == ANY
    input.Body.generationConfig.responseSchema.description == STRING
    input.Body.generationConfig.responseSchema.enum[_] == STRING
    input.Body.generationConfig.responseSchema.example == ANY
    input.Body.generationConfig.responseSchema.format == STRING
    input.Body.generationConfig.responseSchema.items == NESTED
    input.Body.generationConfig.responseSchema.maxItems == STRING
    input.Body.generationConfig.responseSchema.maxLength == STRING
    input.Body.generationConfig.responseSchema.maxProperties == STRING
    input.Body.generationConfig.responseSchema.maximum == NUMBER
    input.Body.generationConfig.responseSchema.minItems == STRING
    input.Body.generationConfig.responseSchema.minLength == STRING
    input.Body.generationConfig.responseSchema.minProperties == STRING
    input.Body.generationConfig.responseSchema.minimum == NUMBER
    input.Body.generationConfig.responseSchema.nullable == BOOLEAN
    input.Body.generationConfig.responseSchema.pattern == STRING
    input.Body.generationConfig.responseSchema.properties.STRING == NESTED
    input.Body.generationConfig.responseSchema.propertyOrdering[_] == STRING
    input.Body.generationConfig.responseSchema.required[_] == STRING
    input.Body.generationConfig.responseSchema.title == STRING
    input.Body.generationConfig.responseSchema.type == enum_GoogleCloudAiplatformV1SchemaType[_]
    input.Body.generationConfig.routingConfig.autoMode.modelRoutingPreference == enum_GoogleCloudAiplatformV1GenerationConfigRoutingConfigAutoRoutingModeModelRoutingPreference[_]
    input.Body.generationConfig.routingConfig.manualMode.modelName == STRING
    input.Body.generationConfig.seed == INTEGER
    input.Body.generationConfig.stopSequences[_] == STRING
    input.Body.generationConfig.temperature == NUMBER
    input.Body.generationConfig.topK == NUMBER
    input.Body.generationConfig.topP == NUMBER
    input.Body.instances[_] == ANY
    input.Body.model == STRING
    input.Body.systemInstruction.parts[_].fileData.fileUri == STRING
    input.Body.systemInstruction.parts[_].fileData.mimeType == STRING
    input.Body.systemInstruction.parts[_].functionCall.args.STRING == ANY
    input.Body.systemInstruction.parts[_].functionCall.name == STRING
    input.Body.systemInstruction.parts[_].functionResponse.name == STRING
    input.Body.systemInstruction.parts[_].functionResponse.response.STRING == ANY
    input.Body.systemInstruction.parts[_].inlineData.data == STRING
    input.Body.systemInstruction.parts[_].inlineData.mimeType == STRING
    input.Body.systemInstruction.parts[_].text == STRING
    input.Body.systemInstruction.parts[_].videoMetadata.endOffset == STRING
    input.Body.systemInstruction.parts[_].videoMetadata.startOffset == STRING
    input.Body.systemInstruction.role == STRING
    input.Body.tools[_].functionDeclarations[_].description == STRING
    input.Body.tools[_].functionDeclarations[_].name == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.anyOf[_] == NESTED
    input.Body.tools[_].functionDeclarations[_].parameters.default == ANY
    input.Body.tools[_].functionDeclarations[_].parameters.description == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.enum[_] == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.example == ANY
    input.Body.tools[_].functionDeclarations[_].parameters.format == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.items == NESTED
    input.Body.tools[_].functionDeclarations[_].parameters.maxItems == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.maxLength == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.maxProperties == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.maximum == NUMBER
    input.Body.tools[_].functionDeclarations[_].parameters.minItems == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.minLength == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.minProperties == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.minimum == NUMBER
    input.Body.tools[_].functionDeclarations[_].parameters.nullable == BOOLEAN
    input.Body.tools[_].functionDeclarations[_].parameters.pattern == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.properties.STRING == NESTED
    input.Body.tools[_].functionDeclarations[_].parameters.propertyOrdering[_] == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.required[_] == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.title == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.type == enum_GoogleCloudAiplatformV1SchemaType[_]
    input.Body.tools[_].functionDeclarations[_].response.anyOf[_] == NESTED
    input.Body.tools[_].functionDeclarations[_].response.default == ANY
    input.Body.tools[_].functionDeclarations[_].response.description == STRING
    input.Body.tools[_].functionDeclarations[_].response.enum[_] == STRING
    input.Body.tools[_].functionDeclarations[_].response.example == ANY
    input.Body.tools[_].functionDeclarations[_].response.format == STRING
    input.Body.tools[_].functionDeclarations[_].response.items == NESTED
    input.Body.tools[_].functionDeclarations[_].response.maxItems == STRING
    input.Body.tools[_].functionDeclarations[_].response.maxLength == STRING
    input.Body.tools[_].functionDeclarations[_].response.maxProperties == STRING
    input.Body.tools[_].functionDeclarations[_].response.maximum == NUMBER
    input.Body.tools[_].functionDeclarations[_].response.minItems == STRING
    input.Body.tools[_].functionDeclarations[_].response.minLength == STRING
    input.Body.tools[_].functionDeclarations[_].response.minProperties == STRING
    input.Body.tools[_].functionDeclarations[_].response.minimum == NUMBER
    input.Body.tools[_].functionDeclarations[_].response.nullable == BOOLEAN
    input.Body.tools[_].functionDeclarations[_].response.pattern == STRING
    input.Body.tools[_].functionDeclarations[_].response.properties.STRING == NESTED
    input.Body.tools[_].functionDeclarations[_].response.propertyOrdering[_] == STRING
    input.Body.tools[_].functionDeclarations[_].response.required[_] == STRING
    input.Body.tools[_].functionDeclarations[_].response.title == STRING
    input.Body.tools[_].functionDeclarations[_].response.type == enum_GoogleCloudAiplatformV1SchemaType[_]
    input.Body.tools[_].googleSearchRetrieval.dynamicRetrievalConfig.dynamicThreshold == NUMBER
    input.Body.tools[_].googleSearchRetrieval.dynamicRetrievalConfig.mode == enum_GoogleCloudAiplatformV1DynamicRetrievalConfigMode[_]
    input.Body.tools[_].retrieval.disableAttribution == BOOLEAN
    input.Body.tools[_].retrieval.vertexAiSearch.datastore == STRING
    input.Body.tools[_].retrieval.vertexRagStore.ragCorpora[_] == STRING
    input.Body.tools[_].retrieval.vertexRagStore.ragResources[_].ragCorpus == STRING
    input.Body.tools[_].retrieval.vertexRagStore.ragResources[_].ragFileIds[_] == STRING
    input.Body.tools[_].retrieval.vertexRagStore.similarityTopK == INTEGER
    input.Body.tools[_].retrieval.vertexRagStore.vectorDistanceThreshold == NUMBER
    input.ReqMap.endpoint == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.locations.publishers.models.fetchPredictOperation

valid {
    input.Body.operationName == STRING
    input.ReqMap.endpoint == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.locations.publishers.models.generateContent

enum_GoogleCloudAiplatformV1DynamicRetrievalConfigMode := [ "MODE_UNSPECIFIED", "MODE_DYNAMIC" ]
enum_GoogleCloudAiplatformV1FunctionCallingConfigMode := [ "MODE_UNSPECIFIED", "AUTO", "ANY", "NONE" ]
enum_GoogleCloudAiplatformV1GenerationConfigRoutingConfigAutoRoutingModeModelRoutingPreference := [ "UNKNOWN", "PRIORITIZE_QUALITY", "BALANCED", "PRIORITIZE_COST" ]
enum_GoogleCloudAiplatformV1SafetySettingCategory := [ "HARM_CATEGORY_UNSPECIFIED", "HARM_CATEGORY_HATE_SPEECH", "HARM_CATEGORY_DANGEROUS_CONTENT", "HARM_CATEGORY_HARASSMENT", "HARM_CATEGORY_SEXUALLY_EXPLICIT", "HARM_CATEGORY_CIVIC_INTEGRITY" ]
enum_GoogleCloudAiplatformV1SafetySettingMethod := [ "HARM_BLOCK_METHOD_UNSPECIFIED", "SEVERITY", "PROBABILITY" ]
enum_GoogleCloudAiplatformV1SafetySettingThreshold := [ "HARM_BLOCK_THRESHOLD_UNSPECIFIED", "BLOCK_LOW_AND_ABOVE", "BLOCK_MEDIUM_AND_ABOVE", "BLOCK_ONLY_HIGH", "BLOCK_NONE", "OFF" ]
enum_GoogleCloudAiplatformV1SchemaType := [ "TYPE_UNSPECIFIED", "STRING", "NUMBER", "INTEGER", "BOOLEAN", "ARRAY", "OBJECT" ]

valid {
    input.Body.contents[_].parts[_].fileData.fileUri == STRING
    input.Body.contents[_].parts[_].fileData.mimeType == STRING
    input.Body.contents[_].parts[_].functionCall.args.STRING == ANY
    input.Body.contents[_].parts[_].functionCall.name == STRING
    input.Body.contents[_].parts[_].functionResponse.name == STRING
    input.Body.contents[_].parts[_].functionResponse.response.STRING == ANY
    input.Body.contents[_].parts[_].inlineData.data == STRING
    input.Body.contents[_].parts[_].inlineData.mimeType == STRING
    input.Body.contents[_].parts[_].text == STRING
    input.Body.contents[_].parts[_].videoMetadata.endOffset == STRING
    input.Body.contents[_].parts[_].videoMetadata.startOffset == STRING
    input.Body.contents[_].role == STRING
    input.Body.generationConfig.audioTimestamp == BOOLEAN
    input.Body.generationConfig.candidateCount == INTEGER
    input.Body.generationConfig.frequencyPenalty == NUMBER
    input.Body.generationConfig.logprobs == INTEGER
    input.Body.generationConfig.maxOutputTokens == INTEGER
    input.Body.generationConfig.presencePenalty == NUMBER
    input.Body.generationConfig.responseLogprobs == BOOLEAN
    input.Body.generationConfig.responseMimeType == STRING
    input.Body.generationConfig.responseSchema.anyOf[_] == NESTED
    input.Body.generationConfig.responseSchema.default == ANY
    input.Body.generationConfig.responseSchema.description == STRING
    input.Body.generationConfig.responseSchema.enum[_] == STRING
    input.Body.generationConfig.responseSchema.example == ANY
    input.Body.generationConfig.responseSchema.format == STRING
    input.Body.generationConfig.responseSchema.items == NESTED
    input.Body.generationConfig.responseSchema.maxItems == STRING
    input.Body.generationConfig.responseSchema.maxLength == STRING
    input.Body.generationConfig.responseSchema.maxProperties == STRING
    input.Body.generationConfig.responseSchema.maximum == NUMBER
    input.Body.generationConfig.responseSchema.minItems == STRING
    input.Body.generationConfig.responseSchema.minLength == STRING
    input.Body.generationConfig.responseSchema.minProperties == STRING
    input.Body.generationConfig.responseSchema.minimum == NUMBER
    input.Body.generationConfig.responseSchema.nullable == BOOLEAN
    input.Body.generationConfig.responseSchema.pattern == STRING
    input.Body.generationConfig.responseSchema.properties.STRING == NESTED
    input.Body.generationConfig.responseSchema.propertyOrdering[_] == STRING
    input.Body.generationConfig.responseSchema.required[_] == STRING
    input.Body.generationConfig.responseSchema.title == STRING
    input.Body.generationConfig.responseSchema.type == enum_GoogleCloudAiplatformV1SchemaType[_]
    input.Body.generationConfig.routingConfig.autoMode.modelRoutingPreference == enum_GoogleCloudAiplatformV1GenerationConfigRoutingConfigAutoRoutingModeModelRoutingPreference[_]
    input.Body.generationConfig.routingConfig.manualMode.modelName == STRING
    input.Body.generationConfig.seed == INTEGER
    input.Body.generationConfig.stopSequences[_] == STRING
    input.Body.generationConfig.temperature == NUMBER
    input.Body.generationConfig.topK == NUMBER
    input.Body.generationConfig.topP == NUMBER
    input.Body.labels.STRING == STRING
    input.Body.safetySettings[_].category == enum_GoogleCloudAiplatformV1SafetySettingCategory[_]
    input.Body.safetySettings[_].method == enum_GoogleCloudAiplatformV1SafetySettingMethod[_]
    input.Body.safetySettings[_].threshold == enum_GoogleCloudAiplatformV1SafetySettingThreshold[_]
    input.Body.systemInstruction.parts[_].fileData.fileUri == STRING
    input.Body.systemInstruction.parts[_].fileData.mimeType == STRING
    input.Body.systemInstruction.parts[_].functionCall.args.STRING == ANY
    input.Body.systemInstruction.parts[_].functionCall.name == STRING
    input.Body.systemInstruction.parts[_].functionResponse.name == STRING
    input.Body.systemInstruction.parts[_].functionResponse.response.STRING == ANY
    input.Body.systemInstruction.parts[_].inlineData.data == STRING
    input.Body.systemInstruction.parts[_].inlineData.mimeType == STRING
    input.Body.systemInstruction.parts[_].text == STRING
    input.Body.systemInstruction.parts[_].videoMetadata.endOffset == STRING
    input.Body.systemInstruction.parts[_].videoMetadata.startOffset == STRING
    input.Body.systemInstruction.role == STRING
    input.Body.toolConfig.functionCallingConfig.allowedFunctionNames[_] == STRING
    input.Body.toolConfig.functionCallingConfig.mode == enum_GoogleCloudAiplatformV1FunctionCallingConfigMode[_]
    input.Body.tools[_].functionDeclarations[_].description == STRING
    input.Body.tools[_].functionDeclarations[_].name == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.anyOf[_] == NESTED
    input.Body.tools[_].functionDeclarations[_].parameters.default == ANY
    input.Body.tools[_].functionDeclarations[_].parameters.description == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.enum[_] == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.example == ANY
    input.Body.tools[_].functionDeclarations[_].parameters.format == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.items == NESTED
    input.Body.tools[_].functionDeclarations[_].parameters.maxItems == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.maxLength == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.maxProperties == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.maximum == NUMBER
    input.Body.tools[_].functionDeclarations[_].parameters.minItems == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.minLength == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.minProperties == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.minimum == NUMBER
    input.Body.tools[_].functionDeclarations[_].parameters.nullable == BOOLEAN
    input.Body.tools[_].functionDeclarations[_].parameters.pattern == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.properties.STRING == NESTED
    input.Body.tools[_].functionDeclarations[_].parameters.propertyOrdering[_] == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.required[_] == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.title == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.type == enum_GoogleCloudAiplatformV1SchemaType[_]
    input.Body.tools[_].functionDeclarations[_].response.anyOf[_] == NESTED
    input.Body.tools[_].functionDeclarations[_].response.default == ANY
    input.Body.tools[_].functionDeclarations[_].response.description == STRING
    input.Body.tools[_].functionDeclarations[_].response.enum[_] == STRING
    input.Body.tools[_].functionDeclarations[_].response.example == ANY
    input.Body.tools[_].functionDeclarations[_].response.format == STRING
    input.Body.tools[_].functionDeclarations[_].response.items == NESTED
    input.Body.tools[_].functionDeclarations[_].response.maxItems == STRING
    input.Body.tools[_].functionDeclarations[_].response.maxLength == STRING
    input.Body.tools[_].functionDeclarations[_].response.maxProperties == STRING
    input.Body.tools[_].functionDeclarations[_].response.maximum == NUMBER
    input.Body.tools[_].functionDeclarations[_].response.minItems == STRING
    input.Body.tools[_].functionDeclarations[_].response.minLength == STRING
    input.Body.tools[_].functionDeclarations[_].response.minProperties == STRING
    input.Body.tools[_].functionDeclarations[_].response.minimum == NUMBER
    input.Body.tools[_].functionDeclarations[_].response.nullable == BOOLEAN
    input.Body.tools[_].functionDeclarations[_].response.pattern == STRING
    input.Body.tools[_].functionDeclarations[_].response.properties.STRING == NESTED
    input.Body.tools[_].functionDeclarations[_].response.propertyOrdering[_] == STRING
    input.Body.tools[_].functionDeclarations[_].response.required[_] == STRING
    input.Body.tools[_].functionDeclarations[_].response.title == STRING
    input.Body.tools[_].functionDeclarations[_].response.type == enum_GoogleCloudAiplatformV1SchemaType[_]
    input.Body.tools[_].googleSearchRetrieval.dynamicRetrievalConfig.dynamicThreshold == NUMBER
    input.Body.tools[_].googleSearchRetrieval.dynamicRetrievalConfig.mode == enum_GoogleCloudAiplatformV1DynamicRetrievalConfigMode[_]
    input.Body.tools[_].retrieval.disableAttribution == BOOLEAN
    input.Body.tools[_].retrieval.vertexAiSearch.datastore == STRING
    input.Body.tools[_].retrieval.vertexRagStore.ragCorpora[_] == STRING
    input.Body.tools[_].retrieval.vertexRagStore.ragResources[_].ragCorpus == STRING
    input.Body.tools[_].retrieval.vertexRagStore.ragResources[_].ragFileIds[_] == STRING
    input.Body.tools[_].retrieval.vertexRagStore.similarityTopK == INTEGER
    input.Body.tools[_].retrieval.vertexRagStore.vectorDistanceThreshold == NUMBER
    input.ReqMap.model == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.locations.publishers.models.getIamPolicy

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

aiplatform.projects.locations.publishers.models.predict

valid {
    input.Body.instances[_] == ANY
    input.Body.parameters == ANY
    input.ReqMap.endpoint == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.locations.publishers.models.predictLongRunning

valid {
    input.Body.instances[_] == ANY
    input.Body.parameters == ANY
    input.ReqMap.endpoint == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.locations.publishers.models.rawPredict

valid {
    input.Body.httpBody.contentType == STRING
    input.Body.httpBody.data == STRING
    input.Body.httpBody.extensions[_].STRING == ANY
    input.ReqMap.endpoint == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.locations.publishers.models.serverStreamingPredict

enum_GoogleCloudAiplatformV1TensorDtype := [ "DATA_TYPE_UNSPECIFIED", "BOOL", "STRING", "FLOAT", "DOUBLE", "INT8", "INT16", "INT32", "INT64", "UINT8", "UINT16", "UINT32", "UINT64" ]

valid {
    input.Body.inputs[_].boolVal[_] == BOOLEAN
    input.Body.inputs[_].bytesVal[_] == STRING
    input.Body.inputs[_].doubleVal[_] == NUMBER
    input.Body.inputs[_].dtype == enum_GoogleCloudAiplatformV1TensorDtype[_]
    input.Body.inputs[_].floatVal[_] == NUMBER
    input.Body.inputs[_].int64Val[_] == STRING
    input.Body.inputs[_].intVal[_] == INTEGER
    input.Body.inputs[_].listVal[_] == NESTED
    input.Body.inputs[_].shape[_] == STRING
    input.Body.inputs[_].stringVal[_] == STRING
    input.Body.inputs[_].structVal.STRING == NESTED
    input.Body.inputs[_].tensorVal == STRING
    input.Body.inputs[_].uint64Val[_] == STRING
    input.Body.inputs[_].uintVal[_] == INTEGER
    input.Body.parameters.boolVal[_] == BOOLEAN
    input.Body.parameters.bytesVal[_] == STRING
    input.Body.parameters.doubleVal[_] == NUMBER
    input.Body.parameters.dtype == enum_GoogleCloudAiplatformV1TensorDtype[_]
    input.Body.parameters.floatVal[_] == NUMBER
    input.Body.parameters.int64Val[_] == STRING
    input.Body.parameters.intVal[_] == INTEGER
    input.Body.parameters.listVal[_] == NESTED
    input.Body.parameters.shape[_] == STRING
    input.Body.parameters.stringVal[_] == STRING
    input.Body.parameters.structVal.STRING == NESTED
    input.Body.parameters.tensorVal == STRING
    input.Body.parameters.uint64Val[_] == STRING
    input.Body.parameters.uintVal[_] == INTEGER
    input.ReqMap.endpoint == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.locations.publishers.models.streamGenerateContent

enum_GoogleCloudAiplatformV1DynamicRetrievalConfigMode := [ "MODE_UNSPECIFIED", "MODE_DYNAMIC" ]
enum_GoogleCloudAiplatformV1FunctionCallingConfigMode := [ "MODE_UNSPECIFIED", "AUTO", "ANY", "NONE" ]
enum_GoogleCloudAiplatformV1GenerationConfigRoutingConfigAutoRoutingModeModelRoutingPreference := [ "UNKNOWN", "PRIORITIZE_QUALITY", "BALANCED", "PRIORITIZE_COST" ]
enum_GoogleCloudAiplatformV1SafetySettingCategory := [ "HARM_CATEGORY_UNSPECIFIED", "HARM_CATEGORY_HATE_SPEECH", "HARM_CATEGORY_DANGEROUS_CONTENT", "HARM_CATEGORY_HARASSMENT", "HARM_CATEGORY_SEXUALLY_EXPLICIT", "HARM_CATEGORY_CIVIC_INTEGRITY" ]
enum_GoogleCloudAiplatformV1SafetySettingMethod := [ "HARM_BLOCK_METHOD_UNSPECIFIED", "SEVERITY", "PROBABILITY" ]
enum_GoogleCloudAiplatformV1SafetySettingThreshold := [ "HARM_BLOCK_THRESHOLD_UNSPECIFIED", "BLOCK_LOW_AND_ABOVE", "BLOCK_MEDIUM_AND_ABOVE", "BLOCK_ONLY_HIGH", "BLOCK_NONE", "OFF" ]
enum_GoogleCloudAiplatformV1SchemaType := [ "TYPE_UNSPECIFIED", "STRING", "NUMBER", "INTEGER", "BOOLEAN", "ARRAY", "OBJECT" ]

valid {
    input.Body.contents[_].parts[_].fileData.fileUri == STRING
    input.Body.contents[_].parts[_].fileData.mimeType == STRING
    input.Body.contents[_].parts[_].functionCall.args.STRING == ANY
    input.Body.contents[_].parts[_].functionCall.name == STRING
    input.Body.contents[_].parts[_].functionResponse.name == STRING
    input.Body.contents[_].parts[_].functionResponse.response.STRING == ANY
    input.Body.contents[_].parts[_].inlineData.data == STRING
    input.Body.contents[_].parts[_].inlineData.mimeType == STRING
    input.Body.contents[_].parts[_].text == STRING
    input.Body.contents[_].parts[_].videoMetadata.endOffset == STRING
    input.Body.contents[_].parts[_].videoMetadata.startOffset == STRING
    input.Body.contents[_].role == STRING
    input.Body.generationConfig.audioTimestamp == BOOLEAN
    input.Body.generationConfig.candidateCount == INTEGER
    input.Body.generationConfig.frequencyPenalty == NUMBER
    input.Body.generationConfig.logprobs == INTEGER
    input.Body.generationConfig.maxOutputTokens == INTEGER
    input.Body.generationConfig.presencePenalty == NUMBER
    input.Body.generationConfig.responseLogprobs == BOOLEAN
    input.Body.generationConfig.responseMimeType == STRING
    input.Body.generationConfig.responseSchema.anyOf[_] == NESTED
    input.Body.generationConfig.responseSchema.default == ANY
    input.Body.generationConfig.responseSchema.description == STRING
    input.Body.generationConfig.responseSchema.enum[_] == STRING
    input.Body.generationConfig.responseSchema.example == ANY
    input.Body.generationConfig.responseSchema.format == STRING
    input.Body.generationConfig.responseSchema.items == NESTED
    input.Body.generationConfig.responseSchema.maxItems == STRING
    input.Body.generationConfig.responseSchema.maxLength == STRING
    input.Body.generationConfig.responseSchema.maxProperties == STRING
    input.Body.generationConfig.responseSchema.maximum == NUMBER
    input.Body.generationConfig.responseSchema.minItems == STRING
    input.Body.generationConfig.responseSchema.minLength == STRING
    input.Body.generationConfig.responseSchema.minProperties == STRING
    input.Body.generationConfig.responseSchema.minimum == NUMBER
    input.Body.generationConfig.responseSchema.nullable == BOOLEAN
    input.Body.generationConfig.responseSchema.pattern == STRING
    input.Body.generationConfig.responseSchema.properties.STRING == NESTED
    input.Body.generationConfig.responseSchema.propertyOrdering[_] == STRING
    input.Body.generationConfig.responseSchema.required[_] == STRING
    input.Body.generationConfig.responseSchema.title == STRING
    input.Body.generationConfig.responseSchema.type == enum_GoogleCloudAiplatformV1SchemaType[_]
    input.Body.generationConfig.routingConfig.autoMode.modelRoutingPreference == enum_GoogleCloudAiplatformV1GenerationConfigRoutingConfigAutoRoutingModeModelRoutingPreference[_]
    input.Body.generationConfig.routingConfig.manualMode.modelName == STRING
    input.Body.generationConfig.seed == INTEGER
    input.Body.generationConfig.stopSequences[_] == STRING
    input.Body.generationConfig.temperature == NUMBER
    input.Body.generationConfig.topK == NUMBER
    input.Body.generationConfig.topP == NUMBER
    input.Body.labels.STRING == STRING
    input.Body.safetySettings[_].category == enum_GoogleCloudAiplatformV1SafetySettingCategory[_]
    input.Body.safetySettings[_].method == enum_GoogleCloudAiplatformV1SafetySettingMethod[_]
    input.Body.safetySettings[_].threshold == enum_GoogleCloudAiplatformV1SafetySettingThreshold[_]
    input.Body.systemInstruction.parts[_].fileData.fileUri == STRING
    input.Body.systemInstruction.parts[_].fileData.mimeType == STRING
    input.Body.systemInstruction.parts[_].functionCall.args.STRING == ANY
    input.Body.systemInstruction.parts[_].functionCall.name == STRING
    input.Body.systemInstruction.parts[_].functionResponse.name == STRING
    input.Body.systemInstruction.parts[_].functionResponse.response.STRING == ANY
    input.Body.systemInstruction.parts[_].inlineData.data == STRING
    input.Body.systemInstruction.parts[_].inlineData.mimeType == STRING
    input.Body.systemInstruction.parts[_].text == STRING
    input.Body.systemInstruction.parts[_].videoMetadata.endOffset == STRING
    input.Body.systemInstruction.parts[_].videoMetadata.startOffset == STRING
    input.Body.systemInstruction.role == STRING
    input.Body.toolConfig.functionCallingConfig.allowedFunctionNames[_] == STRING
    input.Body.toolConfig.functionCallingConfig.mode == enum_GoogleCloudAiplatformV1FunctionCallingConfigMode[_]
    input.Body.tools[_].functionDeclarations[_].description == STRING
    input.Body.tools[_].functionDeclarations[_].name == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.anyOf[_] == NESTED
    input.Body.tools[_].functionDeclarations[_].parameters.default == ANY
    input.Body.tools[_].functionDeclarations[_].parameters.description == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.enum[_] == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.example == ANY
    input.Body.tools[_].functionDeclarations[_].parameters.format == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.items == NESTED
    input.Body.tools[_].functionDeclarations[_].parameters.maxItems == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.maxLength == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.maxProperties == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.maximum == NUMBER
    input.Body.tools[_].functionDeclarations[_].parameters.minItems == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.minLength == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.minProperties == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.minimum == NUMBER
    input.Body.tools[_].functionDeclarations[_].parameters.nullable == BOOLEAN
    input.Body.tools[_].functionDeclarations[_].parameters.pattern == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.properties.STRING == NESTED
    input.Body.tools[_].functionDeclarations[_].parameters.propertyOrdering[_] == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.required[_] == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.title == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.type == enum_GoogleCloudAiplatformV1SchemaType[_]
    input.Body.tools[_].functionDeclarations[_].response.anyOf[_] == NESTED
    input.Body.tools[_].functionDeclarations[_].response.default == ANY
    input.Body.tools[_].functionDeclarations[_].response.description == STRING
    input.Body.tools[_].functionDeclarations[_].response.enum[_] == STRING
    input.Body.tools[_].functionDeclarations[_].response.example == ANY
    input.Body.tools[_].functionDeclarations[_].response.format == STRING
    input.Body.tools[_].functionDeclarations[_].response.items == NESTED
    input.Body.tools[_].functionDeclarations[_].response.maxItems == STRING
    input.Body.tools[_].functionDeclarations[_].response.maxLength == STRING
    input.Body.tools[_].functionDeclarations[_].response.maxProperties == STRING
    input.Body.tools[_].functionDeclarations[_].response.maximum == NUMBER
    input.Body.tools[_].functionDeclarations[_].response.minItems == STRING
    input.Body.tools[_].functionDeclarations[_].response.minLength == STRING
    input.Body.tools[_].functionDeclarations[_].response.minProperties == STRING
    input.Body.tools[_].functionDeclarations[_].response.minimum == NUMBER
    input.Body.tools[_].functionDeclarations[_].response.nullable == BOOLEAN
    input.Body.tools[_].functionDeclarations[_].response.pattern == STRING
    input.Body.tools[_].functionDeclarations[_].response.properties.STRING == NESTED
    input.Body.tools[_].functionDeclarations[_].response.propertyOrdering[_] == STRING
    input.Body.tools[_].functionDeclarations[_].response.required[_] == STRING
    input.Body.tools[_].functionDeclarations[_].response.title == STRING
    input.Body.tools[_].functionDeclarations[_].response.type == enum_GoogleCloudAiplatformV1SchemaType[_]
    input.Body.tools[_].googleSearchRetrieval.dynamicRetrievalConfig.dynamicThreshold == NUMBER
    input.Body.tools[_].googleSearchRetrieval.dynamicRetrievalConfig.mode == enum_GoogleCloudAiplatformV1DynamicRetrievalConfigMode[_]
    input.Body.tools[_].retrieval.disableAttribution == BOOLEAN
    input.Body.tools[_].retrieval.vertexAiSearch.datastore == STRING
    input.Body.tools[_].retrieval.vertexRagStore.ragCorpora[_] == STRING
    input.Body.tools[_].retrieval.vertexRagStore.ragResources[_].ragCorpus == STRING
    input.Body.tools[_].retrieval.vertexRagStore.ragResources[_].ragFileIds[_] == STRING
    input.Body.tools[_].retrieval.vertexRagStore.similarityTopK == INTEGER
    input.Body.tools[_].retrieval.vertexRagStore.vectorDistanceThreshold == NUMBER
    input.ReqMap.model == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.locations.publishers.models.streamRawPredict

valid {
    input.Body.httpBody.contentType == STRING
    input.Body.httpBody.data == STRING
    input.Body.httpBody.extensions[_].STRING == ANY
    input.ReqMap.endpoint == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.locations.ragCorpora.create

valid {
    input.Body.description == STRING
    input.Body.displayName == STRING
    input.Body.ragEmbeddingModelConfig.hybridSearchConfig.denseEmbeddingModelPredictionEndpoint.endpoint == STRING
    input.Body.ragEmbeddingModelConfig.hybridSearchConfig.sparseEmbeddingConfig.bm25.b == NUMBER
    input.Body.ragEmbeddingModelConfig.hybridSearchConfig.sparseEmbeddingConfig.bm25.k1 == NUMBER
    input.Body.ragEmbeddingModelConfig.hybridSearchConfig.sparseEmbeddingConfig.bm25.multilingual == BOOLEAN
    input.Body.ragEmbeddingModelConfig.vertexPredictionEndpoint.endpoint == STRING
    input.Body.ragVectorDbConfig.apiAuth.apiKeyConfig.apiKeySecretVersion == STRING
    input.Body.ragVectorDbConfig.pinecone.indexName == STRING
    input.Body.ragVectorDbConfig.ragManagedDb.STRING == STRING
    input.Body.ragVectorDbConfig.vertexFeatureStore.featureViewResourceName == STRING
    input.Body.ragVectorDbConfig.vertexVectorSearch.index == STRING
    input.Body.ragVectorDbConfig.vertexVectorSearch.indexEndpoint == STRING
    input.Body.ragVectorDbConfig.weaviate.collectionName == STRING
    input.Body.ragVectorDbConfig.weaviate.httpEndpoint == STRING
    input.ReqMap.parent == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.locations.ragCorpora.delete

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

aiplatform.projects.locations.ragCorpora.get

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

aiplatform.projects.locations.ragCorpora.list

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

aiplatform.projects.locations.ragCorpora.operations.cancel

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

aiplatform.projects.locations.ragCorpora.operations.delete

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

aiplatform.projects.locations.ragCorpora.operations.get

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

aiplatform.projects.locations.ragCorpora.operations.list

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

aiplatform.projects.locations.ragCorpora.operations.wait

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

aiplatform.projects.locations.ragCorpora.patch

valid {
    input.Body.description == STRING
    input.Body.displayName == STRING
    input.Body.ragEmbeddingModelConfig.hybridSearchConfig.denseEmbeddingModelPredictionEndpoint.endpoint == STRING
    input.Body.ragEmbeddingModelConfig.hybridSearchConfig.sparseEmbeddingConfig.bm25.b == NUMBER
    input.Body.ragEmbeddingModelConfig.hybridSearchConfig.sparseEmbeddingConfig.bm25.k1 == NUMBER
    input.Body.ragEmbeddingModelConfig.hybridSearchConfig.sparseEmbeddingConfig.bm25.multilingual == BOOLEAN
    input.Body.ragEmbeddingModelConfig.vertexPredictionEndpoint.endpoint == STRING
    input.Body.ragVectorDbConfig.apiAuth.apiKeyConfig.apiKeySecretVersion == STRING
    input.Body.ragVectorDbConfig.pinecone.indexName == STRING
    input.Body.ragVectorDbConfig.ragManagedDb.STRING == STRING
    input.Body.ragVectorDbConfig.vertexFeatureStore.featureViewResourceName == STRING
    input.Body.ragVectorDbConfig.vertexVectorSearch.index == STRING
    input.Body.ragVectorDbConfig.vertexVectorSearch.indexEndpoint == STRING
    input.Body.ragVectorDbConfig.weaviate.collectionName == STRING
    input.Body.ragVectorDbConfig.weaviate.httpEndpoint == STRING
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.locations.ragCorpora.ragFiles.delete

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

aiplatform.projects.locations.ragCorpora.ragFiles.get

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

aiplatform.projects.locations.ragCorpora.ragFiles.import

enum_GoogleCloudAiplatformV1beta1GoogleDriveSourceResourceIdResourceType := [ "RESOURCE_TYPE_UNSPECIFIED", "RESOURCE_TYPE_FILE", "RESOURCE_TYPE_FOLDER" ]

valid {
    input.Body.importRagFilesConfig.gcsSource.uris[_] == STRING
    input.Body.importRagFilesConfig.googleDriveSource.resourceIds[_].resourceId == STRING
    input.Body.importRagFilesConfig.googleDriveSource.resourceIds[_].resourceType == enum_GoogleCloudAiplatformV1beta1GoogleDriveSourceResourceIdResourceType[_]
    input.Body.importRagFilesConfig.jiraSource.jiraQueries[_].apiKeyConfig.apiKeySecretVersion == STRING
    input.Body.importRagFilesConfig.jiraSource.jiraQueries[_].customQueries[_] == STRING
    input.Body.importRagFilesConfig.jiraSource.jiraQueries[_].email == STRING
    input.Body.importRagFilesConfig.jiraSource.jiraQueries[_].projects[_] == STRING
    input.Body.importRagFilesConfig.jiraSource.jiraQueries[_].serverUri == STRING
    input.Body.importRagFilesConfig.maxEmbeddingRequestsPerMin == INTEGER
    input.Body.importRagFilesConfig.partialFailureBigquerySink.outputUri == STRING
    input.Body.importRagFilesConfig.partialFailureGcsSink.outputUriPrefix == STRING
    input.Body.importRagFilesConfig.ragFileChunkingConfig.chunkOverlap == INTEGER
    input.Body.importRagFilesConfig.ragFileChunkingConfig.chunkSize == INTEGER
    input.Body.importRagFilesConfig.ragFileParsingConfig.useAdvancedPdfParsing == BOOLEAN
    input.Body.importRagFilesConfig.sharePointSources.sharePointSources[_].clientId == STRING
    input.Body.importRagFilesConfig.sharePointSources.sharePointSources[_].clientSecret.apiKeySecretVersion == STRING
    input.Body.importRagFilesConfig.sharePointSources.sharePointSources[_].driveId == STRING
    input.Body.importRagFilesConfig.sharePointSources.sharePointSources[_].driveName == STRING
    input.Body.importRagFilesConfig.sharePointSources.sharePointSources[_].sharepointFolderId == STRING
    input.Body.importRagFilesConfig.sharePointSources.sharePointSources[_].sharepointFolderPath == STRING
    input.Body.importRagFilesConfig.sharePointSources.sharePointSources[_].sharepointSiteName == STRING
    input.Body.importRagFilesConfig.sharePointSources.sharePointSources[_].tenantId == STRING
    input.Body.importRagFilesConfig.slackSource.channels[_].apiKeyConfig.apiKeySecretVersion == STRING
    input.Body.importRagFilesConfig.slackSource.channels[_].channels[_].channelId == STRING
    input.Body.importRagFilesConfig.slackSource.channels[_].channels[_].endTime == STRING
    input.Body.importRagFilesConfig.slackSource.channels[_].channels[_].startTime == STRING
    input.ReqMap.parent == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.locations.ragCorpora.ragFiles.list

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

aiplatform.projects.locations.ragCorpora.ragFiles.operations.cancel

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

aiplatform.projects.locations.ragCorpora.ragFiles.operations.delete

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

aiplatform.projects.locations.ragCorpora.ragFiles.operations.get

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

aiplatform.projects.locations.ragCorpora.ragFiles.operations.list

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

aiplatform.projects.locations.ragCorpora.ragFiles.operations.wait

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

aiplatform.projects.locations.reasoningEngines.create

valid {
    input.Body.description == STRING
    input.Body.displayName == STRING
    input.Body.etag == STRING
    input.Body.name == STRING
    input.Body.spec.classMethods[_].STRING == ANY
    input.Body.spec.packageSpec.dependencyFilesGcsUri == STRING
    input.Body.spec.packageSpec.pickleObjectGcsUri == STRING
    input.Body.spec.packageSpec.pythonVersion == STRING
    input.Body.spec.packageSpec.requirementsGcsUri == STRING
    input.ReqMap.parent == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.locations.reasoningEngines.delete

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

aiplatform.projects.locations.reasoningEngines.get

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

aiplatform.projects.locations.reasoningEngines.list

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

aiplatform.projects.locations.reasoningEngines.operations.cancel

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

aiplatform.projects.locations.reasoningEngines.operations.delete

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

aiplatform.projects.locations.reasoningEngines.operations.get

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

aiplatform.projects.locations.reasoningEngines.operations.list

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

aiplatform.projects.locations.reasoningEngines.operations.wait

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

aiplatform.projects.locations.reasoningEngines.patch

valid {
    input.Body.description == STRING
    input.Body.displayName == STRING
    input.Body.etag == STRING
    input.Body.name == STRING
    input.Body.spec.classMethods[_].STRING == ANY
    input.Body.spec.packageSpec.dependencyFilesGcsUri == STRING
    input.Body.spec.packageSpec.pickleObjectGcsUri == STRING
    input.Body.spec.packageSpec.pythonVersion == STRING
    input.Body.spec.packageSpec.requirementsGcsUri == STRING
    input.ReqMap.name == STRING
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.locations.reasoningEngines.query

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

aiplatform.projects.locations.retrieveContexts

valid {
    input.Body.query.ranking.alpha == NUMBER
    input.Body.query.similarityTopK == INTEGER
    input.Body.query.text == STRING
    input.Body.vertexRagStore.ragCorpora[_] == STRING
    input.Body.vertexRagStore.ragResources[_].ragCorpus == STRING
    input.Body.vertexRagStore.ragResources[_].ragFileIds[_] == STRING
    input.Body.vertexRagStore.vectorDistanceThreshold == NUMBER
    input.ReqMap.parent == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.locations.schedules.create

enum_GoogleCloudAiplatformV1MachineSpecAcceleratorType := [ "ACCELERATOR_TYPE_UNSPECIFIED", "NVIDIA_TESLA_K80", "NVIDIA_TESLA_P100", "NVIDIA_TESLA_V100", "NVIDIA_TESLA_P4", "NVIDIA_TESLA_T4", "NVIDIA_TESLA_A100", "NVIDIA_A100_80GB", "NVIDIA_L4", "NVIDIA_H100_80GB", "TPU_V2", "TPU_V3", "TPU_V4_POD", "TPU_V5_LITEPOD" ]
enum_GoogleCloudAiplatformV1PipelineJobRuntimeConfigFailurePolicy := [ "PIPELINE_FAILURE_POLICY_UNSPECIFIED", "PIPELINE_FAILURE_POLICY_FAIL_SLOW", "PIPELINE_FAILURE_POLICY_FAIL_FAST" ]
enum_GoogleCloudAiplatformV1ReservationAffinityReservationAffinityType := [ "TYPE_UNSPECIFIED", "NO_RESERVATION", "ANY_RESERVATION", "SPECIFIC_RESERVATION" ]

valid {
    input.Body.allowQueueing == BOOLEAN
    input.Body.createNotebookExecutionJobRequest.notebookExecutionJob.customEnvironmentSpec.machineSpec.acceleratorCount == INTEGER
    input.Body.createNotebookExecutionJobRequest.notebookExecutionJob.customEnvironmentSpec.machineSpec.acceleratorType == enum_GoogleCloudAiplatformV1MachineSpecAcceleratorType[_]
    input.Body.createNotebookExecutionJobRequest.notebookExecutionJob.customEnvironmentSpec.machineSpec.machineType == STRING
    input.Body.createNotebookExecutionJobRequest.notebookExecutionJob.customEnvironmentSpec.machineSpec.reservationAffinity.key == STRING
    input.Body.createNotebookExecutionJobRequest.notebookExecutionJob.customEnvironmentSpec.machineSpec.reservationAffinity.reservationAffinityType == enum_GoogleCloudAiplatformV1ReservationAffinityReservationAffinityType[_]
    input.Body.createNotebookExecutionJobRequest.notebookExecutionJob.customEnvironmentSpec.machineSpec.reservationAffinity.values[_] == STRING
    input.Body.createNotebookExecutionJobRequest.notebookExecutionJob.customEnvironmentSpec.machineSpec.tpuTopology == STRING
    input.Body.createNotebookExecutionJobRequest.notebookExecutionJob.customEnvironmentSpec.networkSpec.enableInternetAccess == BOOLEAN
    input.Body.createNotebookExecutionJobRequest.notebookExecutionJob.customEnvironmentSpec.networkSpec.network == STRING
    input.Body.createNotebookExecutionJobRequest.notebookExecutionJob.customEnvironmentSpec.networkSpec.subnetwork == STRING
    input.Body.createNotebookExecutionJobRequest.notebookExecutionJob.customEnvironmentSpec.persistentDiskSpec.diskSizeGb == STRING
    input.Body.createNotebookExecutionJobRequest.notebookExecutionJob.customEnvironmentSpec.persistentDiskSpec.diskType == STRING
    input.Body.createNotebookExecutionJobRequest.notebookExecutionJob.dataformRepositorySource.commitSha == STRING
    input.Body.createNotebookExecutionJobRequest.notebookExecutionJob.dataformRepositorySource.dataformRepositoryResourceName == STRING
    input.Body.createNotebookExecutionJobRequest.notebookExecutionJob.directNotebookSource.content == STRING
    input.Body.createNotebookExecutionJobRequest.notebookExecutionJob.displayName == STRING
    input.Body.createNotebookExecutionJobRequest.notebookExecutionJob.encryptionSpec.kmsKeyName == STRING
    input.Body.createNotebookExecutionJobRequest.notebookExecutionJob.executionTimeout == STRING
    input.Body.createNotebookExecutionJobRequest.notebookExecutionJob.executionUser == STRING
    input.Body.createNotebookExecutionJobRequest.notebookExecutionJob.gcsNotebookSource.generation == STRING
    input.Body.createNotebookExecutionJobRequest.notebookExecutionJob.gcsNotebookSource.uri == STRING
    input.Body.createNotebookExecutionJobRequest.notebookExecutionJob.gcsOutputUri == STRING
    input.Body.createNotebookExecutionJobRequest.notebookExecutionJob.kernelName == STRING
    input.Body.createNotebookExecutionJobRequest.notebookExecutionJob.labels.STRING == STRING
    input.Body.createNotebookExecutionJobRequest.notebookExecutionJob.notebookRuntimeTemplateResourceName == STRING
    input.Body.createNotebookExecutionJobRequest.notebookExecutionJob.serviceAccount == STRING
    input.Body.createNotebookExecutionJobRequest.notebookExecutionJob.workbenchRuntime.STRING == STRING
    input.Body.createNotebookExecutionJobRequest.notebookExecutionJobId == STRING
    input.Body.createNotebookExecutionJobRequest.parent == STRING
    input.Body.createPipelineJobRequest.parent == STRING
    input.Body.createPipelineJobRequest.pipelineJob.displayName == STRING
    input.Body.createPipelineJobRequest.pipelineJob.encryptionSpec.kmsKeyName == STRING
    input.Body.createPipelineJobRequest.pipelineJob.labels.STRING == STRING
    input.Body.createPipelineJobRequest.pipelineJob.network == STRING
    input.Body.createPipelineJobRequest.pipelineJob.pipelineSpec.STRING == ANY
    input.Body.createPipelineJobRequest.pipelineJob.preflightValidations == BOOLEAN
    input.Body.createPipelineJobRequest.pipelineJob.reservedIpRanges[_] == STRING
    input.Body.createPipelineJobRequest.pipelineJob.runtimeConfig.failurePolicy == enum_GoogleCloudAiplatformV1PipelineJobRuntimeConfigFailurePolicy[_]
    input.Body.createPipelineJobRequest.pipelineJob.runtimeConfig.gcsOutputDirectory == STRING
    input.Body.createPipelineJobRequest.pipelineJob.runtimeConfig.inputArtifacts.STRING.artifactId == STRING
    input.Body.createPipelineJobRequest.pipelineJob.runtimeConfig.parameterValues.STRING == ANY
    input.Body.createPipelineJobRequest.pipelineJob.runtimeConfig.parameters.STRING.doubleValue == NUMBER
    input.Body.createPipelineJobRequest.pipelineJob.runtimeConfig.parameters.STRING.intValue == STRING
    input.Body.createPipelineJobRequest.pipelineJob.runtimeConfig.parameters.STRING.stringValue == STRING
    input.Body.createPipelineJobRequest.pipelineJob.serviceAccount == STRING
    input.Body.createPipelineJobRequest.pipelineJob.templateUri == STRING
    input.Body.createPipelineJobRequest.pipelineJobId == STRING
    input.Body.cron == STRING
    input.Body.displayName == STRING
    input.Body.endTime == STRING
    input.Body.maxConcurrentRunCount == STRING
    input.Body.maxRunCount == STRING
    input.Body.name == STRING
    input.Body.startTime == STRING
    input.ReqMap.parent == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.locations.schedules.delete

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

aiplatform.projects.locations.schedules.get

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

aiplatform.projects.locations.schedules.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
}

aiplatform.projects.locations.schedules.operations.cancel

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

aiplatform.projects.locations.schedules.operations.delete

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

aiplatform.projects.locations.schedules.operations.get

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

aiplatform.projects.locations.schedules.operations.list

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

aiplatform.projects.locations.schedules.operations.wait

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

aiplatform.projects.locations.schedules.patch

enum_GoogleCloudAiplatformV1MachineSpecAcceleratorType := [ "ACCELERATOR_TYPE_UNSPECIFIED", "NVIDIA_TESLA_K80", "NVIDIA_TESLA_P100", "NVIDIA_TESLA_V100", "NVIDIA_TESLA_P4", "NVIDIA_TESLA_T4", "NVIDIA_TESLA_A100", "NVIDIA_A100_80GB", "NVIDIA_L4", "NVIDIA_H100_80GB", "TPU_V2", "TPU_V3", "TPU_V4_POD", "TPU_V5_LITEPOD" ]
enum_GoogleCloudAiplatformV1PipelineJobRuntimeConfigFailurePolicy := [ "PIPELINE_FAILURE_POLICY_UNSPECIFIED", "PIPELINE_FAILURE_POLICY_FAIL_SLOW", "PIPELINE_FAILURE_POLICY_FAIL_FAST" ]
enum_GoogleCloudAiplatformV1ReservationAffinityReservationAffinityType := [ "TYPE_UNSPECIFIED", "NO_RESERVATION", "ANY_RESERVATION", "SPECIFIC_RESERVATION" ]

valid {
    input.Body.allowQueueing == BOOLEAN
    input.Body.createNotebookExecutionJobRequest.notebookExecutionJob.customEnvironmentSpec.machineSpec.acceleratorCount == INTEGER
    input.Body.createNotebookExecutionJobRequest.notebookExecutionJob.customEnvironmentSpec.machineSpec.acceleratorType == enum_GoogleCloudAiplatformV1MachineSpecAcceleratorType[_]
    input.Body.createNotebookExecutionJobRequest.notebookExecutionJob.customEnvironmentSpec.machineSpec.machineType == STRING
    input.Body.createNotebookExecutionJobRequest.notebookExecutionJob.customEnvironmentSpec.machineSpec.reservationAffinity.key == STRING
    input.Body.createNotebookExecutionJobRequest.notebookExecutionJob.customEnvironmentSpec.machineSpec.reservationAffinity.reservationAffinityType == enum_GoogleCloudAiplatformV1ReservationAffinityReservationAffinityType[_]
    input.Body.createNotebookExecutionJobRequest.notebookExecutionJob.customEnvironmentSpec.machineSpec.reservationAffinity.values[_] == STRING
    input.Body.createNotebookExecutionJobRequest.notebookExecutionJob.customEnvironmentSpec.machineSpec.tpuTopology == STRING
    input.Body.createNotebookExecutionJobRequest.notebookExecutionJob.customEnvironmentSpec.networkSpec.enableInternetAccess == BOOLEAN
    input.Body.createNotebookExecutionJobRequest.notebookExecutionJob.customEnvironmentSpec.networkSpec.network == STRING
    input.Body.createNotebookExecutionJobRequest.notebookExecutionJob.customEnvironmentSpec.networkSpec.subnetwork == STRING
    input.Body.createNotebookExecutionJobRequest.notebookExecutionJob.customEnvironmentSpec.persistentDiskSpec.diskSizeGb == STRING
    input.Body.createNotebookExecutionJobRequest.notebookExecutionJob.customEnvironmentSpec.persistentDiskSpec.diskType == STRING
    input.Body.createNotebookExecutionJobRequest.notebookExecutionJob.dataformRepositorySource.commitSha == STRING
    input.Body.createNotebookExecutionJobRequest.notebookExecutionJob.dataformRepositorySource.dataformRepositoryResourceName == STRING
    input.Body.createNotebookExecutionJobRequest.notebookExecutionJob.directNotebookSource.content == STRING
    input.Body.createNotebookExecutionJobRequest.notebookExecutionJob.displayName == STRING
    input.Body.createNotebookExecutionJobRequest.notebookExecutionJob.encryptionSpec.kmsKeyName == STRING
    input.Body.createNotebookExecutionJobRequest.notebookExecutionJob.executionTimeout == STRING
    input.Body.createNotebookExecutionJobRequest.notebookExecutionJob.executionUser == STRING
    input.Body.createNotebookExecutionJobRequest.notebookExecutionJob.gcsNotebookSource.generation == STRING
    input.Body.createNotebookExecutionJobRequest.notebookExecutionJob.gcsNotebookSource.uri == STRING
    input.Body.createNotebookExecutionJobRequest.notebookExecutionJob.gcsOutputUri == STRING
    input.Body.createNotebookExecutionJobRequest.notebookExecutionJob.kernelName == STRING
    input.Body.createNotebookExecutionJobRequest.notebookExecutionJob.labels.STRING == STRING
    input.Body.createNotebookExecutionJobRequest.notebookExecutionJob.notebookRuntimeTemplateResourceName == STRING
    input.Body.createNotebookExecutionJobRequest.notebookExecutionJob.serviceAccount == STRING
    input.Body.createNotebookExecutionJobRequest.notebookExecutionJob.workbenchRuntime.STRING == STRING
    input.Body.createNotebookExecutionJobRequest.notebookExecutionJobId == STRING
    input.Body.createNotebookExecutionJobRequest.parent == STRING
    input.Body.createPipelineJobRequest.parent == STRING
    input.Body.createPipelineJobRequest.pipelineJob.displayName == STRING
    input.Body.createPipelineJobRequest.pipelineJob.encryptionSpec.kmsKeyName == STRING
    input.Body.createPipelineJobRequest.pipelineJob.labels.STRING == STRING
    input.Body.createPipelineJobRequest.pipelineJob.network == STRING
    input.Body.createPipelineJobRequest.pipelineJob.pipelineSpec.STRING == ANY
    input.Body.createPipelineJobRequest.pipelineJob.preflightValidations == BOOLEAN
    input.Body.createPipelineJobRequest.pipelineJob.reservedIpRanges[_] == STRING
    input.Body.createPipelineJobRequest.pipelineJob.runtimeConfig.failurePolicy == enum_GoogleCloudAiplatformV1PipelineJobRuntimeConfigFailurePolicy[_]
    input.Body.createPipelineJobRequest.pipelineJob.runtimeConfig.gcsOutputDirectory == STRING
    input.Body.createPipelineJobRequest.pipelineJob.runtimeConfig.inputArtifacts.STRING.artifactId == STRING
    input.Body.createPipelineJobRequest.pipelineJob.runtimeConfig.parameterValues.STRING == ANY
    input.Body.createPipelineJobRequest.pipelineJob.runtimeConfig.parameters.STRING.doubleValue == NUMBER
    input.Body.createPipelineJobRequest.pipelineJob.runtimeConfig.parameters.STRING.intValue == STRING
    input.Body.createPipelineJobRequest.pipelineJob.runtimeConfig.parameters.STRING.stringValue == STRING
    input.Body.createPipelineJobRequest.pipelineJob.serviceAccount == STRING
    input.Body.createPipelineJobRequest.pipelineJob.templateUri == STRING
    input.Body.createPipelineJobRequest.pipelineJobId == STRING
    input.Body.cron == STRING
    input.Body.displayName == STRING
    input.Body.endTime == STRING
    input.Body.maxConcurrentRunCount == STRING
    input.Body.maxRunCount == STRING
    input.Body.name == STRING
    input.Body.startTime == STRING
    input.ReqMap.name == STRING
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.locations.schedules.pause

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

aiplatform.projects.locations.schedules.resume

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

aiplatform.projects.locations.solvers.operations.delete

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

aiplatform.projects.locations.solvers.operations.get

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

aiplatform.projects.locations.solvers.operations.list

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

aiplatform.projects.locations.specialistPools.create

valid {
    input.Body.displayName == STRING
    input.Body.name == STRING
    input.Body.specialistManagerEmails[_] == STRING
    input.Body.specialistWorkerEmails[_] == STRING
    input.ReqMap.parent == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.locations.specialistPools.delete

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

aiplatform.projects.locations.specialistPools.get

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

aiplatform.projects.locations.specialistPools.list

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

aiplatform.projects.locations.specialistPools.operations.cancel

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

aiplatform.projects.locations.specialistPools.operations.delete

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

aiplatform.projects.locations.specialistPools.operations.get

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

aiplatform.projects.locations.specialistPools.operations.list

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

aiplatform.projects.locations.specialistPools.operations.wait

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

aiplatform.projects.locations.specialistPools.patch

valid {
    input.Body.displayName == STRING
    input.Body.name == STRING
    input.Body.specialistManagerEmails[_] == STRING
    input.Body.specialistWorkerEmails[_] == STRING
    input.ReqMap.name == STRING
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.locations.studies.create

enum_GoogleCloudAiplatformV1StudySpecAlgorithm := [ "ALGORITHM_UNSPECIFIED", "GRID_SEARCH", "RANDOM_SEARCH" ]
enum_GoogleCloudAiplatformV1StudySpecMeasurementSelectionType := [ "MEASUREMENT_SELECTION_TYPE_UNSPECIFIED", "LAST_MEASUREMENT", "BEST_MEASUREMENT" ]
enum_GoogleCloudAiplatformV1StudySpecMetricSpecGoal := [ "GOAL_TYPE_UNSPECIFIED", "MAXIMIZE", "MINIMIZE" ]
enum_GoogleCloudAiplatformV1StudySpecObservationNoise := [ "OBSERVATION_NOISE_UNSPECIFIED", "LOW", "HIGH" ]
enum_GoogleCloudAiplatformV1StudySpecParameterSpecScaleType := [ "SCALE_TYPE_UNSPECIFIED", "UNIT_LINEAR_SCALE", "UNIT_LOG_SCALE", "UNIT_REVERSE_LOG_SCALE" ]

valid {
    input.Body.displayName == STRING
    input.Body.studySpec.algorithm == enum_GoogleCloudAiplatformV1StudySpecAlgorithm[_]
    input.Body.studySpec.convexAutomatedStoppingSpec.learningRateParameterName == STRING
    input.Body.studySpec.convexAutomatedStoppingSpec.maxStepCount == STRING
    input.Body.studySpec.convexAutomatedStoppingSpec.minMeasurementCount == STRING
    input.Body.studySpec.convexAutomatedStoppingSpec.minStepCount == STRING
    input.Body.studySpec.convexAutomatedStoppingSpec.updateAllStoppedTrials == BOOLEAN
    input.Body.studySpec.convexAutomatedStoppingSpec.useElapsedDuration == BOOLEAN
    input.Body.studySpec.decayCurveStoppingSpec.useElapsedDuration == BOOLEAN
    input.Body.studySpec.measurementSelectionType == enum_GoogleCloudAiplatformV1StudySpecMeasurementSelectionType[_]
    input.Body.studySpec.medianAutomatedStoppingSpec.useElapsedDuration == BOOLEAN
    input.Body.studySpec.metrics[_].goal == enum_GoogleCloudAiplatformV1StudySpecMetricSpecGoal[_]
    input.Body.studySpec.metrics[_].metricId == STRING
    input.Body.studySpec.metrics[_].safetyConfig.desiredMinSafeTrialsFraction == NUMBER
    input.Body.studySpec.metrics[_].safetyConfig.safetyThreshold == NUMBER
    input.Body.studySpec.observationNoise == enum_GoogleCloudAiplatformV1StudySpecObservationNoise[_]
    input.Body.studySpec.parameters[_].categoricalValueSpec.defaultValue == STRING
    input.Body.studySpec.parameters[_].categoricalValueSpec.values[_] == STRING
    input.Body.studySpec.parameters[_].conditionalParameterSpecs[_].parameterSpec == NESTED
    input.Body.studySpec.parameters[_].conditionalParameterSpecs[_].parentCategoricalValues.values[_] == STRING
    input.Body.studySpec.parameters[_].conditionalParameterSpecs[_].parentDiscreteValues.values[_] == NUMBER
    input.Body.studySpec.parameters[_].conditionalParameterSpecs[_].parentIntValues.values[_] == STRING
    input.Body.studySpec.parameters[_].discreteValueSpec.defaultValue == NUMBER
    input.Body.studySpec.parameters[_].discreteValueSpec.values[_] == NUMBER
    input.Body.studySpec.parameters[_].doubleValueSpec.defaultValue == NUMBER
    input.Body.studySpec.parameters[_].doubleValueSpec.maxValue == NUMBER
    input.Body.studySpec.parameters[_].doubleValueSpec.minValue == NUMBER
    input.Body.studySpec.parameters[_].integerValueSpec.defaultValue == STRING
    input.Body.studySpec.parameters[_].integerValueSpec.maxValue == STRING
    input.Body.studySpec.parameters[_].integerValueSpec.minValue == STRING
    input.Body.studySpec.parameters[_].parameterId == STRING
    input.Body.studySpec.parameters[_].scaleType == enum_GoogleCloudAiplatformV1StudySpecParameterSpecScaleType[_]
    input.Body.studySpec.studyStoppingConfig.maxDurationNoProgress == STRING
    input.Body.studySpec.studyStoppingConfig.maxNumTrials == INTEGER
    input.Body.studySpec.studyStoppingConfig.maxNumTrialsNoProgress == INTEGER
    input.Body.studySpec.studyStoppingConfig.maximumRuntimeConstraint.endTime == STRING
    input.Body.studySpec.studyStoppingConfig.maximumRuntimeConstraint.maxDuration == STRING
    input.Body.studySpec.studyStoppingConfig.minNumTrials == INTEGER
    input.Body.studySpec.studyStoppingConfig.minimumRuntimeConstraint.endTime == STRING
    input.Body.studySpec.studyStoppingConfig.minimumRuntimeConstraint.maxDuration == STRING
    input.Body.studySpec.studyStoppingConfig.shouldStopAsap == BOOLEAN
    input.ReqMap.parent == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.locations.studies.delete

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

aiplatform.projects.locations.studies.get

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

aiplatform.projects.locations.studies.list

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

aiplatform.projects.locations.studies.lookup

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

aiplatform.projects.locations.studies.operations.cancel

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

aiplatform.projects.locations.studies.operations.delete

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

aiplatform.projects.locations.studies.operations.get

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

aiplatform.projects.locations.studies.operations.list

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

aiplatform.projects.locations.studies.operations.wait

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

aiplatform.projects.locations.studies.trials.addTrialMeasurement

valid {
    input.Body.measurement == {}
    input.ReqMap.trialName == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.locations.studies.trials.checkTrialEarlyStoppingState

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

aiplatform.projects.locations.studies.trials.complete

valid {
    input.Body.finalMeasurement == {}
    input.Body.infeasibleReason == STRING
    input.Body.trialInfeasible == BOOLEAN
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.locations.studies.trials.create

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

aiplatform.projects.locations.studies.trials.delete

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

aiplatform.projects.locations.studies.trials.get

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

aiplatform.projects.locations.studies.trials.list

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

aiplatform.projects.locations.studies.trials.listOptimalTrials

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

aiplatform.projects.locations.studies.trials.operations.cancel

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

aiplatform.projects.locations.studies.trials.operations.delete

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

aiplatform.projects.locations.studies.trials.operations.get

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

aiplatform.projects.locations.studies.trials.operations.list

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

aiplatform.projects.locations.studies.trials.operations.wait

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

aiplatform.projects.locations.studies.trials.stop

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

aiplatform.projects.locations.studies.trials.suggest

valid {
    input.Body.clientId == STRING
    input.Body.contexts[_].description == STRING
    input.Body.contexts[_].parameters[_] == {}
    input.Body.suggestionCount == INTEGER
    input.ReqMap.parent == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.locations.tensorboards.batchRead

valid {
    input.ReqMap.tensorboard == STRING
    input.Qs.timeSeries == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.locations.tensorboards.create

valid {
    input.Body.description == STRING
    input.Body.displayName == STRING
    input.Body.encryptionSpec.kmsKeyName == STRING
    input.Body.etag == STRING
    input.Body.isDefault == BOOLEAN
    input.Body.labels.STRING == STRING
    input.ReqMap.parent == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.locations.tensorboards.delete

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

aiplatform.projects.locations.tensorboards.experiments.batchCreate

enum_GoogleCloudAiplatformV1TensorboardTimeSeriesValueType := [ "VALUE_TYPE_UNSPECIFIED", "SCALAR", "TENSOR", "BLOB_SEQUENCE" ]

valid {
    input.Body.requests[_].parent == STRING
    input.Body.requests[_].tensorboardTimeSeries.description == STRING
    input.Body.requests[_].tensorboardTimeSeries.displayName == STRING
    input.Body.requests[_].tensorboardTimeSeries.etag == STRING
    input.Body.requests[_].tensorboardTimeSeries.pluginData == STRING
    input.Body.requests[_].tensorboardTimeSeries.pluginName == STRING
    input.Body.requests[_].tensorboardTimeSeries.valueType == enum_GoogleCloudAiplatformV1TensorboardTimeSeriesValueType[_]
    input.Body.requests[_].tensorboardTimeSeriesId == STRING
    input.ReqMap.parent == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.locations.tensorboards.experiments.create

valid {
    input.Body.description == STRING
    input.Body.displayName == STRING
    input.Body.etag == STRING
    input.Body.labels.STRING == STRING
    input.Body.source == STRING
    input.ReqMap.parent == STRING
    input.Qs.tensorboardExperimentId == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.locations.tensorboards.experiments.delete

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

aiplatform.projects.locations.tensorboards.experiments.get

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

aiplatform.projects.locations.tensorboards.experiments.list

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

aiplatform.projects.locations.tensorboards.experiments.operations.cancel

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

aiplatform.projects.locations.tensorboards.experiments.operations.delete

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

aiplatform.projects.locations.tensorboards.experiments.operations.get

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

aiplatform.projects.locations.tensorboards.experiments.operations.list

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

aiplatform.projects.locations.tensorboards.experiments.operations.wait

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

aiplatform.projects.locations.tensorboards.experiments.patch

valid {
    input.Body.description == STRING
    input.Body.displayName == STRING
    input.Body.etag == STRING
    input.Body.labels.STRING == STRING
    input.Body.source == STRING
    input.ReqMap.name == STRING
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.locations.tensorboards.experiments.runs.batchCreate

valid {
    input.Body.requests[_].parent == STRING
    input.Body.requests[_].tensorboardRun.description == STRING
    input.Body.requests[_].tensorboardRun.displayName == STRING
    input.Body.requests[_].tensorboardRun.etag == STRING
    input.Body.requests[_].tensorboardRun.labels.STRING == STRING
    input.Body.requests[_].tensorboardRunId == STRING
    input.ReqMap.parent == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.locations.tensorboards.experiments.runs.create

valid {
    input.Body.description == STRING
    input.Body.displayName == STRING
    input.Body.etag == STRING
    input.Body.labels.STRING == STRING
    input.ReqMap.parent == STRING
    input.Qs.tensorboardRunId == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.locations.tensorboards.experiments.runs.delete

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

aiplatform.projects.locations.tensorboards.experiments.runs.get

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

aiplatform.projects.locations.tensorboards.experiments.runs.list

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

aiplatform.projects.locations.tensorboards.experiments.runs.operations.cancel

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

aiplatform.projects.locations.tensorboards.experiments.runs.operations.delete

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

aiplatform.projects.locations.tensorboards.experiments.runs.operations.get

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

aiplatform.projects.locations.tensorboards.experiments.runs.operations.list

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

aiplatform.projects.locations.tensorboards.experiments.runs.operations.wait

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

aiplatform.projects.locations.tensorboards.experiments.runs.patch

valid {
    input.Body.description == STRING
    input.Body.displayName == STRING
    input.Body.etag == STRING
    input.Body.labels.STRING == STRING
    input.ReqMap.name == STRING
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.locations.tensorboards.experiments.runs.timeSeries.create

enum_GoogleCloudAiplatformV1TensorboardTimeSeriesValueType := [ "VALUE_TYPE_UNSPECIFIED", "SCALAR", "TENSOR", "BLOB_SEQUENCE" ]

valid {
    input.Body.description == STRING
    input.Body.displayName == STRING
    input.Body.etag == STRING
    input.Body.pluginData == STRING
    input.Body.pluginName == STRING
    input.Body.valueType == enum_GoogleCloudAiplatformV1TensorboardTimeSeriesValueType[_]
    input.ReqMap.parent == STRING
    input.Qs.tensorboardTimeSeriesId == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.locations.tensorboards.experiments.runs.timeSeries.delete

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

aiplatform.projects.locations.tensorboards.experiments.runs.timeSeries.exportTensorboardTimeSeries

valid {
    input.Body.filter == STRING
    input.Body.orderBy == STRING
    input.Body.pageSize == INTEGER
    input.Body.pageToken == STRING
    input.ReqMap.tensorboardTimeSeries == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.locations.tensorboards.experiments.runs.timeSeries.get

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

aiplatform.projects.locations.tensorboards.experiments.runs.timeSeries.list

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

aiplatform.projects.locations.tensorboards.experiments.runs.timeSeries.operations.cancel

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

aiplatform.projects.locations.tensorboards.experiments.runs.timeSeries.operations.delete

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

aiplatform.projects.locations.tensorboards.experiments.runs.timeSeries.operations.get

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

aiplatform.projects.locations.tensorboards.experiments.runs.timeSeries.operations.list

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

aiplatform.projects.locations.tensorboards.experiments.runs.timeSeries.operations.wait

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

aiplatform.projects.locations.tensorboards.experiments.runs.timeSeries.patch

enum_GoogleCloudAiplatformV1TensorboardTimeSeriesValueType := [ "VALUE_TYPE_UNSPECIFIED", "SCALAR", "TENSOR", "BLOB_SEQUENCE" ]

valid {
    input.Body.description == STRING
    input.Body.displayName == STRING
    input.Body.etag == STRING
    input.Body.pluginData == STRING
    input.Body.pluginName == STRING
    input.Body.valueType == enum_GoogleCloudAiplatformV1TensorboardTimeSeriesValueType[_]
    input.ReqMap.name == STRING
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.locations.tensorboards.experiments.runs.timeSeries.read

valid {
    input.ReqMap.tensorboardTimeSeries == STRING
    input.Qs.filter == STRING
    input.Qs.maxDataPoints == INTEGER
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.locations.tensorboards.experiments.runs.timeSeries.readBlobData

valid {
    input.ReqMap.timeSeries == STRING
    input.Qs.blobIds == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.locations.tensorboards.experiments.runs.write

enum_GoogleCloudAiplatformV1TimeSeriesDataValueType := [ "VALUE_TYPE_UNSPECIFIED", "SCALAR", "TENSOR", "BLOB_SEQUENCE" ]

valid {
    input.Body.tensorboardRun == STRING
    input.Body.timeSeriesData[_].tensorboardTimeSeriesId == STRING
    input.Body.timeSeriesData[_].valueType == enum_GoogleCloudAiplatformV1TimeSeriesDataValueType[_]
    input.Body.timeSeriesData[_].values[_].blobs.values[_].data == STRING
    input.Body.timeSeriesData[_].values[_].scalar.value == NUMBER
    input.Body.timeSeriesData[_].values[_].step == STRING
    input.Body.timeSeriesData[_].values[_].tensor.value == STRING
    input.Body.timeSeriesData[_].values[_].tensor.versionNumber == INTEGER
    input.Body.timeSeriesData[_].values[_].wallTime == STRING
    input.ReqMap.tensorboardRun == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.locations.tensorboards.experiments.write

enum_GoogleCloudAiplatformV1TimeSeriesDataValueType := [ "VALUE_TYPE_UNSPECIFIED", "SCALAR", "TENSOR", "BLOB_SEQUENCE" ]

valid {
    input.Body.writeRunDataRequests[_].tensorboardRun == STRING
    input.Body.writeRunDataRequests[_].timeSeriesData[_].tensorboardTimeSeriesId == STRING
    input.Body.writeRunDataRequests[_].timeSeriesData[_].valueType == enum_GoogleCloudAiplatformV1TimeSeriesDataValueType[_]
    input.Body.writeRunDataRequests[_].timeSeriesData[_].values[_].blobs.values[_].data == STRING
    input.Body.writeRunDataRequests[_].timeSeriesData[_].values[_].scalar.value == NUMBER
    input.Body.writeRunDataRequests[_].timeSeriesData[_].values[_].step == STRING
    input.Body.writeRunDataRequests[_].timeSeriesData[_].values[_].tensor.value == STRING
    input.Body.writeRunDataRequests[_].timeSeriesData[_].values[_].tensor.versionNumber == INTEGER
    input.Body.writeRunDataRequests[_].timeSeriesData[_].values[_].wallTime == STRING
    input.ReqMap.tensorboardExperiment == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.locations.tensorboards.get

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

aiplatform.projects.locations.tensorboards.list

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

aiplatform.projects.locations.tensorboards.operations.cancel

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

aiplatform.projects.locations.tensorboards.operations.delete

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

aiplatform.projects.locations.tensorboards.operations.get

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

aiplatform.projects.locations.tensorboards.operations.list

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

aiplatform.projects.locations.tensorboards.operations.wait

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

aiplatform.projects.locations.tensorboards.patch

valid {
    input.Body.description == STRING
    input.Body.displayName == STRING
    input.Body.encryptionSpec.kmsKeyName == STRING
    input.Body.etag == STRING
    input.Body.isDefault == BOOLEAN
    input.Body.labels.STRING == STRING
    input.ReqMap.name == STRING
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.locations.tensorboards.readSize

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

aiplatform.projects.locations.tensorboards.readUsage

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

aiplatform.projects.locations.trainingPipelines.cancel

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

aiplatform.projects.locations.trainingPipelines.create

enum_GoogleCloudAiplatformV1ExamplesExampleGcsSourceDataFormat := [ "DATA_FORMAT_UNSPECIFIED", "JSONL" ]
enum_GoogleCloudAiplatformV1ExplanationMetadataInputMetadataEncoding := [ "ENCODING_UNSPECIFIED", "IDENTITY", "BAG_OF_FEATURES", "BAG_OF_FEATURES_SPARSE", "INDICATOR", "COMBINED_EMBEDDING", "CONCAT_EMBEDDING" ]
enum_GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMap := [ "COLOR_MAP_UNSPECIFIED", "PINK_GREEN", "VIRIDIS", "RED", "GREEN", "RED_GREEN", "PINK_WHITE_GREEN" ]
enum_GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOverlayType := [ "OVERLAY_TYPE_UNSPECIFIED", "NONE", "ORIGINAL", "GRAYSCALE", "MASK_BLACK" ]
enum_GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPolarity := [ "POLARITY_UNSPECIFIED", "POSITIVE", "NEGATIVE", "BOTH" ]
enum_GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationType := [ "TYPE_UNSPECIFIED", "PIXELS", "OUTLINES" ]
enum_GoogleCloudAiplatformV1PresetsModality := [ "MODALITY_UNSPECIFIED", "IMAGE", "TEXT", "TABULAR" ]
enum_GoogleCloudAiplatformV1PresetsQuery := [ "PRECISE", "FAST" ]

valid {
    input.Body.displayName == STRING
    input.Body.encryptionSpec.kmsKeyName == STRING
    input.Body.inputDataConfig.annotationSchemaUri == STRING
    input.Body.inputDataConfig.annotationsFilter == STRING
    input.Body.inputDataConfig.bigqueryDestination.outputUri == STRING
    input.Body.inputDataConfig.datasetId == STRING
    input.Body.inputDataConfig.filterSplit.testFilter == STRING
    input.Body.inputDataConfig.filterSplit.trainingFilter == STRING
    input.Body.inputDataConfig.filterSplit.validationFilter == STRING
    input.Body.inputDataConfig.fractionSplit.testFraction == NUMBER
    input.Body.inputDataConfig.fractionSplit.trainingFraction == NUMBER
    input.Body.inputDataConfig.fractionSplit.validationFraction == NUMBER
    input.Body.inputDataConfig.gcsDestination.outputUriPrefix == STRING
    input.Body.inputDataConfig.persistMlUseAssignment == BOOLEAN
    input.Body.inputDataConfig.predefinedSplit.key == STRING
    input.Body.inputDataConfig.savedQueryId == STRING
    input.Body.inputDataConfig.stratifiedSplit.key == STRING
    input.Body.inputDataConfig.stratifiedSplit.testFraction == NUMBER
    input.Body.inputDataConfig.stratifiedSplit.trainingFraction == NUMBER
    input.Body.inputDataConfig.stratifiedSplit.validationFraction == NUMBER
    input.Body.inputDataConfig.timestampSplit.key == STRING
    input.Body.inputDataConfig.timestampSplit.testFraction == NUMBER
    input.Body.inputDataConfig.timestampSplit.trainingFraction == NUMBER
    input.Body.inputDataConfig.timestampSplit.validationFraction == NUMBER
    input.Body.labels.STRING == STRING
    input.Body.modelId == STRING
    input.Body.modelToUpload.artifactUri == STRING
    input.Body.modelToUpload.baseModelSource.genieSource.baseModelUri == STRING
    input.Body.modelToUpload.baseModelSource.modelGardenSource.publicModelName == STRING
    input.Body.modelToUpload.containerSpec.args[_] == STRING
    input.Body.modelToUpload.containerSpec.command[_] == STRING
    input.Body.modelToUpload.containerSpec.deploymentTimeout == STRING
    input.Body.modelToUpload.containerSpec.env[_].name == STRING
    input.Body.modelToUpload.containerSpec.env[_].value == STRING
    input.Body.modelToUpload.containerSpec.grpcPorts[_].containerPort == INTEGER
    input.Body.modelToUpload.containerSpec.healthProbe.exec.command[_] == STRING
    input.Body.modelToUpload.containerSpec.healthProbe.periodSeconds == INTEGER
    input.Body.modelToUpload.containerSpec.healthProbe.timeoutSeconds == INTEGER
    input.Body.modelToUpload.containerSpec.healthRoute == STRING
    input.Body.modelToUpload.containerSpec.imageUri == STRING
    input.Body.modelToUpload.containerSpec.ports[_].containerPort == INTEGER
    input.Body.modelToUpload.containerSpec.predictRoute == STRING
    input.Body.modelToUpload.containerSpec.sharedMemorySizeMb == STRING
    input.Body.modelToUpload.containerSpec.startupProbe.exec.command[_] == STRING
    input.Body.modelToUpload.containerSpec.startupProbe.periodSeconds == INTEGER
    input.Body.modelToUpload.containerSpec.startupProbe.timeoutSeconds == INTEGER
    input.Body.modelToUpload.dataStats.testAnnotationsCount == STRING
    input.Body.modelToUpload.dataStats.testDataItemsCount == STRING
    input.Body.modelToUpload.dataStats.trainingAnnotationsCount == STRING
    input.Body.modelToUpload.dataStats.trainingDataItemsCount == STRING
    input.Body.modelToUpload.dataStats.validationAnnotationsCount == STRING
    input.Body.modelToUpload.dataStats.validationDataItemsCount == STRING
    input.Body.modelToUpload.description == STRING
    input.Body.modelToUpload.displayName == STRING
    input.Body.modelToUpload.encryptionSpec.kmsKeyName == STRING
    input.Body.modelToUpload.etag == STRING
    input.Body.modelToUpload.explanationSpec.metadata.featureAttributionsSchemaUri == STRING
    input.Body.modelToUpload.explanationSpec.metadata.inputs.STRING.denseShapeTensorName == STRING
    input.Body.modelToUpload.explanationSpec.metadata.inputs.STRING.encodedBaselines[_] == ANY
    input.Body.modelToUpload.explanationSpec.metadata.inputs.STRING.encodedTensorName == STRING
    input.Body.modelToUpload.explanationSpec.metadata.inputs.STRING.encoding == enum_GoogleCloudAiplatformV1ExplanationMetadataInputMetadataEncoding[_]
    input.Body.modelToUpload.explanationSpec.metadata.inputs.STRING.featureValueDomain.maxValue == NUMBER
    input.Body.modelToUpload.explanationSpec.metadata.inputs.STRING.featureValueDomain.minValue == NUMBER
    input.Body.modelToUpload.explanationSpec.metadata.inputs.STRING.featureValueDomain.originalMean == NUMBER
    input.Body.modelToUpload.explanationSpec.metadata.inputs.STRING.featureValueDomain.originalStddev == NUMBER
    input.Body.modelToUpload.explanationSpec.metadata.inputs.STRING.groupName == STRING
    input.Body.modelToUpload.explanationSpec.metadata.inputs.STRING.indexFeatureMapping[_] == STRING
    input.Body.modelToUpload.explanationSpec.metadata.inputs.STRING.indicesTensorName == STRING
    input.Body.modelToUpload.explanationSpec.metadata.inputs.STRING.inputBaselines[_] == ANY
    input.Body.modelToUpload.explanationSpec.metadata.inputs.STRING.inputTensorName == STRING
    input.Body.modelToUpload.explanationSpec.metadata.inputs.STRING.modality == STRING
    input.Body.modelToUpload.explanationSpec.metadata.inputs.STRING.visualization.clipPercentLowerbound == NUMBER
    input.Body.modelToUpload.explanationSpec.metadata.inputs.STRING.visualization.clipPercentUpperbound == NUMBER
    input.Body.modelToUpload.explanationSpec.metadata.inputs.STRING.visualization.colorMap == enum_GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMap[_]
    input.Body.modelToUpload.explanationSpec.metadata.inputs.STRING.visualization.overlayType == enum_GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOverlayType[_]
    input.Body.modelToUpload.explanationSpec.metadata.inputs.STRING.visualization.polarity == enum_GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPolarity[_]
    input.Body.modelToUpload.explanationSpec.metadata.inputs.STRING.visualization.type == enum_GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationType[_]
    input.Body.modelToUpload.explanationSpec.metadata.latentSpaceSource == STRING
    input.Body.modelToUpload.explanationSpec.metadata.outputs.STRING.displayNameMappingKey == STRING
    input.Body.modelToUpload.explanationSpec.metadata.outputs.STRING.indexDisplayNameMapping == ANY
    input.Body.modelToUpload.explanationSpec.metadata.outputs.STRING.outputTensorName == STRING
    input.Body.modelToUpload.explanationSpec.parameters.examples.exampleGcsSource.dataFormat == enum_GoogleCloudAiplatformV1ExamplesExampleGcsSourceDataFormat[_]
    input.Body.modelToUpload.explanationSpec.parameters.examples.exampleGcsSource.gcsSource.uris[_] == STRING
    input.Body.modelToUpload.explanationSpec.parameters.examples.nearestNeighborSearchConfig == ANY
    input.Body.modelToUpload.explanationSpec.parameters.examples.neighborCount == INTEGER
    input.Body.modelToUpload.explanationSpec.parameters.examples.presets.modality == enum_GoogleCloudAiplatformV1PresetsModality[_]
    input.Body.modelToUpload.explanationSpec.parameters.examples.presets.query == enum_GoogleCloudAiplatformV1PresetsQuery[_]
    input.Body.modelToUpload.explanationSpec.parameters.integratedGradientsAttribution.blurBaselineConfig.maxBlurSigma == NUMBER
    input.Body.modelToUpload.explanationSpec.parameters.integratedGradientsAttribution.smoothGradConfig.featureNoiseSigma.noiseSigma[_].name == STRING
    input.Body.modelToUpload.explanationSpec.parameters.integratedGradientsAttribution.smoothGradConfig.featureNoiseSigma.noiseSigma[_].sigma == NUMBER
    input.Body.modelToUpload.explanationSpec.parameters.integratedGradientsAttribution.smoothGradConfig.noiseSigma == NUMBER
    input.Body.modelToUpload.explanationSpec.parameters.integratedGradientsAttribution.smoothGradConfig.noisySampleCount == INTEGER
    input.Body.modelToUpload.explanationSpec.parameters.integratedGradientsAttribution.stepCount == INTEGER
    input.Body.modelToUpload.explanationSpec.parameters.outputIndices[_] == ANY
    input.Body.modelToUpload.explanationSpec.parameters.sampledShapleyAttribution.pathCount == INTEGER
    input.Body.modelToUpload.explanationSpec.parameters.topK == INTEGER
    input.Body.modelToUpload.explanationSpec.parameters.xraiAttribution.blurBaselineConfig.maxBlurSigma == NUMBER
    input.Body.modelToUpload.explanationSpec.parameters.xraiAttribution.smoothGradConfig.featureNoiseSigma.noiseSigma[_].name == STRING
    input.Body.modelToUpload.explanationSpec.parameters.xraiAttribution.smoothGradConfig.featureNoiseSigma.noiseSigma[_].sigma == NUMBER
    input.Body.modelToUpload.explanationSpec.parameters.xraiAttribution.smoothGradConfig.noiseSigma == NUMBER
    input.Body.modelToUpload.explanationSpec.parameters.xraiAttribution.smoothGradConfig.noisySampleCount == INTEGER
    input.Body.modelToUpload.explanationSpec.parameters.xraiAttribution.stepCount == INTEGER
    input.Body.modelToUpload.labels.STRING == STRING
    input.Body.modelToUpload.metadata == ANY
    input.Body.modelToUpload.metadataSchemaUri == STRING
    input.Body.modelToUpload.name == STRING
    input.Body.modelToUpload.pipelineJob == STRING
    input.Body.modelToUpload.predictSchemata.instanceSchemaUri == STRING
    input.Body.modelToUpload.predictSchemata.parametersSchemaUri == STRING
    input.Body.modelToUpload.predictSchemata.predictionSchemaUri == STRING
    input.Body.modelToUpload.versionAliases[_] == STRING
    input.Body.modelToUpload.versionDescription == STRING
    input.Body.parentModel == STRING
    input.Body.trainingTaskDefinition == STRING
    input.Body.trainingTaskInputs == ANY
    input.ReqMap.parent == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.locations.trainingPipelines.delete

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

aiplatform.projects.locations.trainingPipelines.get

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

aiplatform.projects.locations.trainingPipelines.list

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

aiplatform.projects.locations.trainingPipelines.operations.cancel

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

aiplatform.projects.locations.trainingPipelines.operations.delete

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

aiplatform.projects.locations.trainingPipelines.operations.get

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

aiplatform.projects.locations.trainingPipelines.operations.list

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

aiplatform.projects.locations.trainingPipelines.operations.wait

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

aiplatform.projects.locations.tuningJobs.cancel

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

aiplatform.projects.locations.tuningJobs.create

enum_GoogleCloudAiplatformV1SupervisedHyperParametersAdapterSize := [ "ADAPTER_SIZE_UNSPECIFIED", "ADAPTER_SIZE_ONE", "ADAPTER_SIZE_FOUR", "ADAPTER_SIZE_EIGHT", "ADAPTER_SIZE_SIXTEEN", "ADAPTER_SIZE_THIRTY_TWO" ]

valid {
    input.Body.baseModel == STRING
    input.Body.description == STRING
    input.Body.encryptionSpec.kmsKeyName == STRING
    input.Body.labels.STRING == STRING
    input.Body.supervisedTuningSpec.hyperParameters.adapterSize == enum_GoogleCloudAiplatformV1SupervisedHyperParametersAdapterSize[_]
    input.Body.supervisedTuningSpec.hyperParameters.epochCount == STRING
    input.Body.supervisedTuningSpec.hyperParameters.learningRateMultiplier == NUMBER
    input.Body.supervisedTuningSpec.trainingDatasetUri == STRING
    input.Body.supervisedTuningSpec.validationDatasetUri == STRING
    input.Body.tunedModelDisplayName == STRING
    input.ReqMap.parent == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.locations.tuningJobs.get

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

aiplatform.projects.locations.tuningJobs.list

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

aiplatform.projects.locations.tuningJobs.operations.cancel

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

aiplatform.projects.locations.tuningJobs.operations.delete

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

aiplatform.projects.locations.tuningJobs.operations.get

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

aiplatform.projects.locations.tuningJobs.operations.list

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

aiplatform.projects.locations.tuningJobs.rebaseTunedModel

enum_GoogleCloudAiplatformV1SupervisedHyperParametersAdapterSize := [ "ADAPTER_SIZE_UNSPECIFIED", "ADAPTER_SIZE_ONE", "ADAPTER_SIZE_FOUR", "ADAPTER_SIZE_EIGHT", "ADAPTER_SIZE_SIXTEEN", "ADAPTER_SIZE_THIRTY_TWO" ]

valid {
    input.Body.artifactDestination.outputUriPrefix == STRING
    input.Body.deployToSameEndpoint == BOOLEAN
    input.Body.tunedModelRef.pipelineJob == STRING
    input.Body.tunedModelRef.tunedModel == STRING
    input.Body.tunedModelRef.tuningJob == STRING
    input.Body.tuningJob.baseModel == STRING
    input.Body.tuningJob.description == STRING
    input.Body.tuningJob.encryptionSpec.kmsKeyName == STRING
    input.Body.tuningJob.labels.STRING == STRING
    input.Body.tuningJob.supervisedTuningSpec.hyperParameters.adapterSize == enum_GoogleCloudAiplatformV1SupervisedHyperParametersAdapterSize[_]
    input.Body.tuningJob.supervisedTuningSpec.hyperParameters.epochCount == STRING
    input.Body.tuningJob.supervisedTuningSpec.hyperParameters.learningRateMultiplier == NUMBER
    input.Body.tuningJob.supervisedTuningSpec.trainingDatasetUri == STRING
    input.Body.tuningJob.supervisedTuningSpec.validationDatasetUri == STRING
    input.Body.tuningJob.tunedModelDisplayName == STRING
    input.ReqMap.parent == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.projects.updateCacheConfig

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

aiplatform.publishers.models.computeTokens

valid {
    input.Body.contents[_].parts[_].fileData.fileUri == STRING
    input.Body.contents[_].parts[_].fileData.mimeType == STRING
    input.Body.contents[_].parts[_].functionCall.args.STRING == ANY
    input.Body.contents[_].parts[_].functionCall.name == STRING
    input.Body.contents[_].parts[_].functionResponse.name == STRING
    input.Body.contents[_].parts[_].functionResponse.response.STRING == ANY
    input.Body.contents[_].parts[_].inlineData.data == STRING
    input.Body.contents[_].parts[_].inlineData.mimeType == STRING
    input.Body.contents[_].parts[_].text == STRING
    input.Body.contents[_].parts[_].videoMetadata.endOffset == STRING
    input.Body.contents[_].parts[_].videoMetadata.startOffset == STRING
    input.Body.contents[_].role == STRING
    input.Body.instances[_] == ANY
    input.Body.model == STRING
    input.ReqMap.endpoint == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.publishers.models.countTokens

enum_GoogleCloudAiplatformV1DynamicRetrievalConfigMode := [ "MODE_UNSPECIFIED", "MODE_DYNAMIC" ]
enum_GoogleCloudAiplatformV1GenerationConfigRoutingConfigAutoRoutingModeModelRoutingPreference := [ "UNKNOWN", "PRIORITIZE_QUALITY", "BALANCED", "PRIORITIZE_COST" ]
enum_GoogleCloudAiplatformV1SchemaType := [ "TYPE_UNSPECIFIED", "STRING", "NUMBER", "INTEGER", "BOOLEAN", "ARRAY", "OBJECT" ]

valid {
    input.Body.contents[_].parts[_].fileData.fileUri == STRING
    input.Body.contents[_].parts[_].fileData.mimeType == STRING
    input.Body.contents[_].parts[_].functionCall.args.STRING == ANY
    input.Body.contents[_].parts[_].functionCall.name == STRING
    input.Body.contents[_].parts[_].functionResponse.name == STRING
    input.Body.contents[_].parts[_].functionResponse.response.STRING == ANY
    input.Body.contents[_].parts[_].inlineData.data == STRING
    input.Body.contents[_].parts[_].inlineData.mimeType == STRING
    input.Body.contents[_].parts[_].text == STRING
    input.Body.contents[_].parts[_].videoMetadata.endOffset == STRING
    input.Body.contents[_].parts[_].videoMetadata.startOffset == STRING
    input.Body.contents[_].role == STRING
    input.Body.generationConfig.audioTimestamp == BOOLEAN
    input.Body.generationConfig.candidateCount == INTEGER
    input.Body.generationConfig.frequencyPenalty == NUMBER
    input.Body.generationConfig.logprobs == INTEGER
    input.Body.generationConfig.maxOutputTokens == INTEGER
    input.Body.generationConfig.presencePenalty == NUMBER
    input.Body.generationConfig.responseLogprobs == BOOLEAN
    input.Body.generationConfig.responseMimeType == STRING
    input.Body.generationConfig.responseSchema.anyOf[_] == NESTED
    input.Body.generationConfig.responseSchema.default == ANY
    input.Body.generationConfig.responseSchema.description == STRING
    input.Body.generationConfig.responseSchema.enum[_] == STRING
    input.Body.generationConfig.responseSchema.example == ANY
    input.Body.generationConfig.responseSchema.format == STRING
    input.Body.generationConfig.responseSchema.items == NESTED
    input.Body.generationConfig.responseSchema.maxItems == STRING
    input.Body.generationConfig.responseSchema.maxLength == STRING
    input.Body.generationConfig.responseSchema.maxProperties == STRING
    input.Body.generationConfig.responseSchema.maximum == NUMBER
    input.Body.generationConfig.responseSchema.minItems == STRING
    input.Body.generationConfig.responseSchema.minLength == STRING
    input.Body.generationConfig.responseSchema.minProperties == STRING
    input.Body.generationConfig.responseSchema.minimum == NUMBER
    input.Body.generationConfig.responseSchema.nullable == BOOLEAN
    input.Body.generationConfig.responseSchema.pattern == STRING
    input.Body.generationConfig.responseSchema.properties.STRING == NESTED
    input.Body.generationConfig.responseSchema.propertyOrdering[_] == STRING
    input.Body.generationConfig.responseSchema.required[_] == STRING
    input.Body.generationConfig.responseSchema.title == STRING
    input.Body.generationConfig.responseSchema.type == enum_GoogleCloudAiplatformV1SchemaType[_]
    input.Body.generationConfig.routingConfig.autoMode.modelRoutingPreference == enum_GoogleCloudAiplatformV1GenerationConfigRoutingConfigAutoRoutingModeModelRoutingPreference[_]
    input.Body.generationConfig.routingConfig.manualMode.modelName == STRING
    input.Body.generationConfig.seed == INTEGER
    input.Body.generationConfig.stopSequences[_] == STRING
    input.Body.generationConfig.temperature == NUMBER
    input.Body.generationConfig.topK == NUMBER
    input.Body.generationConfig.topP == NUMBER
    input.Body.instances[_] == ANY
    input.Body.model == STRING
    input.Body.systemInstruction.parts[_].fileData.fileUri == STRING
    input.Body.systemInstruction.parts[_].fileData.mimeType == STRING
    input.Body.systemInstruction.parts[_].functionCall.args.STRING == ANY
    input.Body.systemInstruction.parts[_].functionCall.name == STRING
    input.Body.systemInstruction.parts[_].functionResponse.name == STRING
    input.Body.systemInstruction.parts[_].functionResponse.response.STRING == ANY
    input.Body.systemInstruction.parts[_].inlineData.data == STRING
    input.Body.systemInstruction.parts[_].inlineData.mimeType == STRING
    input.Body.systemInstruction.parts[_].text == STRING
    input.Body.systemInstruction.parts[_].videoMetadata.endOffset == STRING
    input.Body.systemInstruction.parts[_].videoMetadata.startOffset == STRING
    input.Body.systemInstruction.role == STRING
    input.Body.tools[_].functionDeclarations[_].description == STRING
    input.Body.tools[_].functionDeclarations[_].name == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.anyOf[_] == NESTED
    input.Body.tools[_].functionDeclarations[_].parameters.default == ANY
    input.Body.tools[_].functionDeclarations[_].parameters.description == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.enum[_] == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.example == ANY
    input.Body.tools[_].functionDeclarations[_].parameters.format == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.items == NESTED
    input.Body.tools[_].functionDeclarations[_].parameters.maxItems == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.maxLength == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.maxProperties == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.maximum == NUMBER
    input.Body.tools[_].functionDeclarations[_].parameters.minItems == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.minLength == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.minProperties == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.minimum == NUMBER
    input.Body.tools[_].functionDeclarations[_].parameters.nullable == BOOLEAN
    input.Body.tools[_].functionDeclarations[_].parameters.pattern == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.properties.STRING == NESTED
    input.Body.tools[_].functionDeclarations[_].parameters.propertyOrdering[_] == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.required[_] == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.title == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.type == enum_GoogleCloudAiplatformV1SchemaType[_]
    input.Body.tools[_].functionDeclarations[_].response.anyOf[_] == NESTED
    input.Body.tools[_].functionDeclarations[_].response.default == ANY
    input.Body.tools[_].functionDeclarations[_].response.description == STRING
    input.Body.tools[_].functionDeclarations[_].response.enum[_] == STRING
    input.Body.tools[_].functionDeclarations[_].response.example == ANY
    input.Body.tools[_].functionDeclarations[_].response.format == STRING
    input.Body.tools[_].functionDeclarations[_].response.items == NESTED
    input.Body.tools[_].functionDeclarations[_].response.maxItems == STRING
    input.Body.tools[_].functionDeclarations[_].response.maxLength == STRING
    input.Body.tools[_].functionDeclarations[_].response.maxProperties == STRING
    input.Body.tools[_].functionDeclarations[_].response.maximum == NUMBER
    input.Body.tools[_].functionDeclarations[_].response.minItems == STRING
    input.Body.tools[_].functionDeclarations[_].response.minLength == STRING
    input.Body.tools[_].functionDeclarations[_].response.minProperties == STRING
    input.Body.tools[_].functionDeclarations[_].response.minimum == NUMBER
    input.Body.tools[_].functionDeclarations[_].response.nullable == BOOLEAN
    input.Body.tools[_].functionDeclarations[_].response.pattern == STRING
    input.Body.tools[_].functionDeclarations[_].response.properties.STRING == NESTED
    input.Body.tools[_].functionDeclarations[_].response.propertyOrdering[_] == STRING
    input.Body.tools[_].functionDeclarations[_].response.required[_] == STRING
    input.Body.tools[_].functionDeclarations[_].response.title == STRING
    input.Body.tools[_].functionDeclarations[_].response.type == enum_GoogleCloudAiplatformV1SchemaType[_]
    input.Body.tools[_].googleSearchRetrieval.dynamicRetrievalConfig.dynamicThreshold == NUMBER
    input.Body.tools[_].googleSearchRetrieval.dynamicRetrievalConfig.mode == enum_GoogleCloudAiplatformV1DynamicRetrievalConfigMode[_]
    input.Body.tools[_].retrieval.disableAttribution == BOOLEAN
    input.Body.tools[_].retrieval.vertexAiSearch.datastore == STRING
    input.Body.tools[_].retrieval.vertexRagStore.ragCorpora[_] == STRING
    input.Body.tools[_].retrieval.vertexRagStore.ragResources[_].ragCorpus == STRING
    input.Body.tools[_].retrieval.vertexRagStore.ragResources[_].ragFileIds[_] == STRING
    input.Body.tools[_].retrieval.vertexRagStore.similarityTopK == INTEGER
    input.Body.tools[_].retrieval.vertexRagStore.vectorDistanceThreshold == NUMBER
    input.ReqMap.endpoint == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.publishers.models.generateContent

enum_GoogleCloudAiplatformV1DynamicRetrievalConfigMode := [ "MODE_UNSPECIFIED", "MODE_DYNAMIC" ]
enum_GoogleCloudAiplatformV1FunctionCallingConfigMode := [ "MODE_UNSPECIFIED", "AUTO", "ANY", "NONE" ]
enum_GoogleCloudAiplatformV1GenerationConfigRoutingConfigAutoRoutingModeModelRoutingPreference := [ "UNKNOWN", "PRIORITIZE_QUALITY", "BALANCED", "PRIORITIZE_COST" ]
enum_GoogleCloudAiplatformV1SafetySettingCategory := [ "HARM_CATEGORY_UNSPECIFIED", "HARM_CATEGORY_HATE_SPEECH", "HARM_CATEGORY_DANGEROUS_CONTENT", "HARM_CATEGORY_HARASSMENT", "HARM_CATEGORY_SEXUALLY_EXPLICIT", "HARM_CATEGORY_CIVIC_INTEGRITY" ]
enum_GoogleCloudAiplatformV1SafetySettingMethod := [ "HARM_BLOCK_METHOD_UNSPECIFIED", "SEVERITY", "PROBABILITY" ]
enum_GoogleCloudAiplatformV1SafetySettingThreshold := [ "HARM_BLOCK_THRESHOLD_UNSPECIFIED", "BLOCK_LOW_AND_ABOVE", "BLOCK_MEDIUM_AND_ABOVE", "BLOCK_ONLY_HIGH", "BLOCK_NONE", "OFF" ]
enum_GoogleCloudAiplatformV1SchemaType := [ "TYPE_UNSPECIFIED", "STRING", "NUMBER", "INTEGER", "BOOLEAN", "ARRAY", "OBJECT" ]

valid {
    input.Body.contents[_].parts[_].fileData.fileUri == STRING
    input.Body.contents[_].parts[_].fileData.mimeType == STRING
    input.Body.contents[_].parts[_].functionCall.args.STRING == ANY
    input.Body.contents[_].parts[_].functionCall.name == STRING
    input.Body.contents[_].parts[_].functionResponse.name == STRING
    input.Body.contents[_].parts[_].functionResponse.response.STRING == ANY
    input.Body.contents[_].parts[_].inlineData.data == STRING
    input.Body.contents[_].parts[_].inlineData.mimeType == STRING
    input.Body.contents[_].parts[_].text == STRING
    input.Body.contents[_].parts[_].videoMetadata.endOffset == STRING
    input.Body.contents[_].parts[_].videoMetadata.startOffset == STRING
    input.Body.contents[_].role == STRING
    input.Body.generationConfig.audioTimestamp == BOOLEAN
    input.Body.generationConfig.candidateCount == INTEGER
    input.Body.generationConfig.frequencyPenalty == NUMBER
    input.Body.generationConfig.logprobs == INTEGER
    input.Body.generationConfig.maxOutputTokens == INTEGER
    input.Body.generationConfig.presencePenalty == NUMBER
    input.Body.generationConfig.responseLogprobs == BOOLEAN
    input.Body.generationConfig.responseMimeType == STRING
    input.Body.generationConfig.responseSchema.anyOf[_] == NESTED
    input.Body.generationConfig.responseSchema.default == ANY
    input.Body.generationConfig.responseSchema.description == STRING
    input.Body.generationConfig.responseSchema.enum[_] == STRING
    input.Body.generationConfig.responseSchema.example == ANY
    input.Body.generationConfig.responseSchema.format == STRING
    input.Body.generationConfig.responseSchema.items == NESTED
    input.Body.generationConfig.responseSchema.maxItems == STRING
    input.Body.generationConfig.responseSchema.maxLength == STRING
    input.Body.generationConfig.responseSchema.maxProperties == STRING
    input.Body.generationConfig.responseSchema.maximum == NUMBER
    input.Body.generationConfig.responseSchema.minItems == STRING
    input.Body.generationConfig.responseSchema.minLength == STRING
    input.Body.generationConfig.responseSchema.minProperties == STRING
    input.Body.generationConfig.responseSchema.minimum == NUMBER
    input.Body.generationConfig.responseSchema.nullable == BOOLEAN
    input.Body.generationConfig.responseSchema.pattern == STRING
    input.Body.generationConfig.responseSchema.properties.STRING == NESTED
    input.Body.generationConfig.responseSchema.propertyOrdering[_] == STRING
    input.Body.generationConfig.responseSchema.required[_] == STRING
    input.Body.generationConfig.responseSchema.title == STRING
    input.Body.generationConfig.responseSchema.type == enum_GoogleCloudAiplatformV1SchemaType[_]
    input.Body.generationConfig.routingConfig.autoMode.modelRoutingPreference == enum_GoogleCloudAiplatformV1GenerationConfigRoutingConfigAutoRoutingModeModelRoutingPreference[_]
    input.Body.generationConfig.routingConfig.manualMode.modelName == STRING
    input.Body.generationConfig.seed == INTEGER
    input.Body.generationConfig.stopSequences[_] == STRING
    input.Body.generationConfig.temperature == NUMBER
    input.Body.generationConfig.topK == NUMBER
    input.Body.generationConfig.topP == NUMBER
    input.Body.labels.STRING == STRING
    input.Body.safetySettings[_].category == enum_GoogleCloudAiplatformV1SafetySettingCategory[_]
    input.Body.safetySettings[_].method == enum_GoogleCloudAiplatformV1SafetySettingMethod[_]
    input.Body.safetySettings[_].threshold == enum_GoogleCloudAiplatformV1SafetySettingThreshold[_]
    input.Body.systemInstruction.parts[_].fileData.fileUri == STRING
    input.Body.systemInstruction.parts[_].fileData.mimeType == STRING
    input.Body.systemInstruction.parts[_].functionCall.args.STRING == ANY
    input.Body.systemInstruction.parts[_].functionCall.name == STRING
    input.Body.systemInstruction.parts[_].functionResponse.name == STRING
    input.Body.systemInstruction.parts[_].functionResponse.response.STRING == ANY
    input.Body.systemInstruction.parts[_].inlineData.data == STRING
    input.Body.systemInstruction.parts[_].inlineData.mimeType == STRING
    input.Body.systemInstruction.parts[_].text == STRING
    input.Body.systemInstruction.parts[_].videoMetadata.endOffset == STRING
    input.Body.systemInstruction.parts[_].videoMetadata.startOffset == STRING
    input.Body.systemInstruction.role == STRING
    input.Body.toolConfig.functionCallingConfig.allowedFunctionNames[_] == STRING
    input.Body.toolConfig.functionCallingConfig.mode == enum_GoogleCloudAiplatformV1FunctionCallingConfigMode[_]
    input.Body.tools[_].functionDeclarations[_].description == STRING
    input.Body.tools[_].functionDeclarations[_].name == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.anyOf[_] == NESTED
    input.Body.tools[_].functionDeclarations[_].parameters.default == ANY
    input.Body.tools[_].functionDeclarations[_].parameters.description == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.enum[_] == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.example == ANY
    input.Body.tools[_].functionDeclarations[_].parameters.format == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.items == NESTED
    input.Body.tools[_].functionDeclarations[_].parameters.maxItems == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.maxLength == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.maxProperties == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.maximum == NUMBER
    input.Body.tools[_].functionDeclarations[_].parameters.minItems == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.minLength == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.minProperties == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.minimum == NUMBER
    input.Body.tools[_].functionDeclarations[_].parameters.nullable == BOOLEAN
    input.Body.tools[_].functionDeclarations[_].parameters.pattern == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.properties.STRING == NESTED
    input.Body.tools[_].functionDeclarations[_].parameters.propertyOrdering[_] == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.required[_] == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.title == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.type == enum_GoogleCloudAiplatformV1SchemaType[_]
    input.Body.tools[_].functionDeclarations[_].response.anyOf[_] == NESTED
    input.Body.tools[_].functionDeclarations[_].response.default == ANY
    input.Body.tools[_].functionDeclarations[_].response.description == STRING
    input.Body.tools[_].functionDeclarations[_].response.enum[_] == STRING
    input.Body.tools[_].functionDeclarations[_].response.example == ANY
    input.Body.tools[_].functionDeclarations[_].response.format == STRING
    input.Body.tools[_].functionDeclarations[_].response.items == NESTED
    input.Body.tools[_].functionDeclarations[_].response.maxItems == STRING
    input.Body.tools[_].functionDeclarations[_].response.maxLength == STRING
    input.Body.tools[_].functionDeclarations[_].response.maxProperties == STRING
    input.Body.tools[_].functionDeclarations[_].response.maximum == NUMBER
    input.Body.tools[_].functionDeclarations[_].response.minItems == STRING
    input.Body.tools[_].functionDeclarations[_].response.minLength == STRING
    input.Body.tools[_].functionDeclarations[_].response.minProperties == STRING
    input.Body.tools[_].functionDeclarations[_].response.minimum == NUMBER
    input.Body.tools[_].functionDeclarations[_].response.nullable == BOOLEAN
    input.Body.tools[_].functionDeclarations[_].response.pattern == STRING
    input.Body.tools[_].functionDeclarations[_].response.properties.STRING == NESTED
    input.Body.tools[_].functionDeclarations[_].response.propertyOrdering[_] == STRING
    input.Body.tools[_].functionDeclarations[_].response.required[_] == STRING
    input.Body.tools[_].functionDeclarations[_].response.title == STRING
    input.Body.tools[_].functionDeclarations[_].response.type == enum_GoogleCloudAiplatformV1SchemaType[_]
    input.Body.tools[_].googleSearchRetrieval.dynamicRetrievalConfig.dynamicThreshold == NUMBER
    input.Body.tools[_].googleSearchRetrieval.dynamicRetrievalConfig.mode == enum_GoogleCloudAiplatformV1DynamicRetrievalConfigMode[_]
    input.Body.tools[_].retrieval.disableAttribution == BOOLEAN
    input.Body.tools[_].retrieval.vertexAiSearch.datastore == STRING
    input.Body.tools[_].retrieval.vertexRagStore.ragCorpora[_] == STRING
    input.Body.tools[_].retrieval.vertexRagStore.ragResources[_].ragCorpus == STRING
    input.Body.tools[_].retrieval.vertexRagStore.ragResources[_].ragFileIds[_] == STRING
    input.Body.tools[_].retrieval.vertexRagStore.similarityTopK == INTEGER
    input.Body.tools[_].retrieval.vertexRagStore.vectorDistanceThreshold == NUMBER
    input.ReqMap.model == STRING
    input.ProviderMetadata.Region == STRING
}

aiplatform.publishers.models.get

enum_ViewParameter := [ "PUBLISHER_MODEL_VIEW_UNSPECIFIED", "PUBLISHER_MODEL_VIEW_BASIC", "PUBLISHER_MODEL_VIEW_FULL", "PUBLISHER_MODEL_VERSION_VIEW_BASIC" ]

valid {
    input.ReqMap.name == STRING
    input.Qs.huggingFaceToken == STRING
    input.Qs.isHuggingFaceModel == BOOLEAN
    input.Qs.languageCode == STRING
    input.Qs.view == enum_ViewParameter[_]
    input.ProviderMetadata.Region == STRING
}

aiplatform.publishers.models.list

enum_ViewParameter := [ "PUBLISHER_MODEL_VIEW_UNSPECIFIED", "PUBLISHER_MODEL_VIEW_BASIC", "PUBLISHER_MODEL_VIEW_FULL", "PUBLISHER_MODEL_VERSION_VIEW_BASIC" ]

valid {
    input.ReqMap.parent == STRING
    input.Qs.filter == STRING
    input.Qs.languageCode == STRING
    input.Qs.orderBy == STRING
    input.Qs.pageSize == INTEGER
    input.Qs.pageToken == STRING
    input.Qs.view == enum_ViewParameter[_]
    input.ProviderMetadata.Region == STRING
}

aiplatform.publishers.models.streamGenerateContent

enum_GoogleCloudAiplatformV1DynamicRetrievalConfigMode := [ "MODE_UNSPECIFIED", "MODE_DYNAMIC" ]
enum_GoogleCloudAiplatformV1FunctionCallingConfigMode := [ "MODE_UNSPECIFIED", "AUTO", "ANY", "NONE" ]
enum_GoogleCloudAiplatformV1GenerationConfigRoutingConfigAutoRoutingModeModelRoutingPreference := [ "UNKNOWN", "PRIORITIZE_QUALITY", "BALANCED", "PRIORITIZE_COST" ]
enum_GoogleCloudAiplatformV1SafetySettingCategory := [ "HARM_CATEGORY_UNSPECIFIED", "HARM_CATEGORY_HATE_SPEECH", "HARM_CATEGORY_DANGEROUS_CONTENT", "HARM_CATEGORY_HARASSMENT", "HARM_CATEGORY_SEXUALLY_EXPLICIT", "HARM_CATEGORY_CIVIC_INTEGRITY" ]
enum_GoogleCloudAiplatformV1SafetySettingMethod := [ "HARM_BLOCK_METHOD_UNSPECIFIED", "SEVERITY", "PROBABILITY" ]
enum_GoogleCloudAiplatformV1SafetySettingThreshold := [ "HARM_BLOCK_THRESHOLD_UNSPECIFIED", "BLOCK_LOW_AND_ABOVE", "BLOCK_MEDIUM_AND_ABOVE", "BLOCK_ONLY_HIGH", "BLOCK_NONE", "OFF" ]
enum_GoogleCloudAiplatformV1SchemaType := [ "TYPE_UNSPECIFIED", "STRING", "NUMBER", "INTEGER", "BOOLEAN", "ARRAY", "OBJECT" ]

valid {
    input.Body.contents[_].parts[_].fileData.fileUri == STRING
    input.Body.contents[_].parts[_].fileData.mimeType == STRING
    input.Body.contents[_].parts[_].functionCall.args.STRING == ANY
    input.Body.contents[_].parts[_].functionCall.name == STRING
    input.Body.contents[_].parts[_].functionResponse.name == STRING
    input.Body.contents[_].parts[_].functionResponse.response.STRING == ANY
    input.Body.contents[_].parts[_].inlineData.data == STRING
    input.Body.contents[_].parts[_].inlineData.mimeType == STRING
    input.Body.contents[_].parts[_].text == STRING
    input.Body.contents[_].parts[_].videoMetadata.endOffset == STRING
    input.Body.contents[_].parts[_].videoMetadata.startOffset == STRING
    input.Body.contents[_].role == STRING
    input.Body.generationConfig.audioTimestamp == BOOLEAN
    input.Body.generationConfig.candidateCount == INTEGER
    input.Body.generationConfig.frequencyPenalty == NUMBER
    input.Body.generationConfig.logprobs == INTEGER
    input.Body.generationConfig.maxOutputTokens == INTEGER
    input.Body.generationConfig.presencePenalty == NUMBER
    input.Body.generationConfig.responseLogprobs == BOOLEAN
    input.Body.generationConfig.responseMimeType == STRING
    input.Body.generationConfig.responseSchema.anyOf[_] == NESTED
    input.Body.generationConfig.responseSchema.default == ANY
    input.Body.generationConfig.responseSchema.description == STRING
    input.Body.generationConfig.responseSchema.enum[_] == STRING
    input.Body.generationConfig.responseSchema.example == ANY
    input.Body.generationConfig.responseSchema.format == STRING
    input.Body.generationConfig.responseSchema.items == NESTED
    input.Body.generationConfig.responseSchema.maxItems == STRING
    input.Body.generationConfig.responseSchema.maxLength == STRING
    input.Body.generationConfig.responseSchema.maxProperties == STRING
    input.Body.generationConfig.responseSchema.maximum == NUMBER
    input.Body.generationConfig.responseSchema.minItems == STRING
    input.Body.generationConfig.responseSchema.minLength == STRING
    input.Body.generationConfig.responseSchema.minProperties == STRING
    input.Body.generationConfig.responseSchema.minimum == NUMBER
    input.Body.generationConfig.responseSchema.nullable == BOOLEAN
    input.Body.generationConfig.responseSchema.pattern == STRING
    input.Body.generationConfig.responseSchema.properties.STRING == NESTED
    input.Body.generationConfig.responseSchema.propertyOrdering[_] == STRING
    input.Body.generationConfig.responseSchema.required[_] == STRING
    input.Body.generationConfig.responseSchema.title == STRING
    input.Body.generationConfig.responseSchema.type == enum_GoogleCloudAiplatformV1SchemaType[_]
    input.Body.generationConfig.routingConfig.autoMode.modelRoutingPreference == enum_GoogleCloudAiplatformV1GenerationConfigRoutingConfigAutoRoutingModeModelRoutingPreference[_]
    input.Body.generationConfig.routingConfig.manualMode.modelName == STRING
    input.Body.generationConfig.seed == INTEGER
    input.Body.generationConfig.stopSequences[_] == STRING
    input.Body.generationConfig.temperature == NUMBER
    input.Body.generationConfig.topK == NUMBER
    input.Body.generationConfig.topP == NUMBER
    input.Body.labels.STRING == STRING
    input.Body.safetySettings[_].category == enum_GoogleCloudAiplatformV1SafetySettingCategory[_]
    input.Body.safetySettings[_].method == enum_GoogleCloudAiplatformV1SafetySettingMethod[_]
    input.Body.safetySettings[_].threshold == enum_GoogleCloudAiplatformV1SafetySettingThreshold[_]
    input.Body.systemInstruction.parts[_].fileData.fileUri == STRING
    input.Body.systemInstruction.parts[_].fileData.mimeType == STRING
    input.Body.systemInstruction.parts[_].functionCall.args.STRING == ANY
    input.Body.systemInstruction.parts[_].functionCall.name == STRING
    input.Body.systemInstruction.parts[_].functionResponse.name == STRING
    input.Body.systemInstruction.parts[_].functionResponse.response.STRING == ANY
    input.Body.systemInstruction.parts[_].inlineData.data == STRING
    input.Body.systemInstruction.parts[_].inlineData.mimeType == STRING
    input.Body.systemInstruction.parts[_].text == STRING
    input.Body.systemInstruction.parts[_].videoMetadata.endOffset == STRING
    input.Body.systemInstruction.parts[_].videoMetadata.startOffset == STRING
    input.Body.systemInstruction.role == STRING
    input.Body.toolConfig.functionCallingConfig.allowedFunctionNames[_] == STRING
    input.Body.toolConfig.functionCallingConfig.mode == enum_GoogleCloudAiplatformV1FunctionCallingConfigMode[_]
    input.Body.tools[_].functionDeclarations[_].description == STRING
    input.Body.tools[_].functionDeclarations[_].name == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.anyOf[_] == NESTED
    input.Body.tools[_].functionDeclarations[_].parameters.default == ANY
    input.Body.tools[_].functionDeclarations[_].parameters.description == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.enum[_] == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.example == ANY
    input.Body.tools[_].functionDeclarations[_].parameters.format == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.items == NESTED
    input.Body.tools[_].functionDeclarations[_].parameters.maxItems == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.maxLength == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.maxProperties == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.maximum == NUMBER
    input.Body.tools[_].functionDeclarations[_].parameters.minItems == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.minLength == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.minProperties == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.minimum == NUMBER
    input.Body.tools[_].functionDeclarations[_].parameters.nullable == BOOLEAN
    input.Body.tools[_].functionDeclarations[_].parameters.pattern == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.properties.STRING == NESTED
    input.Body.tools[_].functionDeclarations[_].parameters.propertyOrdering[_] == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.required[_] == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.title == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.type == enum_GoogleCloudAiplatformV1SchemaType[_]
    input.Body.tools[_].functionDeclarations[_].response.anyOf[_] == NESTED
    input.Body.tools[_].functionDeclarations[_].response.default == ANY
    input.Body.tools[_].functionDeclarations[_].response.description == STRING
    input.Body.tools[_].functionDeclarations[_].response.enum[_] == STRING
    input.Body.tools[_].functionDeclarations[_].response.example == ANY
    input.Body.tools[_].functionDeclarations[_].response.format == STRING
    input.Body.tools[_].functionDeclarations[_].response.items == NESTED
    input.Body.tools[_].functionDeclarations[_].response.maxItems == STRING
    input.Body.tools[_].functionDeclarations[_].response.maxLength == STRING
    input.Body.tools[_].functionDeclarations[_].response.maxProperties == STRING
    input.Body.tools[_].functionDeclarations[_].response.maximum == NUMBER
    input.Body.tools[_].functionDeclarations[_].response.minItems == STRING
    input.Body.tools[_].functionDeclarations[_].response.minLength == STRING
    input.Body.tools[_].functionDeclarations[_].response.minProperties == STRING
    input.Body.tools[_].functionDeclarations[_].response.minimum == NUMBER
    input.Body.tools[_].functionDeclarations[_].response.nullable == BOOLEAN
    input.Body.tools[_].functionDeclarations[_].response.pattern == STRING
    input.Body.tools[_].functionDeclarations[_].response.properties.STRING == NESTED
    input.Body.tools[_].functionDeclarations[_].response.propertyOrdering[_] == STRING
    input.Body.tools[_].functionDeclarations[_].response.required[_] == STRING
    input.Body.tools[_].functionDeclarations[_].response.title == STRING
    input.Body.tools[_].functionDeclarations[_].response.type == enum_GoogleCloudAiplatformV1SchemaType[_]
    input.Body.tools[_].googleSearchRetrieval.dynamicRetrievalConfig.dynamicThreshold == NUMBER
    input.Body.tools[_].googleSearchRetrieval.dynamicRetrievalConfig.mode == enum_GoogleCloudAiplatformV1DynamicRetrievalConfigMode[_]
    input.Body.tools[_].retrieval.disableAttribution == BOOLEAN
    input.Body.tools[_].retrieval.vertexAiSearch.datastore == STRING
    input.Body.tools[_].retrieval.vertexRagStore.ragCorpora[_] == STRING
    input.Body.tools[_].retrieval.vertexRagStore.ragResources[_].ragCorpus == STRING
    input.Body.tools[_].retrieval.vertexRagStore.ragResources[_].ragFileIds[_] == STRING
    input.Body.tools[_].retrieval.vertexRagStore.similarityTopK == INTEGER
    input.Body.tools[_].retrieval.vertexRagStore.vectorDistanceThreshold == NUMBER
    input.ReqMap.model == STRING
    input.ProviderMetadata.Region == STRING
}