ARTIFACTREGISTRY

artifactregistry.projects.getProjectSettings

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

artifactregistry.projects.locations.get

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

artifactregistry.projects.locations.getVpcscConfig

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

artifactregistry.projects.locations.list

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

artifactregistry.projects.locations.operations.get

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

artifactregistry.projects.locations.repositories.aptArtifacts.import

valid {
    input.Body.gcsSource.uris[_] == STRING
    input.Body.gcsSource.useWildcards == BOOLEAN
    input.ReqMap.parent == STRING
    input.ProviderMetadata.Region == STRING
}

artifactregistry.projects.locations.repositories.aptArtifacts.upload

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

artifactregistry.projects.locations.repositories.attachments.create

valid {
    input.Body.annotations.STRING == STRING
    input.Body.attachmentNamespace == STRING
    input.Body.files[_] == STRING
    input.Body.name == STRING
    input.Body.target == STRING
    input.Body.type == STRING
    input.ReqMap.parent == STRING
    input.Qs.attachmentId == STRING
    input.ProviderMetadata.Region == STRING
}

artifactregistry.projects.locations.repositories.attachments.delete

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

artifactregistry.projects.locations.repositories.attachments.get

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

artifactregistry.projects.locations.repositories.attachments.list

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

artifactregistry.projects.locations.repositories.create

enum_CleanupPolicyAction := [ "ACTION_UNSPECIFIED", "DELETE", "KEEP" ]
enum_CleanupPolicyConditionTagState := [ "TAG_STATE_UNSPECIFIED", "TAGGED", "UNTAGGED", "ANY" ]
enum_DockerRepositoryPublicRepository := [ "PUBLIC_REPOSITORY_UNSPECIFIED", "DOCKER_HUB" ]
enum_GoogleDevtoolsArtifactregistryV1RemoteRepositoryConfigAptRepositoryPublicRepositoryRepositoryBase := [ "REPOSITORY_BASE_UNSPECIFIED", "DEBIAN", "UBUNTU", "DEBIAN_SNAPSHOT" ]
enum_GoogleDevtoolsArtifactregistryV1RemoteRepositoryConfigYumRepositoryPublicRepositoryRepositoryBase := [ "REPOSITORY_BASE_UNSPECIFIED", "CENTOS", "CENTOS_DEBUG", "CENTOS_VAULT", "CENTOS_STREAM", "ROCKY", "EPEL" ]
enum_MavenRepositoryConfigVersionPolicy := [ "VERSION_POLICY_UNSPECIFIED", "RELEASE", "SNAPSHOT" ]
enum_MavenRepositoryPublicRepository := [ "PUBLIC_REPOSITORY_UNSPECIFIED", "MAVEN_CENTRAL" ]
enum_NpmRepositoryPublicRepository := [ "PUBLIC_REPOSITORY_UNSPECIFIED", "NPMJS" ]
enum_PythonRepositoryPublicRepository := [ "PUBLIC_REPOSITORY_UNSPECIFIED", "PYPI" ]
enum_RepositoryFormat := [ "FORMAT_UNSPECIFIED", "DOCKER", "MAVEN", "NPM", "APT", "YUM", "GOOGET", "PYTHON", "KFP", "GO", "GENERIC" ]
enum_RepositoryMode := [ "MODE_UNSPECIFIED", "STANDARD_REPOSITORY", "VIRTUAL_REPOSITORY", "REMOTE_REPOSITORY", "AOSS_REPOSITORY", "ASSURED_OSS_REPOSITORY" ]
enum_VulnerabilityScanningConfigEnablementConfig := [ "ENABLEMENT_CONFIG_UNSPECIFIED", "INHERITED", "DISABLED" ]

valid {
    input.Body.cleanupPolicies.STRING.action == enum_CleanupPolicyAction[_]
    input.Body.cleanupPolicies.STRING.condition.newerThan == STRING
    input.Body.cleanupPolicies.STRING.condition.olderThan == STRING
    input.Body.cleanupPolicies.STRING.condition.packageNamePrefixes[_] == STRING
    input.Body.cleanupPolicies.STRING.condition.tagPrefixes[_] == STRING
    input.Body.cleanupPolicies.STRING.condition.tagState == enum_CleanupPolicyConditionTagState[_]
    input.Body.cleanupPolicies.STRING.condition.versionNamePrefixes[_] == STRING
    input.Body.cleanupPolicies.STRING.id == STRING
    input.Body.cleanupPolicies.STRING.mostRecentVersions.keepCount == INTEGER
    input.Body.cleanupPolicies.STRING.mostRecentVersions.packageNamePrefixes[_] == STRING
    input.Body.cleanupPolicyDryRun == BOOLEAN
    input.Body.description == STRING
    input.Body.disallowUnspecifiedMode == BOOLEAN
    input.Body.dockerConfig.immutableTags == BOOLEAN
    input.Body.format == enum_RepositoryFormat[_]
    input.Body.kmsKeyName == STRING
    input.Body.labels.STRING == STRING
    input.Body.mavenConfig.allowSnapshotOverwrites == BOOLEAN
    input.Body.mavenConfig.versionPolicy == enum_MavenRepositoryConfigVersionPolicy[_]
    input.Body.mode == enum_RepositoryMode[_]
    input.Body.name == STRING
    input.Body.remoteRepositoryConfig.aptRepository.customRepository.uri == STRING
    input.Body.remoteRepositoryConfig.aptRepository.publicRepository.repositoryBase == enum_GoogleDevtoolsArtifactregistryV1RemoteRepositoryConfigAptRepositoryPublicRepositoryRepositoryBase[_]
    input.Body.remoteRepositoryConfig.aptRepository.publicRepository.repositoryPath == STRING
    input.Body.remoteRepositoryConfig.commonRepository.uri == STRING
    input.Body.remoteRepositoryConfig.description == STRING
    input.Body.remoteRepositoryConfig.disableUpstreamValidation == BOOLEAN
    input.Body.remoteRepositoryConfig.dockerRepository.customRepository.uri == STRING
    input.Body.remoteRepositoryConfig.dockerRepository.publicRepository == enum_DockerRepositoryPublicRepository[_]
    input.Body.remoteRepositoryConfig.mavenRepository.customRepository.uri == STRING
    input.Body.remoteRepositoryConfig.mavenRepository.publicRepository == enum_MavenRepositoryPublicRepository[_]
    input.Body.remoteRepositoryConfig.npmRepository.customRepository.uri == STRING
    input.Body.remoteRepositoryConfig.npmRepository.publicRepository == enum_NpmRepositoryPublicRepository[_]
    input.Body.remoteRepositoryConfig.pythonRepository.customRepository.uri == STRING
    input.Body.remoteRepositoryConfig.pythonRepository.publicRepository == enum_PythonRepositoryPublicRepository[_]
    input.Body.remoteRepositoryConfig.upstreamCredentials.usernamePasswordCredentials.passwordSecretVersion == STRING
    input.Body.remoteRepositoryConfig.upstreamCredentials.usernamePasswordCredentials.username == STRING
    input.Body.remoteRepositoryConfig.yumRepository.customRepository.uri == STRING
    input.Body.remoteRepositoryConfig.yumRepository.publicRepository.repositoryBase == enum_GoogleDevtoolsArtifactregistryV1RemoteRepositoryConfigYumRepositoryPublicRepositoryRepositoryBase[_]
    input.Body.remoteRepositoryConfig.yumRepository.publicRepository.repositoryPath == STRING
    input.Body.virtualRepositoryConfig.upstreamPolicies[_].id == STRING
    input.Body.virtualRepositoryConfig.upstreamPolicies[_].priority == INTEGER
    input.Body.virtualRepositoryConfig.upstreamPolicies[_].repository == STRING
    input.Body.vulnerabilityScanningConfig.enablementConfig == enum_VulnerabilityScanningConfigEnablementConfig[_]
    input.ReqMap.parent == STRING
    input.Qs.repositoryId == STRING
    input.ProviderMetadata.Region == STRING
}

artifactregistry.projects.locations.repositories.delete

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

artifactregistry.projects.locations.repositories.dockerImages.get

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

artifactregistry.projects.locations.repositories.dockerImages.list

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

artifactregistry.projects.locations.repositories.files.delete

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

artifactregistry.projects.locations.repositories.files.download

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

artifactregistry.projects.locations.repositories.files.get

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

artifactregistry.projects.locations.repositories.files.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
}

artifactregistry.projects.locations.repositories.files.patch

enum_HashType := [ "HASH_TYPE_UNSPECIFIED", "SHA256", "MD5" ]

valid {
    input.Body.annotations.STRING == STRING
    input.Body.hashes[_].type == enum_HashType[_]
    input.Body.hashes[_].value == STRING
    input.Body.name == STRING
    input.Body.owner == STRING
    input.Body.sizeBytes == STRING
    input.ReqMap.name == STRING
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

artifactregistry.projects.locations.repositories.files.upload

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

artifactregistry.projects.locations.repositories.genericArtifacts.upload

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

artifactregistry.projects.locations.repositories.get

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

artifactregistry.projects.locations.repositories.getIamPolicy

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

artifactregistry.projects.locations.repositories.goModules.upload

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

artifactregistry.projects.locations.repositories.googetArtifacts.import

valid {
    input.Body.gcsSource.uris[_] == STRING
    input.Body.gcsSource.useWildcards == BOOLEAN
    input.ReqMap.parent == STRING
    input.ProviderMetadata.Region == STRING
}

artifactregistry.projects.locations.repositories.googetArtifacts.upload

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

artifactregistry.projects.locations.repositories.kfpArtifacts.upload

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

artifactregistry.projects.locations.repositories.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
}

artifactregistry.projects.locations.repositories.mavenArtifacts.get

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

artifactregistry.projects.locations.repositories.mavenArtifacts.list

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

artifactregistry.projects.locations.repositories.npmPackages.get

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

artifactregistry.projects.locations.repositories.npmPackages.list

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

artifactregistry.projects.locations.repositories.packages.delete

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

artifactregistry.projects.locations.repositories.packages.get

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

artifactregistry.projects.locations.repositories.packages.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
}

artifactregistry.projects.locations.repositories.packages.patch

valid {
    input.Body.annotations.STRING == STRING
    input.Body.createTime == STRING
    input.Body.displayName == STRING
    input.Body.name == STRING
    input.Body.updateTime == STRING
    input.ReqMap.name == STRING
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

artifactregistry.projects.locations.repositories.packages.tags.create

valid {
    input.Body.name == STRING
    input.Body.version == STRING
    input.ReqMap.parent == STRING
    input.Qs.tagId == STRING
    input.ProviderMetadata.Region == STRING
}

artifactregistry.projects.locations.repositories.packages.tags.delete

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

artifactregistry.projects.locations.repositories.packages.tags.get

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

artifactregistry.projects.locations.repositories.packages.tags.list

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

artifactregistry.projects.locations.repositories.packages.tags.patch

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

artifactregistry.projects.locations.repositories.packages.versions.batchDelete

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

artifactregistry.projects.locations.repositories.packages.versions.delete

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

artifactregistry.projects.locations.repositories.packages.versions.get

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

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

artifactregistry.projects.locations.repositories.packages.versions.list

enum_ViewParameter := [ "VERSION_VIEW_UNSPECIFIED", "BASIC", "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
}

artifactregistry.projects.locations.repositories.packages.versions.patch

valid {
    input.Body.annotations.STRING == STRING
    input.Body.createTime == STRING
    input.Body.description == STRING
    input.Body.name == STRING
    input.Body.relatedTags[_].name == STRING
    input.Body.relatedTags[_].version == STRING
    input.Body.updateTime == STRING
    input.ReqMap.name == STRING
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

artifactregistry.projects.locations.repositories.patch

enum_CleanupPolicyAction := [ "ACTION_UNSPECIFIED", "DELETE", "KEEP" ]
enum_CleanupPolicyConditionTagState := [ "TAG_STATE_UNSPECIFIED", "TAGGED", "UNTAGGED", "ANY" ]
enum_DockerRepositoryPublicRepository := [ "PUBLIC_REPOSITORY_UNSPECIFIED", "DOCKER_HUB" ]
enum_GoogleDevtoolsArtifactregistryV1RemoteRepositoryConfigAptRepositoryPublicRepositoryRepositoryBase := [ "REPOSITORY_BASE_UNSPECIFIED", "DEBIAN", "UBUNTU", "DEBIAN_SNAPSHOT" ]
enum_GoogleDevtoolsArtifactregistryV1RemoteRepositoryConfigYumRepositoryPublicRepositoryRepositoryBase := [ "REPOSITORY_BASE_UNSPECIFIED", "CENTOS", "CENTOS_DEBUG", "CENTOS_VAULT", "CENTOS_STREAM", "ROCKY", "EPEL" ]
enum_MavenRepositoryConfigVersionPolicy := [ "VERSION_POLICY_UNSPECIFIED", "RELEASE", "SNAPSHOT" ]
enum_MavenRepositoryPublicRepository := [ "PUBLIC_REPOSITORY_UNSPECIFIED", "MAVEN_CENTRAL" ]
enum_NpmRepositoryPublicRepository := [ "PUBLIC_REPOSITORY_UNSPECIFIED", "NPMJS" ]
enum_PythonRepositoryPublicRepository := [ "PUBLIC_REPOSITORY_UNSPECIFIED", "PYPI" ]
enum_RepositoryFormat := [ "FORMAT_UNSPECIFIED", "DOCKER", "MAVEN", "NPM", "APT", "YUM", "GOOGET", "PYTHON", "KFP", "GO", "GENERIC" ]
enum_RepositoryMode := [ "MODE_UNSPECIFIED", "STANDARD_REPOSITORY", "VIRTUAL_REPOSITORY", "REMOTE_REPOSITORY", "AOSS_REPOSITORY", "ASSURED_OSS_REPOSITORY" ]
enum_VulnerabilityScanningConfigEnablementConfig := [ "ENABLEMENT_CONFIG_UNSPECIFIED", "INHERITED", "DISABLED" ]

valid {
    input.Body.cleanupPolicies.STRING.action == enum_CleanupPolicyAction[_]
    input.Body.cleanupPolicies.STRING.condition.newerThan == STRING
    input.Body.cleanupPolicies.STRING.condition.olderThan == STRING
    input.Body.cleanupPolicies.STRING.condition.packageNamePrefixes[_] == STRING
    input.Body.cleanupPolicies.STRING.condition.tagPrefixes[_] == STRING
    input.Body.cleanupPolicies.STRING.condition.tagState == enum_CleanupPolicyConditionTagState[_]
    input.Body.cleanupPolicies.STRING.condition.versionNamePrefixes[_] == STRING
    input.Body.cleanupPolicies.STRING.id == STRING
    input.Body.cleanupPolicies.STRING.mostRecentVersions.keepCount == INTEGER
    input.Body.cleanupPolicies.STRING.mostRecentVersions.packageNamePrefixes[_] == STRING
    input.Body.cleanupPolicyDryRun == BOOLEAN
    input.Body.description == STRING
    input.Body.disallowUnspecifiedMode == BOOLEAN
    input.Body.dockerConfig.immutableTags == BOOLEAN
    input.Body.format == enum_RepositoryFormat[_]
    input.Body.kmsKeyName == STRING
    input.Body.labels.STRING == STRING
    input.Body.mavenConfig.allowSnapshotOverwrites == BOOLEAN
    input.Body.mavenConfig.versionPolicy == enum_MavenRepositoryConfigVersionPolicy[_]
    input.Body.mode == enum_RepositoryMode[_]
    input.Body.name == STRING
    input.Body.remoteRepositoryConfig.aptRepository.customRepository.uri == STRING
    input.Body.remoteRepositoryConfig.aptRepository.publicRepository.repositoryBase == enum_GoogleDevtoolsArtifactregistryV1RemoteRepositoryConfigAptRepositoryPublicRepositoryRepositoryBase[_]
    input.Body.remoteRepositoryConfig.aptRepository.publicRepository.repositoryPath == STRING
    input.Body.remoteRepositoryConfig.commonRepository.uri == STRING
    input.Body.remoteRepositoryConfig.description == STRING
    input.Body.remoteRepositoryConfig.disableUpstreamValidation == BOOLEAN
    input.Body.remoteRepositoryConfig.dockerRepository.customRepository.uri == STRING
    input.Body.remoteRepositoryConfig.dockerRepository.publicRepository == enum_DockerRepositoryPublicRepository[_]
    input.Body.remoteRepositoryConfig.mavenRepository.customRepository.uri == STRING
    input.Body.remoteRepositoryConfig.mavenRepository.publicRepository == enum_MavenRepositoryPublicRepository[_]
    input.Body.remoteRepositoryConfig.npmRepository.customRepository.uri == STRING
    input.Body.remoteRepositoryConfig.npmRepository.publicRepository == enum_NpmRepositoryPublicRepository[_]
    input.Body.remoteRepositoryConfig.pythonRepository.customRepository.uri == STRING
    input.Body.remoteRepositoryConfig.pythonRepository.publicRepository == enum_PythonRepositoryPublicRepository[_]
    input.Body.remoteRepositoryConfig.upstreamCredentials.usernamePasswordCredentials.passwordSecretVersion == STRING
    input.Body.remoteRepositoryConfig.upstreamCredentials.usernamePasswordCredentials.username == STRING
    input.Body.remoteRepositoryConfig.yumRepository.customRepository.uri == STRING
    input.Body.remoteRepositoryConfig.yumRepository.publicRepository.repositoryBase == enum_GoogleDevtoolsArtifactregistryV1RemoteRepositoryConfigYumRepositoryPublicRepositoryRepositoryBase[_]
    input.Body.remoteRepositoryConfig.yumRepository.publicRepository.repositoryPath == STRING
    input.Body.virtualRepositoryConfig.upstreamPolicies[_].id == STRING
    input.Body.virtualRepositoryConfig.upstreamPolicies[_].priority == INTEGER
    input.Body.virtualRepositoryConfig.upstreamPolicies[_].repository == STRING
    input.Body.vulnerabilityScanningConfig.enablementConfig == enum_VulnerabilityScanningConfigEnablementConfig[_]
    input.ReqMap.name == STRING
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

artifactregistry.projects.locations.repositories.pythonPackages.get

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

artifactregistry.projects.locations.repositories.pythonPackages.list

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

artifactregistry.projects.locations.repositories.rules.create

enum_GoogleDevtoolsArtifactregistryV1RuleAction := [ "ACTION_UNSPECIFIED", "ALLOW", "DENY" ]
enum_GoogleDevtoolsArtifactregistryV1RuleOperation := [ "OPERATION_UNSPECIFIED", "DOWNLOAD" ]

valid {
    input.Body.action == enum_GoogleDevtoolsArtifactregistryV1RuleAction[_]
    input.Body.condition.description == STRING
    input.Body.condition.expression == STRING
    input.Body.condition.location == STRING
    input.Body.condition.title == STRING
    input.Body.name == STRING
    input.Body.operation == enum_GoogleDevtoolsArtifactregistryV1RuleOperation[_]
    input.Body.packageId == STRING
    input.ReqMap.parent == STRING
    input.Qs.ruleId == STRING
    input.ProviderMetadata.Region == STRING
}

artifactregistry.projects.locations.repositories.rules.delete

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

artifactregistry.projects.locations.repositories.rules.get

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

artifactregistry.projects.locations.repositories.rules.list

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

artifactregistry.projects.locations.repositories.rules.patch

enum_GoogleDevtoolsArtifactregistryV1RuleAction := [ "ACTION_UNSPECIFIED", "ALLOW", "DENY" ]
enum_GoogleDevtoolsArtifactregistryV1RuleOperation := [ "OPERATION_UNSPECIFIED", "DOWNLOAD" ]

valid {
    input.Body.action == enum_GoogleDevtoolsArtifactregistryV1RuleAction[_]
    input.Body.condition.description == STRING
    input.Body.condition.expression == STRING
    input.Body.condition.location == STRING
    input.Body.condition.title == STRING
    input.Body.name == STRING
    input.Body.operation == enum_GoogleDevtoolsArtifactregistryV1RuleOperation[_]
    input.Body.packageId == STRING
    input.ReqMap.name == STRING
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

artifactregistry.projects.locations.repositories.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
}

artifactregistry.projects.locations.repositories.testIamPermissions

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

artifactregistry.projects.locations.repositories.yumArtifacts.import

valid {
    input.Body.gcsSource.uris[_] == STRING
    input.Body.gcsSource.useWildcards == BOOLEAN
    input.ReqMap.parent == STRING
    input.ProviderMetadata.Region == STRING
}

artifactregistry.projects.locations.repositories.yumArtifacts.upload

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

artifactregistry.projects.locations.updateVpcscConfig

enum_VPCSCConfigVpcscPolicy := [ "VPCSC_POLICY_UNSPECIFIED", "DENY", "ALLOW" ]

valid {
    input.Body.name == STRING
    input.Body.vpcscPolicy == enum_VPCSCConfigVpcscPolicy[_]
    input.ReqMap.name == STRING
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

artifactregistry.projects.updateProjectSettings

enum_ProjectSettingsLegacyRedirectionState := [ "REDIRECTION_STATE_UNSPECIFIED", "REDIRECTION_FROM_GCR_IO_DISABLED", "REDIRECTION_FROM_GCR_IO_ENABLED", "REDIRECTION_FROM_GCR_IO_FINALIZED", "REDIRECTION_FROM_GCR_IO_ENABLED_AND_COPYING", "REDIRECTION_FROM_GCR_IO_PARTIAL_AND_COPYING" ]

valid {
    input.Body.legacyRedirectionState == enum_ProjectSettingsLegacyRedirectionState[_]
    input.Body.name == STRING
    input.Body.pullPercent == INTEGER
    input.ReqMap.name == STRING
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}