config.projects.locations.deployments.create

enum_DeploymentQuotaValidation := [ "QUOTA_VALIDATION_UNSPECIFIED", "ENABLED", "ENFORCED" ]

valid {
    input.Body.annotations.STRING == STRING
    input.Body.artifactsGcsBucket == STRING
    input.Body.importExistingResources == BOOLEAN
    input.Body.labels.STRING == STRING
    input.Body.name == STRING
    input.Body.quotaValidation == enum_DeploymentQuotaValidation[_]
    input.Body.serviceAccount == STRING
    input.Body.terraformBlueprint.gcsSource == STRING
    input.Body.terraformBlueprint.gitSource.directory == STRING
    input.Body.terraformBlueprint.gitSource.ref == STRING
    input.Body.terraformBlueprint.gitSource.repo == STRING
    input.Body.terraformBlueprint.inputValues.STRING.inputValue == ANY
    input.Body.tfVersionConstraint == STRING
    input.Body.workerPool == STRING
    input.ReqMap.parent == STRING
    input.Qs.deploymentId == STRING
    input.Qs.requestId == STRING
    input.ProviderMetadata.Region == STRING
}

config.projects.locations.deployments.delete

enum_DeletePolicyParameter := [ "DELETE_POLICY_UNSPECIFIED", "DELETE", "ABANDON" ]

valid {
    input.ReqMap.name == STRING
    input.Qs.deletePolicy == enum_DeletePolicyParameter[_]
    input.Qs.force == BOOLEAN
    input.Qs.requestId == STRING
    input.ProviderMetadata.Region == STRING
}

config.projects.locations.deployments.deleteState

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

config.projects.locations.deployments.exportLock

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

config.projects.locations.deployments.exportState

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

config.projects.locations.deployments.get

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

config.projects.locations.deployments.getIamPolicy

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

config.projects.locations.deployments.importState

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

config.projects.locations.deployments.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
}

config.projects.locations.deployments.lock

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

config.projects.locations.deployments.patch

enum_DeploymentQuotaValidation := [ "QUOTA_VALIDATION_UNSPECIFIED", "ENABLED", "ENFORCED" ]

valid {
    input.Body.annotations.STRING == STRING
    input.Body.artifactsGcsBucket == STRING
    input.Body.importExistingResources == BOOLEAN
    input.Body.labels.STRING == STRING
    input.Body.name == STRING
    input.Body.quotaValidation == enum_DeploymentQuotaValidation[_]
    input.Body.serviceAccount == STRING
    input.Body.terraformBlueprint.gcsSource == STRING
    input.Body.terraformBlueprint.gitSource.directory == STRING
    input.Body.terraformBlueprint.gitSource.ref == STRING
    input.Body.terraformBlueprint.gitSource.repo == STRING
    input.Body.terraformBlueprint.inputValues.STRING.inputValue == ANY
    input.Body.tfVersionConstraint == STRING
    input.Body.workerPool == STRING
    input.ReqMap.name == STRING
    input.Qs.requestId == STRING
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

config.projects.locations.deployments.revisions.exportState

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

config.projects.locations.deployments.revisions.get

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

config.projects.locations.deployments.revisions.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
}

config.projects.locations.deployments.revisions.resources.get

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

config.projects.locations.deployments.revisions.resources.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
}

config.projects.locations.deployments.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
}

config.projects.locations.deployments.testIamPermissions

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

config.projects.locations.deployments.unlock

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

config.projects.locations.get

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

config.projects.locations.list

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

config.projects.locations.operations.cancel

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

config.projects.locations.operations.delete

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

config.projects.locations.operations.get

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

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

config.projects.locations.previews.create

enum_PreviewPreviewMode := [ "PREVIEW_MODE_UNSPECIFIED", "DEFAULT", "DELETE" ]

valid {
    input.Body.annotations.STRING == STRING
    input.Body.artifactsGcsBucket == STRING
    input.Body.deployment == STRING
    input.Body.labels.STRING == STRING
    input.Body.name == STRING
    input.Body.previewMode == enum_PreviewPreviewMode[_]
    input.Body.serviceAccount == STRING
    input.Body.terraformBlueprint.gcsSource == STRING
    input.Body.terraformBlueprint.gitSource.directory == STRING
    input.Body.terraformBlueprint.gitSource.ref == STRING
    input.Body.terraformBlueprint.gitSource.repo == STRING
    input.Body.terraformBlueprint.inputValues.STRING.inputValue == ANY
    input.Body.tfVersionConstraint == STRING
    input.Body.workerPool == STRING
    input.ReqMap.parent == STRING
    input.Qs.previewId == STRING
    input.Qs.requestId == STRING
    input.ProviderMetadata.Region == STRING
}

config.projects.locations.previews.delete

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

config.projects.locations.previews.export

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

config.projects.locations.previews.get

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

config.projects.locations.previews.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
}

config.projects.locations.previews.resourceChanges.get

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

config.projects.locations.previews.resourceChanges.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
}

config.projects.locations.previews.resourceDrifts.get

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

config.projects.locations.previews.resourceDrifts.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
}

config.projects.locations.terraformVersions.get

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

config.projects.locations.terraformVersions.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
}