appengine.apps.authorizedCertificates.create

enum_ManagedCertificateStatus := [ "MANAGEMENT_STATUS_UNSPECIFIED", "OK", "PENDING", "FAILED_RETRYING_NOT_VISIBLE", "FAILED_PERMANENT", "FAILED_RETRYING_CAA_FORBIDDEN", "FAILED_RETRYING_CAA_CHECKING" ]

valid {
    input.Body.certificateRawData.privateKey == STRING
    input.Body.certificateRawData.publicCertificate == STRING
    input.Body.displayName == STRING
    input.Body.domainMappingsCount == INTEGER
    input.Body.domainNames[_] == STRING
    input.Body.expireTime == STRING
    input.Body.id == STRING
    input.Body.managedCertificate.lastRenewalTime == STRING
    input.Body.managedCertificate.status == enum_ManagedCertificateStatus[_]
    input.Body.name == STRING
    input.Body.visibleDomainMappings[_] == STRING
    input.ReqMap.appsId == STRING
    input.ProviderMetadata.Region == STRING
}

appengine.apps.authorizedCertificates.delete

valid {
    input.ReqMap.appsId == STRING
    input.ReqMap.authorizedCertificatesId == STRING
    input.ProviderMetadata.Region == STRING
}

appengine.apps.authorizedCertificates.get

enum_ViewParameter := [ "BASIC_CERTIFICATE", "FULL_CERTIFICATE" ]

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

appengine.apps.authorizedCertificates.list

enum_ViewParameter := [ "BASIC_CERTIFICATE", "FULL_CERTIFICATE" ]

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

appengine.apps.authorizedCertificates.patch

enum_ManagedCertificateStatus := [ "MANAGEMENT_STATUS_UNSPECIFIED", "OK", "PENDING", "FAILED_RETRYING_NOT_VISIBLE", "FAILED_PERMANENT", "FAILED_RETRYING_CAA_FORBIDDEN", "FAILED_RETRYING_CAA_CHECKING" ]

valid {
    input.Body.certificateRawData.privateKey == STRING
    input.Body.certificateRawData.publicCertificate == STRING
    input.Body.displayName == STRING
    input.Body.domainMappingsCount == INTEGER
    input.Body.domainNames[_] == STRING
    input.Body.expireTime == STRING
    input.Body.id == STRING
    input.Body.managedCertificate.lastRenewalTime == STRING
    input.Body.managedCertificate.status == enum_ManagedCertificateStatus[_]
    input.Body.name == STRING
    input.Body.visibleDomainMappings[_] == STRING
    input.ReqMap.appsId == STRING
    input.ReqMap.authorizedCertificatesId == STRING
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

appengine.apps.authorizedDomains.list

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

appengine.apps.create

enum_ApplicationDatabaseType := [ "DATABASE_TYPE_UNSPECIFIED", "CLOUD_DATASTORE", "CLOUD_FIRESTORE", "CLOUD_DATASTORE_COMPATIBILITY" ]
enum_ApplicationServingStatus := [ "UNSPECIFIED", "SERVING", "USER_DISABLED", "SYSTEM_DISABLED" ]

valid {
    input.Body.authDomain == STRING
    input.Body.databaseType == enum_ApplicationDatabaseType[_]
    input.Body.defaultCookieExpiration == STRING
    input.Body.dispatchRules[_].domain == STRING
    input.Body.dispatchRules[_].path == STRING
    input.Body.dispatchRules[_].service == STRING
    input.Body.featureSettings.splitHealthChecks == BOOLEAN
    input.Body.featureSettings.useContainerOptimizedOs == BOOLEAN
    input.Body.generatedCustomerMetadata.STRING == ANY
    input.Body.iap.enabled == BOOLEAN
    input.Body.iap.oauth2ClientId == STRING
    input.Body.iap.oauth2ClientSecret == STRING
    input.Body.id == STRING
    input.Body.locationId == STRING
    input.Body.serviceAccount == STRING
    input.Body.servingStatus == enum_ApplicationServingStatus[_]
    input.ProviderMetadata.Region == STRING
}

appengine.apps.domainMappings.create

enum_OverrideStrategyParameter := [ "UNSPECIFIED_DOMAIN_OVERRIDE_STRATEGY", "STRICT", "OVERRIDE" ]
enum_ResourceRecordType := [ "RECORD_TYPE_UNSPECIFIED", "A", "AAAA", "CNAME" ]
enum_SslSettingsSslManagementType := [ "SSL_MANAGEMENT_TYPE_UNSPECIFIED", "AUTOMATIC", "MANUAL" ]

valid {
    input.Body.id == STRING
    input.Body.name == STRING
    input.Body.resourceRecords[_].name == STRING
    input.Body.resourceRecords[_].rrdata == STRING
    input.Body.resourceRecords[_].type == enum_ResourceRecordType[_]
    input.Body.sslSettings.certificateId == STRING
    input.Body.sslSettings.pendingManagedCertificateId == STRING
    input.Body.sslSettings.sslManagementType == enum_SslSettingsSslManagementType[_]
    input.ReqMap.appsId == STRING
    input.Qs.overrideStrategy == enum_OverrideStrategyParameter[_]
    input.ProviderMetadata.Region == STRING
}

appengine.apps.domainMappings.delete

valid {
    input.ReqMap.appsId == STRING
    input.ReqMap.domainMappingsId == STRING
    input.ProviderMetadata.Region == STRING
}

appengine.apps.domainMappings.get

valid {
    input.ReqMap.appsId == STRING
    input.ReqMap.domainMappingsId == STRING
    input.ProviderMetadata.Region == STRING
}

appengine.apps.domainMappings.list

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

appengine.apps.domainMappings.patch

enum_ResourceRecordType := [ "RECORD_TYPE_UNSPECIFIED", "A", "AAAA", "CNAME" ]
enum_SslSettingsSslManagementType := [ "SSL_MANAGEMENT_TYPE_UNSPECIFIED", "AUTOMATIC", "MANUAL" ]

valid {
    input.Body.id == STRING
    input.Body.name == STRING
    input.Body.resourceRecords[_].name == STRING
    input.Body.resourceRecords[_].rrdata == STRING
    input.Body.resourceRecords[_].type == enum_ResourceRecordType[_]
    input.Body.sslSettings.certificateId == STRING
    input.Body.sslSettings.pendingManagedCertificateId == STRING
    input.Body.sslSettings.sslManagementType == enum_SslSettingsSslManagementType[_]
    input.ReqMap.appsId == STRING
    input.ReqMap.domainMappingsId == STRING
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

appengine.apps.firewall.ingressRules.batchUpdate

enum_FirewallRuleAction := [ "UNSPECIFIED_ACTION", "ALLOW", "DENY" ]

valid {
    input.Body.ingressRules[_].action == enum_FirewallRuleAction[_]
    input.Body.ingressRules[_].description == STRING
    input.Body.ingressRules[_].priority == INTEGER
    input.Body.ingressRules[_].sourceRange == STRING
    input.ReqMap.appsId == STRING
    input.ProviderMetadata.Region == STRING
}

appengine.apps.firewall.ingressRules.create

enum_FirewallRuleAction := [ "UNSPECIFIED_ACTION", "ALLOW", "DENY" ]

valid {
    input.Body.action == enum_FirewallRuleAction[_]
    input.Body.description == STRING
    input.Body.priority == INTEGER
    input.Body.sourceRange == STRING
    input.ReqMap.appsId == STRING
    input.ProviderMetadata.Region == STRING
}

appengine.apps.firewall.ingressRules.delete

valid {
    input.ReqMap.appsId == STRING
    input.ReqMap.ingressRulesId == STRING
    input.ProviderMetadata.Region == STRING
}

appengine.apps.firewall.ingressRules.get

valid {
    input.ReqMap.appsId == STRING
    input.ReqMap.ingressRulesId == STRING
    input.ProviderMetadata.Region == STRING
}

appengine.apps.firewall.ingressRules.list

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

appengine.apps.firewall.ingressRules.patch

enum_FirewallRuleAction := [ "UNSPECIFIED_ACTION", "ALLOW", "DENY" ]

valid {
    input.Body.action == enum_FirewallRuleAction[_]
    input.Body.description == STRING
    input.Body.priority == INTEGER
    input.Body.sourceRange == STRING
    input.ReqMap.appsId == STRING
    input.ReqMap.ingressRulesId == STRING
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

appengine.apps.get

enum_IncludeExtraDataParameter := [ "INCLUDE_EXTRA_DATA_UNSPECIFIED", "INCLUDE_EXTRA_DATA_NONE", "INCLUDE_GOOGLE_GENERATED_METADATA" ]

valid {
    input.ReqMap.appsId == STRING
    input.Qs.includeExtraData == enum_IncludeExtraDataParameter[_]
    input.ProviderMetadata.Region == STRING
}

appengine.apps.listRuntimes

enum_EnvironmentParameter := [ "ENVIRONMENT_UNSPECIFIED", "STANDARD", "FLEXIBLE" ]

valid {
    input.ReqMap.appsId == STRING
    input.Qs.environment == enum_EnvironmentParameter[_]
    input.ProviderMetadata.Region == STRING
}

appengine.apps.locations.get

valid {
    input.ReqMap.appsId == STRING
    input.ReqMap.locationsId == STRING
    input.ProviderMetadata.Region == STRING
}

appengine.apps.locations.list

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

appengine.apps.modules.delete

valid {
    input.ReqMap.appsId == STRING
    input.ReqMap.modulesId == STRING
    input.ProviderMetadata.Region == STRING
}

appengine.apps.modules.get

valid {
    input.ReqMap.appsId == STRING
    input.ReqMap.modulesId == STRING
    input.ProviderMetadata.Region == STRING
}

appengine.apps.modules.list

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

appengine.apps.modules.patch

enum_TrafficSplitShardBy := [ "UNSPECIFIED", "COOKIE", "IP" ]

valid {
    input.Body.id == STRING
    input.Body.name == STRING
    input.Body.split.allocations.STRING == NUMBER
    input.Body.split.shardBy == enum_TrafficSplitShardBy[_]
    input.ReqMap.appsId == STRING
    input.ReqMap.modulesId == STRING
    input.Qs.mask == STRING
    input.Qs.migrateTraffic == BOOLEAN
    input.ProviderMetadata.Region == STRING
}

appengine.apps.modules.versions.create

enum_ApiConfigHandlerAuthFailAction := [ "AUTH_FAIL_ACTION_UNSPECIFIED", "AUTH_FAIL_ACTION_REDIRECT", "AUTH_FAIL_ACTION_UNAUTHORIZED" ]
enum_ApiConfigHandlerLogin := [ "LOGIN_UNSPECIFIED", "LOGIN_OPTIONAL", "LOGIN_ADMIN", "LOGIN_REQUIRED" ]
enum_ApiConfigHandlerSecurityLevel := [ "SECURE_UNSPECIFIED", "SECURE_DEFAULT", "SECURE_NEVER", "SECURE_OPTIONAL", "SECURE_ALWAYS" ]
enum_EndpointsApiServiceRolloutStrategy := [ "UNSPECIFIED_ROLLOUT_STRATEGY", "FIXED", "MANAGED" ]
enum_ErrorHandlerErrorCode := [ "ERROR_CODE_UNSPECIFIED", "ERROR_CODE_DEFAULT", "ERROR_CODE_OVER_QUOTA", "ERROR_CODE_DOS_API_DENIAL", "ERROR_CODE_TIMEOUT" ]
enum_UrlMapAuthFailAction := [ "AUTH_FAIL_ACTION_UNSPECIFIED", "AUTH_FAIL_ACTION_REDIRECT", "AUTH_FAIL_ACTION_UNAUTHORIZED" ]
enum_UrlMapLogin := [ "LOGIN_UNSPECIFIED", "LOGIN_OPTIONAL", "LOGIN_ADMIN", "LOGIN_REQUIRED" ]
enum_UrlMapRedirectHttpResponseCode := [ "REDIRECT_HTTP_RESPONSE_CODE_UNSPECIFIED", "REDIRECT_HTTP_RESPONSE_CODE_301", "REDIRECT_HTTP_RESPONSE_CODE_302", "REDIRECT_HTTP_RESPONSE_CODE_303", "REDIRECT_HTTP_RESPONSE_CODE_307" ]
enum_UrlMapSecurityLevel := [ "SECURE_UNSPECIFIED", "SECURE_DEFAULT", "SECURE_NEVER", "SECURE_OPTIONAL", "SECURE_ALWAYS" ]
enum_VersionInboundServices := [ "INBOUND_SERVICE_UNSPECIFIED", "INBOUND_SERVICE_MAIL", "INBOUND_SERVICE_MAIL_BOUNCE", "INBOUND_SERVICE_XMPP_ERROR", "INBOUND_SERVICE_XMPP_MESSAGE", "INBOUND_SERVICE_XMPP_SUBSCRIBE", "INBOUND_SERVICE_XMPP_PRESENCE", "INBOUND_SERVICE_CHANNEL_PRESENCE", "INBOUND_SERVICE_WARMUP" ]
enum_VersionServingStatus := [ "SERVING_STATUS_UNSPECIFIED", "SERVING", "STOPPED" ]

valid {
    input.Body.apiConfig.authFailAction == enum_ApiConfigHandlerAuthFailAction[_]
    input.Body.apiConfig.login == enum_ApiConfigHandlerLogin[_]
    input.Body.apiConfig.script == STRING
    input.Body.apiConfig.securityLevel == enum_ApiConfigHandlerSecurityLevel[_]
    input.Body.apiConfig.url == STRING
    input.Body.automaticScaling.coolDownPeriod == STRING
    input.Body.automaticScaling.cpuUtilization.aggregationWindowLength == STRING
    input.Body.automaticScaling.cpuUtilization.targetUtilization == NUMBER
    input.Body.automaticScaling.diskUtilization.targetReadBytesPerSec == INTEGER
    input.Body.automaticScaling.diskUtilization.targetReadOpsPerSec == INTEGER
    input.Body.automaticScaling.diskUtilization.targetWriteBytesPerSec == INTEGER
    input.Body.automaticScaling.diskUtilization.targetWriteOpsPerSec == INTEGER
    input.Body.automaticScaling.maxConcurrentRequests == INTEGER
    input.Body.automaticScaling.maxIdleInstances == INTEGER
    input.Body.automaticScaling.maxPendingLatency == STRING
    input.Body.automaticScaling.maxTotalInstances == INTEGER
    input.Body.automaticScaling.minIdleInstances == INTEGER
    input.Body.automaticScaling.minPendingLatency == STRING
    input.Body.automaticScaling.minTotalInstances == INTEGER
    input.Body.automaticScaling.networkUtilization.targetReceivedBytesPerSec == INTEGER
    input.Body.automaticScaling.networkUtilization.targetReceivedPacketsPerSec == INTEGER
    input.Body.automaticScaling.networkUtilization.targetSentBytesPerSec == INTEGER
    input.Body.automaticScaling.networkUtilization.targetSentPacketsPerSec == INTEGER
    input.Body.automaticScaling.requestUtilization.targetConcurrentRequests == INTEGER
    input.Body.automaticScaling.requestUtilization.targetRequestCountPerSec == INTEGER
    input.Body.basicScaling.idleTimeout == STRING
    input.Body.basicScaling.maxInstances == INTEGER
    input.Body.betaSettings.STRING == STRING
    input.Body.creationTime == STRING
    input.Body.defaultExpiration == STRING
    input.Body.deployer == STRING
    input.Body.deployment.container.image == STRING
    input.Body.deployment.files.STRING.mimeType == STRING
    input.Body.deployment.files.STRING.sha1Sum == STRING
    input.Body.deployment.files.STRING.sourceUrl == STRING
    input.Body.deployment.sourceReferences[_].repository == STRING
    input.Body.deployment.sourceReferences[_].revisionId == STRING
    input.Body.endpointsApiService.configId == STRING
    input.Body.endpointsApiService.disableTraceSampling == BOOLEAN
    input.Body.endpointsApiService.name == STRING
    input.Body.endpointsApiService.rolloutStrategy == enum_EndpointsApiServiceRolloutStrategy[_]
    input.Body.env == STRING
    input.Body.envVariables.STRING == STRING
    input.Body.errorHandlers[_].errorCode == enum_ErrorHandlerErrorCode[_]
    input.Body.errorHandlers[_].mimeType == STRING
    input.Body.errorHandlers[_].staticFile == STRING
    input.Body.handlers[_].apiEndpoint.scriptPath == STRING
    input.Body.handlers[_].authFailAction == enum_UrlMapAuthFailAction[_]
    input.Body.handlers[_].login == enum_UrlMapLogin[_]
    input.Body.handlers[_].redirectHttpResponseCode == enum_UrlMapRedirectHttpResponseCode[_]
    input.Body.handlers[_].script.scriptPath == STRING
    input.Body.handlers[_].securityLevel == enum_UrlMapSecurityLevel[_]
    input.Body.handlers[_].staticDirectory.applicationReadable == BOOLEAN
    input.Body.handlers[_].staticDirectory.directory == STRING
    input.Body.handlers[_].staticDirectory.expiration == STRING
    input.Body.handlers[_].staticDirectory.httpHeaders.STRING == STRING
    input.Body.handlers[_].staticDirectory.mimeType == STRING
    input.Body.handlers[_].staticDirectory.requireMatchingFile == BOOLEAN
    input.Body.handlers[_].staticFiles.applicationReadable == BOOLEAN
    input.Body.handlers[_].staticFiles.expiration == STRING
    input.Body.handlers[_].staticFiles.httpHeaders.STRING == STRING
    input.Body.handlers[_].staticFiles.mimeType == STRING
    input.Body.handlers[_].staticFiles.path == STRING
    input.Body.handlers[_].staticFiles.requireMatchingFile == BOOLEAN
    input.Body.handlers[_].staticFiles.uploadPathRegex == STRING
    input.Body.handlers[_].urlRegex == STRING
    input.Body.healthCheck.checkInterval == STRING
    input.Body.healthCheck.disableHealthCheck == BOOLEAN
    input.Body.healthCheck.healthyThreshold == INTEGER
    input.Body.healthCheck.host == STRING
    input.Body.healthCheck.restartThreshold == INTEGER
    input.Body.healthCheck.timeout == STRING
    input.Body.healthCheck.unhealthyThreshold == INTEGER
    input.Body.id == STRING
    input.Body.inboundServices[_] == enum_VersionInboundServices[_]
    input.Body.instanceClass == STRING
    input.Body.libraries[_].name == STRING
    input.Body.libraries[_].version == STRING
    input.Body.manualScaling.instances == INTEGER
    input.Body.name == STRING
    input.Body.network.forwardedPorts[_] == STRING
    input.Body.network.instanceTag == STRING
    input.Body.network.name == STRING
    input.Body.nobuildFilesRegex == STRING
    input.Body.resources.cpu == NUMBER
    input.Body.resources.diskGb == NUMBER
    input.Body.resources.memoryGb == NUMBER
    input.Body.resources.volumes[_].name == STRING
    input.Body.resources.volumes[_].sizeGb == NUMBER
    input.Body.resources.volumes[_].volumeType == STRING
    input.Body.runtime == STRING
    input.Body.runtimeApiVersion == STRING
    input.Body.runtimeMainExecutablePath == STRING
    input.Body.servingStatus == enum_VersionServingStatus[_]
    input.Body.threadsafe == BOOLEAN
    input.Body.vm == BOOLEAN
    input.ReqMap.appsId == STRING
    input.ReqMap.modulesId == STRING
    input.ProviderMetadata.Region == STRING
}

appengine.apps.modules.versions.delete

valid {
    input.ReqMap.appsId == STRING
    input.ReqMap.modulesId == STRING
    input.ReqMap.versionsId == STRING
    input.ProviderMetadata.Region == STRING
}

appengine.apps.modules.versions.get

enum_ViewParameter := [ "BASIC", "FULL" ]

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

appengine.apps.modules.versions.instances.debug

valid {
    input.Body.sshKey == STRING
    input.ReqMap.appsId == STRING
    input.ReqMap.instancesId == STRING
    input.ReqMap.modulesId == STRING
    input.ReqMap.versionsId == STRING
    input.ProviderMetadata.Region == STRING
}

appengine.apps.modules.versions.instances.delete

valid {
    input.ReqMap.appsId == STRING
    input.ReqMap.instancesId == STRING
    input.ReqMap.modulesId == STRING
    input.ReqMap.versionsId == STRING
    input.ProviderMetadata.Region == STRING
}

appengine.apps.modules.versions.instances.get

valid {
    input.ReqMap.appsId == STRING
    input.ReqMap.instancesId == STRING
    input.ReqMap.modulesId == STRING
    input.ReqMap.versionsId == STRING
    input.ProviderMetadata.Region == STRING
}

appengine.apps.modules.versions.instances.list

valid {
    input.ReqMap.appsId == STRING
    input.ReqMap.modulesId == STRING
    input.ReqMap.versionsId == STRING
    input.Qs.pageSize == INTEGER
    input.Qs.pageToken == STRING
    input.ProviderMetadata.Region == STRING
}

appengine.apps.modules.versions.list

enum_ViewParameter := [ "BASIC", "FULL" ]

valid {
    input.ReqMap.appsId == STRING
    input.ReqMap.modulesId == STRING
    input.Qs.pageSize == INTEGER
    input.Qs.pageToken == STRING
    input.Qs.view == enum_ViewParameter[_]
    input.ProviderMetadata.Region == STRING
}

appengine.apps.modules.versions.patch

enum_ApiConfigHandlerAuthFailAction := [ "AUTH_FAIL_ACTION_UNSPECIFIED", "AUTH_FAIL_ACTION_REDIRECT", "AUTH_FAIL_ACTION_UNAUTHORIZED" ]
enum_ApiConfigHandlerLogin := [ "LOGIN_UNSPECIFIED", "LOGIN_OPTIONAL", "LOGIN_ADMIN", "LOGIN_REQUIRED" ]
enum_ApiConfigHandlerSecurityLevel := [ "SECURE_UNSPECIFIED", "SECURE_DEFAULT", "SECURE_NEVER", "SECURE_OPTIONAL", "SECURE_ALWAYS" ]
enum_EndpointsApiServiceRolloutStrategy := [ "UNSPECIFIED_ROLLOUT_STRATEGY", "FIXED", "MANAGED" ]
enum_ErrorHandlerErrorCode := [ "ERROR_CODE_UNSPECIFIED", "ERROR_CODE_DEFAULT", "ERROR_CODE_OVER_QUOTA", "ERROR_CODE_DOS_API_DENIAL", "ERROR_CODE_TIMEOUT" ]
enum_UrlMapAuthFailAction := [ "AUTH_FAIL_ACTION_UNSPECIFIED", "AUTH_FAIL_ACTION_REDIRECT", "AUTH_FAIL_ACTION_UNAUTHORIZED" ]
enum_UrlMapLogin := [ "LOGIN_UNSPECIFIED", "LOGIN_OPTIONAL", "LOGIN_ADMIN", "LOGIN_REQUIRED" ]
enum_UrlMapRedirectHttpResponseCode := [ "REDIRECT_HTTP_RESPONSE_CODE_UNSPECIFIED", "REDIRECT_HTTP_RESPONSE_CODE_301", "REDIRECT_HTTP_RESPONSE_CODE_302", "REDIRECT_HTTP_RESPONSE_CODE_303", "REDIRECT_HTTP_RESPONSE_CODE_307" ]
enum_UrlMapSecurityLevel := [ "SECURE_UNSPECIFIED", "SECURE_DEFAULT", "SECURE_NEVER", "SECURE_OPTIONAL", "SECURE_ALWAYS" ]
enum_VersionInboundServices := [ "INBOUND_SERVICE_UNSPECIFIED", "INBOUND_SERVICE_MAIL", "INBOUND_SERVICE_MAIL_BOUNCE", "INBOUND_SERVICE_XMPP_ERROR", "INBOUND_SERVICE_XMPP_MESSAGE", "INBOUND_SERVICE_XMPP_SUBSCRIBE", "INBOUND_SERVICE_XMPP_PRESENCE", "INBOUND_SERVICE_CHANNEL_PRESENCE", "INBOUND_SERVICE_WARMUP" ]
enum_VersionServingStatus := [ "SERVING_STATUS_UNSPECIFIED", "SERVING", "STOPPED" ]

valid {
    input.Body.apiConfig.authFailAction == enum_ApiConfigHandlerAuthFailAction[_]
    input.Body.apiConfig.login == enum_ApiConfigHandlerLogin[_]
    input.Body.apiConfig.script == STRING
    input.Body.apiConfig.securityLevel == enum_ApiConfigHandlerSecurityLevel[_]
    input.Body.apiConfig.url == STRING
    input.Body.automaticScaling.coolDownPeriod == STRING
    input.Body.automaticScaling.cpuUtilization.aggregationWindowLength == STRING
    input.Body.automaticScaling.cpuUtilization.targetUtilization == NUMBER
    input.Body.automaticScaling.diskUtilization.targetReadBytesPerSec == INTEGER
    input.Body.automaticScaling.diskUtilization.targetReadOpsPerSec == INTEGER
    input.Body.automaticScaling.diskUtilization.targetWriteBytesPerSec == INTEGER
    input.Body.automaticScaling.diskUtilization.targetWriteOpsPerSec == INTEGER
    input.Body.automaticScaling.maxConcurrentRequests == INTEGER
    input.Body.automaticScaling.maxIdleInstances == INTEGER
    input.Body.automaticScaling.maxPendingLatency == STRING
    input.Body.automaticScaling.maxTotalInstances == INTEGER
    input.Body.automaticScaling.minIdleInstances == INTEGER
    input.Body.automaticScaling.minPendingLatency == STRING
    input.Body.automaticScaling.minTotalInstances == INTEGER
    input.Body.automaticScaling.networkUtilization.targetReceivedBytesPerSec == INTEGER
    input.Body.automaticScaling.networkUtilization.targetReceivedPacketsPerSec == INTEGER
    input.Body.automaticScaling.networkUtilization.targetSentBytesPerSec == INTEGER
    input.Body.automaticScaling.networkUtilization.targetSentPacketsPerSec == INTEGER
    input.Body.automaticScaling.requestUtilization.targetConcurrentRequests == INTEGER
    input.Body.automaticScaling.requestUtilization.targetRequestCountPerSec == INTEGER
    input.Body.basicScaling.idleTimeout == STRING
    input.Body.basicScaling.maxInstances == INTEGER
    input.Body.betaSettings.STRING == STRING
    input.Body.creationTime == STRING
    input.Body.defaultExpiration == STRING
    input.Body.deployer == STRING
    input.Body.deployment.container.image == STRING
    input.Body.deployment.files.STRING.mimeType == STRING
    input.Body.deployment.files.STRING.sha1Sum == STRING
    input.Body.deployment.files.STRING.sourceUrl == STRING
    input.Body.deployment.sourceReferences[_].repository == STRING
    input.Body.deployment.sourceReferences[_].revisionId == STRING
    input.Body.endpointsApiService.configId == STRING
    input.Body.endpointsApiService.disableTraceSampling == BOOLEAN
    input.Body.endpointsApiService.name == STRING
    input.Body.endpointsApiService.rolloutStrategy == enum_EndpointsApiServiceRolloutStrategy[_]
    input.Body.env == STRING
    input.Body.envVariables.STRING == STRING
    input.Body.errorHandlers[_].errorCode == enum_ErrorHandlerErrorCode[_]
    input.Body.errorHandlers[_].mimeType == STRING
    input.Body.errorHandlers[_].staticFile == STRING
    input.Body.handlers[_].apiEndpoint.scriptPath == STRING
    input.Body.handlers[_].authFailAction == enum_UrlMapAuthFailAction[_]
    input.Body.handlers[_].login == enum_UrlMapLogin[_]
    input.Body.handlers[_].redirectHttpResponseCode == enum_UrlMapRedirectHttpResponseCode[_]
    input.Body.handlers[_].script.scriptPath == STRING
    input.Body.handlers[_].securityLevel == enum_UrlMapSecurityLevel[_]
    input.Body.handlers[_].staticDirectory.applicationReadable == BOOLEAN
    input.Body.handlers[_].staticDirectory.directory == STRING
    input.Body.handlers[_].staticDirectory.expiration == STRING
    input.Body.handlers[_].staticDirectory.httpHeaders.STRING == STRING
    input.Body.handlers[_].staticDirectory.mimeType == STRING
    input.Body.handlers[_].staticDirectory.requireMatchingFile == BOOLEAN
    input.Body.handlers[_].staticFiles.applicationReadable == BOOLEAN
    input.Body.handlers[_].staticFiles.expiration == STRING
    input.Body.handlers[_].staticFiles.httpHeaders.STRING == STRING
    input.Body.handlers[_].staticFiles.mimeType == STRING
    input.Body.handlers[_].staticFiles.path == STRING
    input.Body.handlers[_].staticFiles.requireMatchingFile == BOOLEAN
    input.Body.handlers[_].staticFiles.uploadPathRegex == STRING
    input.Body.handlers[_].urlRegex == STRING
    input.Body.healthCheck.checkInterval == STRING
    input.Body.healthCheck.disableHealthCheck == BOOLEAN
    input.Body.healthCheck.healthyThreshold == INTEGER
    input.Body.healthCheck.host == STRING
    input.Body.healthCheck.restartThreshold == INTEGER
    input.Body.healthCheck.timeout == STRING
    input.Body.healthCheck.unhealthyThreshold == INTEGER
    input.Body.id == STRING
    input.Body.inboundServices[_] == enum_VersionInboundServices[_]
    input.Body.instanceClass == STRING
    input.Body.libraries[_].name == STRING
    input.Body.libraries[_].version == STRING
    input.Body.manualScaling.instances == INTEGER
    input.Body.name == STRING
    input.Body.network.forwardedPorts[_] == STRING
    input.Body.network.instanceTag == STRING
    input.Body.network.name == STRING
    input.Body.nobuildFilesRegex == STRING
    input.Body.resources.cpu == NUMBER
    input.Body.resources.diskGb == NUMBER
    input.Body.resources.memoryGb == NUMBER
    input.Body.resources.volumes[_].name == STRING
    input.Body.resources.volumes[_].sizeGb == NUMBER
    input.Body.resources.volumes[_].volumeType == STRING
    input.Body.runtime == STRING
    input.Body.runtimeApiVersion == STRING
    input.Body.runtimeMainExecutablePath == STRING
    input.Body.servingStatus == enum_VersionServingStatus[_]
    input.Body.threadsafe == BOOLEAN
    input.Body.vm == BOOLEAN
    input.ReqMap.appsId == STRING
    input.ReqMap.modulesId == STRING
    input.ReqMap.versionsId == STRING
    input.Qs.mask == STRING
    input.ProviderMetadata.Region == STRING
}

appengine.apps.operations.get

valid {
    input.ReqMap.appsId == STRING
    input.ReqMap.operationsId == STRING
    input.ProviderMetadata.Region == STRING
}

appengine.apps.operations.list

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

appengine.apps.patch

enum_ApplicationDatabaseType := [ "DATABASE_TYPE_UNSPECIFIED", "CLOUD_DATASTORE", "CLOUD_FIRESTORE", "CLOUD_DATASTORE_COMPATIBILITY" ]
enum_ApplicationServingStatus := [ "UNSPECIFIED", "SERVING", "USER_DISABLED", "SYSTEM_DISABLED" ]

valid {
    input.Body.authDomain == STRING
    input.Body.databaseType == enum_ApplicationDatabaseType[_]
    input.Body.defaultCookieExpiration == STRING
    input.Body.dispatchRules[_].domain == STRING
    input.Body.dispatchRules[_].path == STRING
    input.Body.dispatchRules[_].service == STRING
    input.Body.featureSettings.splitHealthChecks == BOOLEAN
    input.Body.featureSettings.useContainerOptimizedOs == BOOLEAN
    input.Body.generatedCustomerMetadata.STRING == ANY
    input.Body.iap.enabled == BOOLEAN
    input.Body.iap.oauth2ClientId == STRING
    input.Body.iap.oauth2ClientSecret == STRING
    input.Body.id == STRING
    input.Body.locationId == STRING
    input.Body.serviceAccount == STRING
    input.Body.servingStatus == enum_ApplicationServingStatus[_]
    input.ReqMap.appsId == STRING
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

appengine.apps.repair

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

appengine.apps.services.delete

valid {
    input.ReqMap.appsId == STRING
    input.ReqMap.servicesId == STRING
    input.ProviderMetadata.Region == STRING
}

appengine.apps.services.get

valid {
    input.ReqMap.appsId == STRING
    input.ReqMap.servicesId == STRING
    input.ProviderMetadata.Region == STRING
}

appengine.apps.services.list

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

appengine.apps.services.patch

enum_NetworkSettingsIngressTrafficAllowed := [ "INGRESS_TRAFFIC_ALLOWED_UNSPECIFIED", "INGRESS_TRAFFIC_ALLOWED_ALL", "INGRESS_TRAFFIC_ALLOWED_INTERNAL_ONLY", "INGRESS_TRAFFIC_ALLOWED_INTERNAL_AND_LB" ]
enum_TrafficSplitShardBy := [ "UNSPECIFIED", "COOKIE", "IP", "RANDOM" ]

valid {
    input.Body.generatedCustomerMetadata.STRING == ANY
    input.Body.labels.STRING == STRING
    input.Body.networkSettings.ingressTrafficAllowed == enum_NetworkSettingsIngressTrafficAllowed[_]
    input.Body.split.allocations.STRING == NUMBER
    input.Body.split.shardBy == enum_TrafficSplitShardBy[_]
    input.ReqMap.appsId == STRING
    input.ReqMap.servicesId == STRING
    input.Qs.migrateTraffic == BOOLEAN
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

appengine.apps.services.versions.create

enum_ApiConfigHandlerAuthFailAction := [ "AUTH_FAIL_ACTION_UNSPECIFIED", "AUTH_FAIL_ACTION_REDIRECT", "AUTH_FAIL_ACTION_UNAUTHORIZED" ]
enum_ApiConfigHandlerLogin := [ "LOGIN_UNSPECIFIED", "LOGIN_OPTIONAL", "LOGIN_ADMIN", "LOGIN_REQUIRED" ]
enum_ApiConfigHandlerSecurityLevel := [ "SECURE_UNSPECIFIED", "SECURE_DEFAULT", "SECURE_NEVER", "SECURE_OPTIONAL", "SECURE_ALWAYS" ]
enum_EndpointsApiServiceRolloutStrategy := [ "UNSPECIFIED_ROLLOUT_STRATEGY", "FIXED", "MANAGED" ]
enum_ErrorHandlerErrorCode := [ "ERROR_CODE_UNSPECIFIED", "ERROR_CODE_DEFAULT", "ERROR_CODE_OVER_QUOTA", "ERROR_CODE_DOS_API_DENIAL", "ERROR_CODE_TIMEOUT" ]
enum_NetworkInstanceIpMode := [ "INSTANCE_IP_MODE_UNSPECIFIED", "EXTERNAL", "INTERNAL" ]
enum_UrlMapAuthFailAction := [ "AUTH_FAIL_ACTION_UNSPECIFIED", "AUTH_FAIL_ACTION_REDIRECT", "AUTH_FAIL_ACTION_UNAUTHORIZED" ]
enum_UrlMapLogin := [ "LOGIN_UNSPECIFIED", "LOGIN_OPTIONAL", "LOGIN_ADMIN", "LOGIN_REQUIRED" ]
enum_UrlMapRedirectHttpResponseCode := [ "REDIRECT_HTTP_RESPONSE_CODE_UNSPECIFIED", "REDIRECT_HTTP_RESPONSE_CODE_301", "REDIRECT_HTTP_RESPONSE_CODE_302", "REDIRECT_HTTP_RESPONSE_CODE_303", "REDIRECT_HTTP_RESPONSE_CODE_307" ]
enum_UrlMapSecurityLevel := [ "SECURE_UNSPECIFIED", "SECURE_DEFAULT", "SECURE_NEVER", "SECURE_OPTIONAL", "SECURE_ALWAYS" ]
enum_VersionInboundServices := [ "INBOUND_SERVICE_UNSPECIFIED", "INBOUND_SERVICE_MAIL", "INBOUND_SERVICE_MAIL_BOUNCE", "INBOUND_SERVICE_XMPP_ERROR", "INBOUND_SERVICE_XMPP_MESSAGE", "INBOUND_SERVICE_XMPP_SUBSCRIBE", "INBOUND_SERVICE_XMPP_PRESENCE", "INBOUND_SERVICE_CHANNEL_PRESENCE", "INBOUND_SERVICE_WARMUP" ]
enum_VersionServingStatus := [ "SERVING_STATUS_UNSPECIFIED", "SERVING", "STOPPED" ]
enum_VpcAccessConnectorEgressSetting := [ "EGRESS_SETTING_UNSPECIFIED", "ALL_TRAFFIC", "PRIVATE_IP_RANGES" ]

valid {
    input.Body.apiConfig.authFailAction == enum_ApiConfigHandlerAuthFailAction[_]
    input.Body.apiConfig.login == enum_ApiConfigHandlerLogin[_]
    input.Body.apiConfig.script == STRING
    input.Body.apiConfig.securityLevel == enum_ApiConfigHandlerSecurityLevel[_]
    input.Body.apiConfig.url == STRING
    input.Body.appEngineApis == BOOLEAN
    input.Body.automaticScaling.coolDownPeriod == STRING
    input.Body.automaticScaling.cpuUtilization.aggregationWindowLength == STRING
    input.Body.automaticScaling.cpuUtilization.targetUtilization == NUMBER
    input.Body.automaticScaling.diskUtilization.targetReadBytesPerSecond == INTEGER
    input.Body.automaticScaling.diskUtilization.targetReadOpsPerSecond == INTEGER
    input.Body.automaticScaling.diskUtilization.targetWriteBytesPerSecond == INTEGER
    input.Body.automaticScaling.diskUtilization.targetWriteOpsPerSecond == INTEGER
    input.Body.automaticScaling.maxConcurrentRequests == INTEGER
    input.Body.automaticScaling.maxIdleInstances == INTEGER
    input.Body.automaticScaling.maxPendingLatency == STRING
    input.Body.automaticScaling.maxTotalInstances == INTEGER
    input.Body.automaticScaling.minIdleInstances == INTEGER
    input.Body.automaticScaling.minPendingLatency == STRING
    input.Body.automaticScaling.minTotalInstances == INTEGER
    input.Body.automaticScaling.networkUtilization.targetReceivedBytesPerSecond == INTEGER
    input.Body.automaticScaling.networkUtilization.targetReceivedPacketsPerSecond == INTEGER
    input.Body.automaticScaling.networkUtilization.targetSentBytesPerSecond == INTEGER
    input.Body.automaticScaling.networkUtilization.targetSentPacketsPerSecond == INTEGER
    input.Body.automaticScaling.requestUtilization.targetConcurrentRequests == INTEGER
    input.Body.automaticScaling.requestUtilization.targetRequestCountPerSecond == INTEGER
    input.Body.automaticScaling.standardSchedulerSettings.maxInstances == INTEGER
    input.Body.automaticScaling.standardSchedulerSettings.minInstances == INTEGER
    input.Body.automaticScaling.standardSchedulerSettings.targetCpuUtilization == NUMBER
    input.Body.automaticScaling.standardSchedulerSettings.targetThroughputUtilization == NUMBER
    input.Body.basicScaling.idleTimeout == STRING
    input.Body.basicScaling.maxInstances == INTEGER
    input.Body.betaSettings.STRING == STRING
    input.Body.buildEnvVariables.STRING == STRING
    input.Body.createTime == STRING
    input.Body.defaultExpiration == STRING
    input.Body.deployment.cloudBuildOptions.appYamlPath == STRING
    input.Body.deployment.cloudBuildOptions.cloudBuildTimeout == STRING
    input.Body.deployment.container.image == STRING
    input.Body.deployment.files.STRING.mimeType == STRING
    input.Body.deployment.files.STRING.sha1Sum == STRING
    input.Body.deployment.files.STRING.sourceUrl == STRING
    input.Body.deployment.zip.filesCount == INTEGER
    input.Body.deployment.zip.sourceUrl == STRING
    input.Body.endpointsApiService.configId == STRING
    input.Body.endpointsApiService.disableTraceSampling == BOOLEAN
    input.Body.endpointsApiService.name == STRING
    input.Body.endpointsApiService.rolloutStrategy == enum_EndpointsApiServiceRolloutStrategy[_]
    input.Body.entrypoint.shell == STRING
    input.Body.env == STRING
    input.Body.envVariables.STRING == STRING
    input.Body.errorHandlers[_].errorCode == enum_ErrorHandlerErrorCode[_]
    input.Body.errorHandlers[_].mimeType == STRING
    input.Body.errorHandlers[_].staticFile == STRING
    input.Body.flexibleRuntimeSettings.operatingSystem == STRING
    input.Body.flexibleRuntimeSettings.runtimeVersion == STRING
    input.Body.generatedCustomerMetadata.STRING == ANY
    input.Body.handlers[_].apiEndpoint.scriptPath == STRING
    input.Body.handlers[_].authFailAction == enum_UrlMapAuthFailAction[_]
    input.Body.handlers[_].login == enum_UrlMapLogin[_]
    input.Body.handlers[_].redirectHttpResponseCode == enum_UrlMapRedirectHttpResponseCode[_]
    input.Body.handlers[_].script.scriptPath == STRING
    input.Body.handlers[_].securityLevel == enum_UrlMapSecurityLevel[_]
    input.Body.handlers[_].staticFiles.applicationReadable == BOOLEAN
    input.Body.handlers[_].staticFiles.expiration == STRING
    input.Body.handlers[_].staticFiles.httpHeaders.STRING == STRING
    input.Body.handlers[_].staticFiles.mimeType == STRING
    input.Body.handlers[_].staticFiles.path == STRING
    input.Body.handlers[_].staticFiles.requireMatchingFile == BOOLEAN
    input.Body.handlers[_].staticFiles.uploadPathRegex == STRING
    input.Body.handlers[_].urlRegex == STRING
    input.Body.healthCheck.checkInterval == STRING
    input.Body.healthCheck.disableHealthCheck == BOOLEAN
    input.Body.healthCheck.healthyThreshold == INTEGER
    input.Body.healthCheck.host == STRING
    input.Body.healthCheck.restartThreshold == INTEGER
    input.Body.healthCheck.timeout == STRING
    input.Body.healthCheck.unhealthyThreshold == INTEGER
    input.Body.id == STRING
    input.Body.inboundServices[_] == enum_VersionInboundServices[_]
    input.Body.instanceClass == STRING
    input.Body.libraries[_].name == STRING
    input.Body.libraries[_].version == STRING
    input.Body.livenessCheck.checkInterval == STRING
    input.Body.livenessCheck.failureThreshold == INTEGER
    input.Body.livenessCheck.host == STRING
    input.Body.livenessCheck.initialDelay == STRING
    input.Body.livenessCheck.path == STRING
    input.Body.livenessCheck.successThreshold == INTEGER
    input.Body.livenessCheck.timeout == STRING
    input.Body.manualScaling.instances == INTEGER
    input.Body.network.forwardedPorts[_] == STRING
    input.Body.network.instanceIpMode == enum_NetworkInstanceIpMode[_]
    input.Body.network.instanceTag == STRING
    input.Body.network.name == STRING
    input.Body.network.sessionAffinity == BOOLEAN
    input.Body.network.subnetworkName == STRING
    input.Body.nobuildFilesRegex == STRING
    input.Body.readinessCheck.appStartTimeout == STRING
    input.Body.readinessCheck.checkInterval == STRING
    input.Body.readinessCheck.failureThreshold == INTEGER
    input.Body.readinessCheck.host == STRING
    input.Body.readinessCheck.path == STRING
    input.Body.readinessCheck.successThreshold == INTEGER
    input.Body.readinessCheck.timeout == STRING
    input.Body.resources.cpu == NUMBER
    input.Body.resources.diskGb == NUMBER
    input.Body.resources.kmsKeyReference == STRING
    input.Body.resources.memoryGb == NUMBER
    input.Body.resources.volumes[_].name == STRING
    input.Body.resources.volumes[_].sizeGb == NUMBER
    input.Body.resources.volumes[_].volumeType == STRING
    input.Body.runtime == STRING
    input.Body.runtimeApiVersion == STRING
    input.Body.runtimeChannel == STRING
    input.Body.runtimeMainExecutablePath == STRING
    input.Body.serviceAccount == STRING
    input.Body.servingStatus == enum_VersionServingStatus[_]
    input.Body.threadsafe == BOOLEAN
    input.Body.vm == BOOLEAN
    input.Body.vpcAccessConnector.egressSetting == enum_VpcAccessConnectorEgressSetting[_]
    input.Body.vpcAccessConnector.name == STRING
    input.Body.zones[_] == STRING
    input.ReqMap.appsId == STRING
    input.ReqMap.servicesId == STRING
    input.ProviderMetadata.Region == STRING
}

appengine.apps.services.versions.delete

valid {
    input.ReqMap.appsId == STRING
    input.ReqMap.servicesId == STRING
    input.ReqMap.versionsId == STRING
    input.ProviderMetadata.Region == STRING
}

appengine.apps.services.versions.get

enum_ViewParameter := [ "BASIC", "FULL" ]

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

appengine.apps.services.versions.instances.debug

valid {
    input.Body.sshKey == STRING
    input.ReqMap.appsId == STRING
    input.ReqMap.instancesId == STRING
    input.ReqMap.servicesId == STRING
    input.ReqMap.versionsId == STRING
    input.ProviderMetadata.Region == STRING
}

appengine.apps.services.versions.instances.delete

valid {
    input.ReqMap.appsId == STRING
    input.ReqMap.instancesId == STRING
    input.ReqMap.servicesId == STRING
    input.ReqMap.versionsId == STRING
    input.ProviderMetadata.Region == STRING
}

appengine.apps.services.versions.instances.get

valid {
    input.ReqMap.appsId == STRING
    input.ReqMap.instancesId == STRING
    input.ReqMap.servicesId == STRING
    input.ReqMap.versionsId == STRING
    input.ProviderMetadata.Region == STRING
}

appengine.apps.services.versions.instances.list

valid {
    input.ReqMap.appsId == STRING
    input.ReqMap.servicesId == STRING
    input.ReqMap.versionsId == STRING
    input.Qs.pageSize == INTEGER
    input.Qs.pageToken == STRING
    input.ProviderMetadata.Region == STRING
}

appengine.apps.services.versions.list

enum_ViewParameter := [ "BASIC", "FULL" ]

valid {
    input.ReqMap.appsId == STRING
    input.ReqMap.servicesId == STRING
    input.Qs.pageSize == INTEGER
    input.Qs.pageToken == STRING
    input.Qs.view == enum_ViewParameter[_]
    input.ProviderMetadata.Region == STRING
}

appengine.apps.services.versions.patch

enum_ApiConfigHandlerAuthFailAction := [ "AUTH_FAIL_ACTION_UNSPECIFIED", "AUTH_FAIL_ACTION_REDIRECT", "AUTH_FAIL_ACTION_UNAUTHORIZED" ]
enum_ApiConfigHandlerLogin := [ "LOGIN_UNSPECIFIED", "LOGIN_OPTIONAL", "LOGIN_ADMIN", "LOGIN_REQUIRED" ]
enum_ApiConfigHandlerSecurityLevel := [ "SECURE_UNSPECIFIED", "SECURE_DEFAULT", "SECURE_NEVER", "SECURE_OPTIONAL", "SECURE_ALWAYS" ]
enum_EndpointsApiServiceRolloutStrategy := [ "UNSPECIFIED_ROLLOUT_STRATEGY", "FIXED", "MANAGED" ]
enum_ErrorHandlerErrorCode := [ "ERROR_CODE_UNSPECIFIED", "ERROR_CODE_DEFAULT", "ERROR_CODE_OVER_QUOTA", "ERROR_CODE_DOS_API_DENIAL", "ERROR_CODE_TIMEOUT" ]
enum_NetworkInstanceIpMode := [ "INSTANCE_IP_MODE_UNSPECIFIED", "EXTERNAL", "INTERNAL" ]
enum_UrlMapAuthFailAction := [ "AUTH_FAIL_ACTION_UNSPECIFIED", "AUTH_FAIL_ACTION_REDIRECT", "AUTH_FAIL_ACTION_UNAUTHORIZED" ]
enum_UrlMapLogin := [ "LOGIN_UNSPECIFIED", "LOGIN_OPTIONAL", "LOGIN_ADMIN", "LOGIN_REQUIRED" ]
enum_UrlMapRedirectHttpResponseCode := [ "REDIRECT_HTTP_RESPONSE_CODE_UNSPECIFIED", "REDIRECT_HTTP_RESPONSE_CODE_301", "REDIRECT_HTTP_RESPONSE_CODE_302", "REDIRECT_HTTP_RESPONSE_CODE_303", "REDIRECT_HTTP_RESPONSE_CODE_307" ]
enum_UrlMapSecurityLevel := [ "SECURE_UNSPECIFIED", "SECURE_DEFAULT", "SECURE_NEVER", "SECURE_OPTIONAL", "SECURE_ALWAYS" ]
enum_VersionInboundServices := [ "INBOUND_SERVICE_UNSPECIFIED", "INBOUND_SERVICE_MAIL", "INBOUND_SERVICE_MAIL_BOUNCE", "INBOUND_SERVICE_XMPP_ERROR", "INBOUND_SERVICE_XMPP_MESSAGE", "INBOUND_SERVICE_XMPP_SUBSCRIBE", "INBOUND_SERVICE_XMPP_PRESENCE", "INBOUND_SERVICE_CHANNEL_PRESENCE", "INBOUND_SERVICE_WARMUP" ]
enum_VersionServingStatus := [ "SERVING_STATUS_UNSPECIFIED", "SERVING", "STOPPED" ]
enum_VpcAccessConnectorEgressSetting := [ "EGRESS_SETTING_UNSPECIFIED", "ALL_TRAFFIC", "PRIVATE_IP_RANGES" ]

valid {
    input.Body.apiConfig.authFailAction == enum_ApiConfigHandlerAuthFailAction[_]
    input.Body.apiConfig.login == enum_ApiConfigHandlerLogin[_]
    input.Body.apiConfig.script == STRING
    input.Body.apiConfig.securityLevel == enum_ApiConfigHandlerSecurityLevel[_]
    input.Body.apiConfig.url == STRING
    input.Body.appEngineApis == BOOLEAN
    input.Body.automaticScaling.coolDownPeriod == STRING
    input.Body.automaticScaling.cpuUtilization.aggregationWindowLength == STRING
    input.Body.automaticScaling.cpuUtilization.targetUtilization == NUMBER
    input.Body.automaticScaling.diskUtilization.targetReadBytesPerSecond == INTEGER
    input.Body.automaticScaling.diskUtilization.targetReadOpsPerSecond == INTEGER
    input.Body.automaticScaling.diskUtilization.targetWriteBytesPerSecond == INTEGER
    input.Body.automaticScaling.diskUtilization.targetWriteOpsPerSecond == INTEGER
    input.Body.automaticScaling.maxConcurrentRequests == INTEGER
    input.Body.automaticScaling.maxIdleInstances == INTEGER
    input.Body.automaticScaling.maxPendingLatency == STRING
    input.Body.automaticScaling.maxTotalInstances == INTEGER
    input.Body.automaticScaling.minIdleInstances == INTEGER
    input.Body.automaticScaling.minPendingLatency == STRING
    input.Body.automaticScaling.minTotalInstances == INTEGER
    input.Body.automaticScaling.networkUtilization.targetReceivedBytesPerSecond == INTEGER
    input.Body.automaticScaling.networkUtilization.targetReceivedPacketsPerSecond == INTEGER
    input.Body.automaticScaling.networkUtilization.targetSentBytesPerSecond == INTEGER
    input.Body.automaticScaling.networkUtilization.targetSentPacketsPerSecond == INTEGER
    input.Body.automaticScaling.requestUtilization.targetConcurrentRequests == INTEGER
    input.Body.automaticScaling.requestUtilization.targetRequestCountPerSecond == INTEGER
    input.Body.automaticScaling.standardSchedulerSettings.maxInstances == INTEGER
    input.Body.automaticScaling.standardSchedulerSettings.minInstances == INTEGER
    input.Body.automaticScaling.standardSchedulerSettings.targetCpuUtilization == NUMBER
    input.Body.automaticScaling.standardSchedulerSettings.targetThroughputUtilization == NUMBER
    input.Body.basicScaling.idleTimeout == STRING
    input.Body.basicScaling.maxInstances == INTEGER
    input.Body.betaSettings.STRING == STRING
    input.Body.buildEnvVariables.STRING == STRING
    input.Body.createTime == STRING
    input.Body.defaultExpiration == STRING
    input.Body.deployment.cloudBuildOptions.appYamlPath == STRING
    input.Body.deployment.cloudBuildOptions.cloudBuildTimeout == STRING
    input.Body.deployment.container.image == STRING
    input.Body.deployment.files.STRING.mimeType == STRING
    input.Body.deployment.files.STRING.sha1Sum == STRING
    input.Body.deployment.files.STRING.sourceUrl == STRING
    input.Body.deployment.zip.filesCount == INTEGER
    input.Body.deployment.zip.sourceUrl == STRING
    input.Body.endpointsApiService.configId == STRING
    input.Body.endpointsApiService.disableTraceSampling == BOOLEAN
    input.Body.endpointsApiService.name == STRING
    input.Body.endpointsApiService.rolloutStrategy == enum_EndpointsApiServiceRolloutStrategy[_]
    input.Body.entrypoint.shell == STRING
    input.Body.env == STRING
    input.Body.envVariables.STRING == STRING
    input.Body.errorHandlers[_].errorCode == enum_ErrorHandlerErrorCode[_]
    input.Body.errorHandlers[_].mimeType == STRING
    input.Body.errorHandlers[_].staticFile == STRING
    input.Body.flexibleRuntimeSettings.operatingSystem == STRING
    input.Body.flexibleRuntimeSettings.runtimeVersion == STRING
    input.Body.generatedCustomerMetadata.STRING == ANY
    input.Body.handlers[_].apiEndpoint.scriptPath == STRING
    input.Body.handlers[_].authFailAction == enum_UrlMapAuthFailAction[_]
    input.Body.handlers[_].login == enum_UrlMapLogin[_]
    input.Body.handlers[_].redirectHttpResponseCode == enum_UrlMapRedirectHttpResponseCode[_]
    input.Body.handlers[_].script.scriptPath == STRING
    input.Body.handlers[_].securityLevel == enum_UrlMapSecurityLevel[_]
    input.Body.handlers[_].staticFiles.applicationReadable == BOOLEAN
    input.Body.handlers[_].staticFiles.expiration == STRING
    input.Body.handlers[_].staticFiles.httpHeaders.STRING == STRING
    input.Body.handlers[_].staticFiles.mimeType == STRING
    input.Body.handlers[_].staticFiles.path == STRING
    input.Body.handlers[_].staticFiles.requireMatchingFile == BOOLEAN
    input.Body.handlers[_].staticFiles.uploadPathRegex == STRING
    input.Body.handlers[_].urlRegex == STRING
    input.Body.healthCheck.checkInterval == STRING
    input.Body.healthCheck.disableHealthCheck == BOOLEAN
    input.Body.healthCheck.healthyThreshold == INTEGER
    input.Body.healthCheck.host == STRING
    input.Body.healthCheck.restartThreshold == INTEGER
    input.Body.healthCheck.timeout == STRING
    input.Body.healthCheck.unhealthyThreshold == INTEGER
    input.Body.id == STRING
    input.Body.inboundServices[_] == enum_VersionInboundServices[_]
    input.Body.instanceClass == STRING
    input.Body.libraries[_].name == STRING
    input.Body.libraries[_].version == STRING
    input.Body.livenessCheck.checkInterval == STRING
    input.Body.livenessCheck.failureThreshold == INTEGER
    input.Body.livenessCheck.host == STRING
    input.Body.livenessCheck.initialDelay == STRING
    input.Body.livenessCheck.path == STRING
    input.Body.livenessCheck.successThreshold == INTEGER
    input.Body.livenessCheck.timeout == STRING
    input.Body.manualScaling.instances == INTEGER
    input.Body.network.forwardedPorts[_] == STRING
    input.Body.network.instanceIpMode == enum_NetworkInstanceIpMode[_]
    input.Body.network.instanceTag == STRING
    input.Body.network.name == STRING
    input.Body.network.sessionAffinity == BOOLEAN
    input.Body.network.subnetworkName == STRING
    input.Body.nobuildFilesRegex == STRING
    input.Body.readinessCheck.appStartTimeout == STRING
    input.Body.readinessCheck.checkInterval == STRING
    input.Body.readinessCheck.failureThreshold == INTEGER
    input.Body.readinessCheck.host == STRING
    input.Body.readinessCheck.path == STRING
    input.Body.readinessCheck.successThreshold == INTEGER
    input.Body.readinessCheck.timeout == STRING
    input.Body.resources.cpu == NUMBER
    input.Body.resources.diskGb == NUMBER
    input.Body.resources.kmsKeyReference == STRING
    input.Body.resources.memoryGb == NUMBER
    input.Body.resources.volumes[_].name == STRING
    input.Body.resources.volumes[_].sizeGb == NUMBER
    input.Body.resources.volumes[_].volumeType == STRING
    input.Body.runtime == STRING
    input.Body.runtimeApiVersion == STRING
    input.Body.runtimeChannel == STRING
    input.Body.runtimeMainExecutablePath == STRING
    input.Body.serviceAccount == STRING
    input.Body.servingStatus == enum_VersionServingStatus[_]
    input.Body.threadsafe == BOOLEAN
    input.Body.vm == BOOLEAN
    input.Body.vpcAccessConnector.egressSetting == enum_VpcAccessConnectorEgressSetting[_]
    input.Body.vpcAccessConnector.name == STRING
    input.Body.zones[_] == STRING
    input.ReqMap.appsId == STRING
    input.ReqMap.servicesId == STRING
    input.ReqMap.versionsId == STRING
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

appengine.projects.locations.applications.authorizedDomains.list

valid {
    input.ReqMap.applicationsId == STRING
    input.ReqMap.locationsId == STRING
    input.ReqMap.ProjectID == STRING
    input.Qs.pageSize == INTEGER
    input.Qs.pageToken == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.ProjectID == STRING
}

appengine.projects.locations.applications.services.versions.delete

valid {
    input.ReqMap.applicationsId == STRING
    input.ReqMap.locationsId == STRING
    input.ReqMap.ProjectID == STRING
    input.ReqMap.servicesId == STRING
    input.ReqMap.versionsId == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.ProjectID == STRING
}

appengine.projects.locations.get

valid {
    input.ReqMap.locationsId == STRING
    input.ReqMap.ProjectID == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.ProjectID == STRING
}

appengine.projects.locations.list

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

appengine.projects.locations.operations.get

valid {
    input.ReqMap.locationsId == STRING
    input.ReqMap.operationsId == STRING
    input.ReqMap.ProjectID == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.ProjectID == STRING
}

appengine.projects.locations.operations.list

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