CLOUDDEPLOY

clouddeploy.projects.locations.customTargetTypes.create

valid {
    input.Body.annotations.STRING == STRING
    input.Body.customActions.deployAction == STRING
    input.Body.customActions.includeSkaffoldModules[_].configs[_] == STRING
    input.Body.customActions.includeSkaffoldModules[_].git.path == STRING
    input.Body.customActions.includeSkaffoldModules[_].git.ref == STRING
    input.Body.customActions.includeSkaffoldModules[_].git.repo == STRING
    input.Body.customActions.includeSkaffoldModules[_].googleCloudStorage.path == STRING
    input.Body.customActions.includeSkaffoldModules[_].googleCloudStorage.source == STRING
    input.Body.customActions.renderAction == STRING
    input.Body.description == STRING
    input.Body.etag == STRING
    input.Body.labels.STRING == STRING
    input.Body.name == STRING
    input.ReqMap.parent == STRING
    input.Qs.customTargetTypeId == STRING
    input.Qs.requestId == STRING
    input.Qs.validateOnly == BOOLEAN
    input.ProviderMetadata.Region == STRING
}

clouddeploy.projects.locations.customTargetTypes.delete

valid {
    input.ReqMap.name == STRING
    input.Qs.allowMissing == BOOLEAN
    input.Qs.etag == STRING
    input.Qs.requestId == STRING
    input.Qs.validateOnly == BOOLEAN
    input.ProviderMetadata.Region == STRING
}

clouddeploy.projects.locations.customTargetTypes.get

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

clouddeploy.projects.locations.customTargetTypes.getIamPolicy

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

clouddeploy.projects.locations.customTargetTypes.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
}

clouddeploy.projects.locations.customTargetTypes.patch

valid {
    input.Body.annotations.STRING == STRING
    input.Body.customActions.deployAction == STRING
    input.Body.customActions.includeSkaffoldModules[_].configs[_] == STRING
    input.Body.customActions.includeSkaffoldModules[_].git.path == STRING
    input.Body.customActions.includeSkaffoldModules[_].git.ref == STRING
    input.Body.customActions.includeSkaffoldModules[_].git.repo == STRING
    input.Body.customActions.includeSkaffoldModules[_].googleCloudStorage.path == STRING
    input.Body.customActions.includeSkaffoldModules[_].googleCloudStorage.source == STRING
    input.Body.customActions.renderAction == STRING
    input.Body.description == STRING
    input.Body.etag == STRING
    input.Body.labels.STRING == STRING
    input.Body.name == STRING
    input.ReqMap.name == STRING
    input.Qs.allowMissing == BOOLEAN
    input.Qs.requestId == STRING
    input.Qs.updateMask == STRING
    input.Qs.validateOnly == BOOLEAN
    input.ProviderMetadata.Region == STRING
}

clouddeploy.projects.locations.customTargetTypes.setIamPolicy

enum_AuditLogConfigLogType := [ "LOG_TYPE_UNSPECIFIED", "ADMIN_READ", "DATA_WRITE", "DATA_READ" ]

valid {
    input.Body.policy.auditConfigs[_].auditLogConfigs[_].exemptedMembers[_] == STRING
    input.Body.policy.auditConfigs[_].auditLogConfigs[_].logType == enum_AuditLogConfigLogType[_]
    input.Body.policy.auditConfigs[_].service == STRING
    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.Body.updateMask == STRING
    input.ReqMap.resource == STRING
    input.ProviderMetadata.Region == STRING
}

clouddeploy.projects.locations.deliveryPipelines.automationRuns.cancel

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

clouddeploy.projects.locations.deliveryPipelines.automationRuns.get

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

clouddeploy.projects.locations.deliveryPipelines.automationRuns.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
}

clouddeploy.projects.locations.deliveryPipelines.automations.create

enum_RetryBackoffMode := [ "BACKOFF_MODE_UNSPECIFIED", "BACKOFF_MODE_LINEAR", "BACKOFF_MODE_EXPONENTIAL" ]

valid {
    input.Body.annotations.STRING == STRING
    input.Body.description == STRING
    input.Body.etag == STRING
    input.Body.labels.STRING == STRING
    input.Body.rules[_].advanceRolloutRule.id == STRING
    input.Body.rules[_].advanceRolloutRule.sourcePhases[_] == STRING
    input.Body.rules[_].advanceRolloutRule.wait == STRING
    input.Body.rules[_].promoteReleaseRule.destinationPhase == STRING
    input.Body.rules[_].promoteReleaseRule.destinationTargetId == STRING
    input.Body.rules[_].promoteReleaseRule.id == STRING
    input.Body.rules[_].promoteReleaseRule.wait == STRING
    input.Body.rules[_].repairRolloutRule.id == STRING
    input.Body.rules[_].repairRolloutRule.jobs[_] == STRING
    input.Body.rules[_].repairRolloutRule.repairModes[_].retry.attempts == STRING
    input.Body.rules[_].repairRolloutRule.repairModes[_].retry.backoffMode == enum_RetryBackoffMode[_]
    input.Body.rules[_].repairRolloutRule.repairModes[_].retry.wait == STRING
    input.Body.rules[_].repairRolloutRule.repairModes[_].rollback.destinationPhase == STRING
    input.Body.rules[_].repairRolloutRule.sourcePhases[_] == STRING
    input.Body.selector.targets[_].id == STRING
    input.Body.selector.targets[_].labels.STRING == STRING
    input.Body.serviceAccount == STRING
    input.Body.suspended == BOOLEAN
    input.ReqMap.parent == STRING
    input.Qs.automationId == STRING
    input.Qs.requestId == STRING
    input.Qs.validateOnly == BOOLEAN
    input.ProviderMetadata.Region == STRING
}

clouddeploy.projects.locations.deliveryPipelines.automations.delete

valid {
    input.ReqMap.name == STRING
    input.Qs.allowMissing == BOOLEAN
    input.Qs.etag == STRING
    input.Qs.requestId == STRING
    input.Qs.validateOnly == BOOLEAN
    input.ProviderMetadata.Region == STRING
}

clouddeploy.projects.locations.deliveryPipelines.automations.get

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

clouddeploy.projects.locations.deliveryPipelines.automations.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
}

clouddeploy.projects.locations.deliveryPipelines.automations.patch

enum_RetryBackoffMode := [ "BACKOFF_MODE_UNSPECIFIED", "BACKOFF_MODE_LINEAR", "BACKOFF_MODE_EXPONENTIAL" ]

valid {
    input.Body.annotations.STRING == STRING
    input.Body.description == STRING
    input.Body.etag == STRING
    input.Body.labels.STRING == STRING
    input.Body.rules[_].advanceRolloutRule.id == STRING
    input.Body.rules[_].advanceRolloutRule.sourcePhases[_] == STRING
    input.Body.rules[_].advanceRolloutRule.wait == STRING
    input.Body.rules[_].promoteReleaseRule.destinationPhase == STRING
    input.Body.rules[_].promoteReleaseRule.destinationTargetId == STRING
    input.Body.rules[_].promoteReleaseRule.id == STRING
    input.Body.rules[_].promoteReleaseRule.wait == STRING
    input.Body.rules[_].repairRolloutRule.id == STRING
    input.Body.rules[_].repairRolloutRule.jobs[_] == STRING
    input.Body.rules[_].repairRolloutRule.repairModes[_].retry.attempts == STRING
    input.Body.rules[_].repairRolloutRule.repairModes[_].retry.backoffMode == enum_RetryBackoffMode[_]
    input.Body.rules[_].repairRolloutRule.repairModes[_].retry.wait == STRING
    input.Body.rules[_].repairRolloutRule.repairModes[_].rollback.destinationPhase == STRING
    input.Body.rules[_].repairRolloutRule.sourcePhases[_] == STRING
    input.Body.selector.targets[_].id == STRING
    input.Body.selector.targets[_].labels.STRING == STRING
    input.Body.serviceAccount == STRING
    input.Body.suspended == BOOLEAN
    input.ReqMap.name == STRING
    input.Qs.allowMissing == BOOLEAN
    input.Qs.requestId == STRING
    input.Qs.updateMask == STRING
    input.Qs.validateOnly == BOOLEAN
    input.ProviderMetadata.Region == STRING
}

clouddeploy.projects.locations.deliveryPipelines.create

valid {
    input.Body.annotations.STRING == STRING
    input.Body.description == STRING
    input.Body.etag == STRING
    input.Body.labels.STRING == STRING
    input.Body.name == STRING
    input.Body.serialPipeline.stages[_].deployParameters[_].matchTargetLabels.STRING == STRING
    input.Body.serialPipeline.stages[_].deployParameters[_].values.STRING == STRING
    input.Body.serialPipeline.stages[_].profiles[_] == STRING
    input.Body.serialPipeline.stages[_].strategy.canary.canaryDeployment.percentages[_] == INTEGER
    input.Body.serialPipeline.stages[_].strategy.canary.canaryDeployment.postdeploy.actions[_] == STRING
    input.Body.serialPipeline.stages[_].strategy.canary.canaryDeployment.predeploy.actions[_] == STRING
    input.Body.serialPipeline.stages[_].strategy.canary.canaryDeployment.verify == BOOLEAN
    input.Body.serialPipeline.stages[_].strategy.canary.customCanaryDeployment.phaseConfigs[_].percentage == INTEGER
    input.Body.serialPipeline.stages[_].strategy.canary.customCanaryDeployment.phaseConfigs[_].phaseId == STRING
    input.Body.serialPipeline.stages[_].strategy.canary.customCanaryDeployment.phaseConfigs[_].postdeploy.actions[_] == STRING
    input.Body.serialPipeline.stages[_].strategy.canary.customCanaryDeployment.phaseConfigs[_].predeploy.actions[_] == STRING
    input.Body.serialPipeline.stages[_].strategy.canary.customCanaryDeployment.phaseConfigs[_].profiles[_] == STRING
    input.Body.serialPipeline.stages[_].strategy.canary.customCanaryDeployment.phaseConfigs[_].verify == BOOLEAN
    input.Body.serialPipeline.stages[_].strategy.canary.runtimeConfig.cloudRun.automaticTrafficControl == BOOLEAN
    input.Body.serialPipeline.stages[_].strategy.canary.runtimeConfig.cloudRun.canaryRevisionTags[_] == STRING
    input.Body.serialPipeline.stages[_].strategy.canary.runtimeConfig.cloudRun.priorRevisionTags[_] == STRING
    input.Body.serialPipeline.stages[_].strategy.canary.runtimeConfig.cloudRun.stableRevisionTags[_] == STRING
    input.Body.serialPipeline.stages[_].strategy.canary.runtimeConfig.kubernetes.gatewayServiceMesh.deployment == STRING
    input.Body.serialPipeline.stages[_].strategy.canary.runtimeConfig.kubernetes.gatewayServiceMesh.httpRoute == STRING
    input.Body.serialPipeline.stages[_].strategy.canary.runtimeConfig.kubernetes.gatewayServiceMesh.routeUpdateWaitTime == STRING
    input.Body.serialPipeline.stages[_].strategy.canary.runtimeConfig.kubernetes.gatewayServiceMesh.service == STRING
    input.Body.serialPipeline.stages[_].strategy.canary.runtimeConfig.kubernetes.gatewayServiceMesh.stableCutbackDuration == STRING
    input.Body.serialPipeline.stages[_].strategy.canary.runtimeConfig.kubernetes.serviceNetworking.deployment == STRING
    input.Body.serialPipeline.stages[_].strategy.canary.runtimeConfig.kubernetes.serviceNetworking.disablePodOverprovisioning == BOOLEAN
    input.Body.serialPipeline.stages[_].strategy.canary.runtimeConfig.kubernetes.serviceNetworking.service == STRING
    input.Body.serialPipeline.stages[_].strategy.standard.postdeploy.actions[_] == STRING
    input.Body.serialPipeline.stages[_].strategy.standard.predeploy.actions[_] == STRING
    input.Body.serialPipeline.stages[_].strategy.standard.verify == BOOLEAN
    input.Body.serialPipeline.stages[_].targetId == STRING
    input.Body.suspended == BOOLEAN
    input.ReqMap.parent == STRING
    input.Qs.deliveryPipelineId == STRING
    input.Qs.requestId == STRING
    input.Qs.validateOnly == BOOLEAN
    input.ProviderMetadata.Region == STRING
}

clouddeploy.projects.locations.deliveryPipelines.delete

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

clouddeploy.projects.locations.deliveryPipelines.get

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

clouddeploy.projects.locations.deliveryPipelines.getIamPolicy

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

clouddeploy.projects.locations.deliveryPipelines.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
}

clouddeploy.projects.locations.deliveryPipelines.patch

valid {
    input.Body.annotations.STRING == STRING
    input.Body.description == STRING
    input.Body.etag == STRING
    input.Body.labels.STRING == STRING
    input.Body.name == STRING
    input.Body.serialPipeline.stages[_].deployParameters[_].matchTargetLabels.STRING == STRING
    input.Body.serialPipeline.stages[_].deployParameters[_].values.STRING == STRING
    input.Body.serialPipeline.stages[_].profiles[_] == STRING
    input.Body.serialPipeline.stages[_].strategy.canary.canaryDeployment.percentages[_] == INTEGER
    input.Body.serialPipeline.stages[_].strategy.canary.canaryDeployment.postdeploy.actions[_] == STRING
    input.Body.serialPipeline.stages[_].strategy.canary.canaryDeployment.predeploy.actions[_] == STRING
    input.Body.serialPipeline.stages[_].strategy.canary.canaryDeployment.verify == BOOLEAN
    input.Body.serialPipeline.stages[_].strategy.canary.customCanaryDeployment.phaseConfigs[_].percentage == INTEGER
    input.Body.serialPipeline.stages[_].strategy.canary.customCanaryDeployment.phaseConfigs[_].phaseId == STRING
    input.Body.serialPipeline.stages[_].strategy.canary.customCanaryDeployment.phaseConfigs[_].postdeploy.actions[_] == STRING
    input.Body.serialPipeline.stages[_].strategy.canary.customCanaryDeployment.phaseConfigs[_].predeploy.actions[_] == STRING
    input.Body.serialPipeline.stages[_].strategy.canary.customCanaryDeployment.phaseConfigs[_].profiles[_] == STRING
    input.Body.serialPipeline.stages[_].strategy.canary.customCanaryDeployment.phaseConfigs[_].verify == BOOLEAN
    input.Body.serialPipeline.stages[_].strategy.canary.runtimeConfig.cloudRun.automaticTrafficControl == BOOLEAN
    input.Body.serialPipeline.stages[_].strategy.canary.runtimeConfig.cloudRun.canaryRevisionTags[_] == STRING
    input.Body.serialPipeline.stages[_].strategy.canary.runtimeConfig.cloudRun.priorRevisionTags[_] == STRING
    input.Body.serialPipeline.stages[_].strategy.canary.runtimeConfig.cloudRun.stableRevisionTags[_] == STRING
    input.Body.serialPipeline.stages[_].strategy.canary.runtimeConfig.kubernetes.gatewayServiceMesh.deployment == STRING
    input.Body.serialPipeline.stages[_].strategy.canary.runtimeConfig.kubernetes.gatewayServiceMesh.httpRoute == STRING
    input.Body.serialPipeline.stages[_].strategy.canary.runtimeConfig.kubernetes.gatewayServiceMesh.routeUpdateWaitTime == STRING
    input.Body.serialPipeline.stages[_].strategy.canary.runtimeConfig.kubernetes.gatewayServiceMesh.service == STRING
    input.Body.serialPipeline.stages[_].strategy.canary.runtimeConfig.kubernetes.gatewayServiceMesh.stableCutbackDuration == STRING
    input.Body.serialPipeline.stages[_].strategy.canary.runtimeConfig.kubernetes.serviceNetworking.deployment == STRING
    input.Body.serialPipeline.stages[_].strategy.canary.runtimeConfig.kubernetes.serviceNetworking.disablePodOverprovisioning == BOOLEAN
    input.Body.serialPipeline.stages[_].strategy.canary.runtimeConfig.kubernetes.serviceNetworking.service == STRING
    input.Body.serialPipeline.stages[_].strategy.standard.postdeploy.actions[_] == STRING
    input.Body.serialPipeline.stages[_].strategy.standard.predeploy.actions[_] == STRING
    input.Body.serialPipeline.stages[_].strategy.standard.verify == BOOLEAN
    input.Body.serialPipeline.stages[_].targetId == STRING
    input.Body.suspended == BOOLEAN
    input.ReqMap.name == STRING
    input.Qs.allowMissing == BOOLEAN
    input.Qs.requestId == STRING
    input.Qs.updateMask == STRING
    input.Qs.validateOnly == BOOLEAN
    input.ProviderMetadata.Region == STRING
}

clouddeploy.projects.locations.deliveryPipelines.releases.abandon

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

clouddeploy.projects.locations.deliveryPipelines.releases.create

valid {
    input.Body.annotations.STRING == STRING
    input.Body.buildArtifacts[_].image == STRING
    input.Body.buildArtifacts[_].tag == STRING
    input.Body.deployParameters.STRING == STRING
    input.Body.description == STRING
    input.Body.etag == STRING
    input.Body.labels.STRING == STRING
    input.Body.name == STRING
    input.Body.skaffoldConfigPath == STRING
    input.Body.skaffoldConfigUri == STRING
    input.Body.skaffoldVersion == STRING
    input.ReqMap.parent == STRING
    input.Qs.releaseId == STRING
    input.Qs.requestId == STRING
    input.Qs.validateOnly == BOOLEAN
    input.ProviderMetadata.Region == STRING
}

clouddeploy.projects.locations.deliveryPipelines.releases.get

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

clouddeploy.projects.locations.deliveryPipelines.releases.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
}

clouddeploy.projects.locations.deliveryPipelines.releases.rollouts.advance

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

clouddeploy.projects.locations.deliveryPipelines.releases.rollouts.approve

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

clouddeploy.projects.locations.deliveryPipelines.releases.rollouts.cancel

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

clouddeploy.projects.locations.deliveryPipelines.releases.rollouts.create

valid {
    input.Body.annotations.STRING == STRING
    input.Body.description == STRING
    input.Body.etag == STRING
    input.Body.labels.STRING == STRING
    input.Body.name == STRING
    input.Body.targetId == STRING
    input.ReqMap.parent == STRING
    input.Qs.requestId == STRING
    input.Qs.rolloutId == STRING
    input.Qs.startingPhaseId == STRING
    input.Qs.validateOnly == BOOLEAN
    input.ProviderMetadata.Region == STRING
}

clouddeploy.projects.locations.deliveryPipelines.releases.rollouts.get

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

clouddeploy.projects.locations.deliveryPipelines.releases.rollouts.ignoreJob

valid {
    input.Body.jobId == STRING
    input.Body.phaseId == STRING
    input.ReqMap.rollout == STRING
    input.ProviderMetadata.Region == STRING
}

clouddeploy.projects.locations.deliveryPipelines.releases.rollouts.jobRuns.get

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

clouddeploy.projects.locations.deliveryPipelines.releases.rollouts.jobRuns.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
}

clouddeploy.projects.locations.deliveryPipelines.releases.rollouts.jobRuns.terminate

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

clouddeploy.projects.locations.deliveryPipelines.releases.rollouts.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
}

clouddeploy.projects.locations.deliveryPipelines.releases.rollouts.retryJob

valid {
    input.Body.jobId == STRING
    input.Body.phaseId == STRING
    input.ReqMap.rollout == STRING
    input.ProviderMetadata.Region == STRING
}

clouddeploy.projects.locations.deliveryPipelines.rollbackTarget

valid {
    input.Body.releaseId == STRING
    input.Body.rollbackConfig.rollout.annotations.STRING == STRING
    input.Body.rollbackConfig.rollout.description == STRING
    input.Body.rollbackConfig.rollout.etag == STRING
    input.Body.rollbackConfig.rollout.labels.STRING == STRING
    input.Body.rollbackConfig.rollout.name == STRING
    input.Body.rollbackConfig.rollout.targetId == STRING
    input.Body.rollbackConfig.startingPhaseId == STRING
    input.Body.rolloutId == STRING
    input.Body.rolloutToRollBack == STRING
    input.Body.targetId == STRING
    input.Body.validateOnly == BOOLEAN
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

clouddeploy.projects.locations.deliveryPipelines.setIamPolicy

enum_AuditLogConfigLogType := [ "LOG_TYPE_UNSPECIFIED", "ADMIN_READ", "DATA_WRITE", "DATA_READ" ]

valid {
    input.Body.policy.auditConfigs[_].auditLogConfigs[_].exemptedMembers[_] == STRING
    input.Body.policy.auditConfigs[_].auditLogConfigs[_].logType == enum_AuditLogConfigLogType[_]
    input.Body.policy.auditConfigs[_].service == STRING
    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.Body.updateMask == STRING
    input.ReqMap.resource == STRING
    input.ProviderMetadata.Region == STRING
}

clouddeploy.projects.locations.deliveryPipelines.testIamPermissions

valid {
    input.Body.permissions[_] == STRING
    input.ReqMap.resource == STRING
    input.ProviderMetadata.Region == STRING
}

clouddeploy.projects.locations.get

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

clouddeploy.projects.locations.getConfig

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

clouddeploy.projects.locations.list

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

clouddeploy.projects.locations.operations.cancel

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

clouddeploy.projects.locations.operations.delete

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

clouddeploy.projects.locations.operations.get

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

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

clouddeploy.projects.locations.targets.create

enum_ExecutionConfigUsages := [ "EXECUTION_ENVIRONMENT_USAGE_UNSPECIFIED", "RENDER", "DEPLOY", "VERIFY", "PREDEPLOY", "POSTDEPLOY" ]

valid {
    input.Body.annotations.STRING == STRING
    input.Body.anthosCluster.membership == STRING
    input.Body.customTarget.customTargetType == STRING
    input.Body.deployParameters.STRING == STRING
    input.Body.description == STRING
    input.Body.etag == STRING
    input.Body.executionConfigs[_].artifactStorage == STRING
    input.Body.executionConfigs[_].defaultPool.artifactStorage == STRING
    input.Body.executionConfigs[_].defaultPool.serviceAccount == STRING
    input.Body.executionConfigs[_].executionTimeout == STRING
    input.Body.executionConfigs[_].privatePool.artifactStorage == STRING
    input.Body.executionConfigs[_].privatePool.serviceAccount == STRING
    input.Body.executionConfigs[_].privatePool.workerPool == STRING
    input.Body.executionConfigs[_].serviceAccount == STRING
    input.Body.executionConfigs[_].usages[_] == enum_ExecutionConfigUsages[_]
    input.Body.executionConfigs[_].workerPool == STRING
    input.Body.gke.cluster == STRING
    input.Body.gke.internalIp == BOOLEAN
    input.Body.labels.STRING == STRING
    input.Body.multiTarget.targetIds[_] == STRING
    input.Body.name == STRING
    input.Body.requireApproval == BOOLEAN
    input.Body.run.location == STRING
    input.ReqMap.parent == STRING
    input.Qs.requestId == STRING
    input.Qs.targetId == STRING
    input.Qs.validateOnly == BOOLEAN
    input.ProviderMetadata.Region == STRING
}

clouddeploy.projects.locations.targets.delete

valid {
    input.ReqMap.name == STRING
    input.Qs.allowMissing == BOOLEAN
    input.Qs.etag == STRING
    input.Qs.requestId == STRING
    input.Qs.validateOnly == BOOLEAN
    input.ProviderMetadata.Region == STRING
}

clouddeploy.projects.locations.targets.get

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

clouddeploy.projects.locations.targets.getIamPolicy

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

clouddeploy.projects.locations.targets.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
}

clouddeploy.projects.locations.targets.patch

enum_ExecutionConfigUsages := [ "EXECUTION_ENVIRONMENT_USAGE_UNSPECIFIED", "RENDER", "DEPLOY", "VERIFY", "PREDEPLOY", "POSTDEPLOY" ]

valid {
    input.Body.annotations.STRING == STRING
    input.Body.anthosCluster.membership == STRING
    input.Body.customTarget.customTargetType == STRING
    input.Body.deployParameters.STRING == STRING
    input.Body.description == STRING
    input.Body.etag == STRING
    input.Body.executionConfigs[_].artifactStorage == STRING
    input.Body.executionConfigs[_].defaultPool.artifactStorage == STRING
    input.Body.executionConfigs[_].defaultPool.serviceAccount == STRING
    input.Body.executionConfigs[_].executionTimeout == STRING
    input.Body.executionConfigs[_].privatePool.artifactStorage == STRING
    input.Body.executionConfigs[_].privatePool.serviceAccount == STRING
    input.Body.executionConfigs[_].privatePool.workerPool == STRING
    input.Body.executionConfigs[_].serviceAccount == STRING
    input.Body.executionConfigs[_].usages[_] == enum_ExecutionConfigUsages[_]
    input.Body.executionConfigs[_].workerPool == STRING
    input.Body.gke.cluster == STRING
    input.Body.gke.internalIp == BOOLEAN
    input.Body.labels.STRING == STRING
    input.Body.multiTarget.targetIds[_] == STRING
    input.Body.name == STRING
    input.Body.requireApproval == BOOLEAN
    input.Body.run.location == STRING
    input.ReqMap.name == STRING
    input.Qs.allowMissing == BOOLEAN
    input.Qs.requestId == STRING
    input.Qs.updateMask == STRING
    input.Qs.validateOnly == BOOLEAN
    input.ProviderMetadata.Region == STRING
}

clouddeploy.projects.locations.targets.setIamPolicy

enum_AuditLogConfigLogType := [ "LOG_TYPE_UNSPECIFIED", "ADMIN_READ", "DATA_WRITE", "DATA_READ" ]

valid {
    input.Body.policy.auditConfigs[_].auditLogConfigs[_].exemptedMembers[_] == STRING
    input.Body.policy.auditConfigs[_].auditLogConfigs[_].logType == enum_AuditLogConfigLogType[_]
    input.Body.policy.auditConfigs[_].service == STRING
    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.Body.updateMask == STRING
    input.ReqMap.resource == STRING
    input.ProviderMetadata.Region == STRING
}

clouddeploy.projects.locations.targets.testIamPermissions

valid {
    input.Body.permissions[_] == STRING
    input.ReqMap.resource == STRING
    input.ProviderMetadata.Region == STRING
}