"use strict";
// *** WARNING: this file was generated by pulumi-language-nodejs. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
Object.defineProperty(exports, "__esModule", { value: true });
exports.Repository = void 0;
const pulumi = require("@pulumi/pulumi");
const utilities = require("../utilities");
/**
 * A repository for storing artifacts
 *
 * To get more information about Repository, see:
 *
 * * [API documentation](https://cloud.google.com/artifact-registry/docs/reference/rest/v1/projects.locations.repositories)
 * * How-to Guides
 *     * [Official Documentation](https://cloud.google.com/artifact-registry/docs/overview)
 *
 * ## Example Usage
 *
 * ### Artifact Registry Repository Basic
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as gcp from "@pulumi/gcp";
 *
 * const my_repo = new gcp.artifactregistry.Repository("my-repo", {
 *     location: "us-central1",
 *     repositoryId: "my-repository",
 *     description: "example docker repository",
 *     format: "DOCKER",
 * });
 * ```
 * ### Artifact Registry Repository Multi Region
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as gcp from "@pulumi/gcp";
 *
 * const my_repo = new gcp.artifactregistry.Repository("my-repo", {
 *     repositoryId: "my-repository",
 *     description: "example docker repository",
 *     location: "us",
 *     format: "DOCKER",
 * });
 * ```
 * ### Artifact Registry Repository Docker
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as gcp from "@pulumi/gcp";
 *
 * const my_repo = new gcp.artifactregistry.Repository("my-repo", {
 *     location: "us-central1",
 *     repositoryId: "my-repository",
 *     description: "example docker repository",
 *     format: "DOCKER",
 *     dockerConfig: {
 *         immutableTags: true,
 *     },
 * });
 * ```
 * ### Artifact Registry Repository Cmek
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as gcp from "@pulumi/gcp";
 *
 * const project = gcp.organizations.getProject({});
 * const cryptoKey = new gcp.kms.CryptoKeyIAMMember("crypto_key", {
 *     cryptoKeyId: "kms-key",
 *     role: "roles/cloudkms.cryptoKeyEncrypterDecrypter",
 *     member: project.then(project => `serviceAccount:service-${project.number}@gcp-sa-artifactregistry.iam.gserviceaccount.com`),
 * });
 * const my_repo = new gcp.artifactregistry.Repository("my-repo", {
 *     location: "us-central1",
 *     repositoryId: "my-repository",
 *     description: "example docker repository with cmek",
 *     format: "DOCKER",
 *     kmsKeyName: "kms-key",
 * }, {
 *     dependsOn: [cryptoKey],
 * });
 * ```
 * ### Artifact Registry Repository Virtual
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as gcp from "@pulumi/gcp";
 *
 * const my_repo_upstream_1 = new gcp.artifactregistry.Repository("my-repo-upstream-1", {
 *     location: "us-central1",
 *     repositoryId: "my-repository-upstream-1",
 *     description: "example docker repository (upstream source) 1",
 *     format: "DOCKER",
 * });
 * const my_repo_upstream_2 = new gcp.artifactregistry.Repository("my-repo-upstream-2", {
 *     location: "us-central1",
 *     repositoryId: "my-repository-upstream-2",
 *     description: "example docker repository (upstream source) 2",
 *     format: "DOCKER",
 * });
 * const my_repo = new gcp.artifactregistry.Repository("my-repo", {
 *     location: "us-central1",
 *     repositoryId: "my-repository",
 *     description: "example virtual docker repository",
 *     format: "DOCKER",
 *     mode: "VIRTUAL_REPOSITORY",
 *     virtualRepositoryConfig: {
 *         upstreamPolicies: [
 *             {
 *                 id: "my-repository-upstream-1",
 *                 repository: my_repo_upstream_1.id,
 *                 priority: 20,
 *             },
 *             {
 *                 id: "my-repository-upstream-2",
 *                 repository: my_repo_upstream_2.id,
 *                 priority: 10,
 *             },
 *         ],
 *     },
 * });
 * ```
 * ### Artifact Registry Repository Remote
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as gcp from "@pulumi/gcp";
 *
 * const my_repo = new gcp.artifactregistry.Repository("my-repo", {
 *     location: "us-central1",
 *     repositoryId: "my-repository",
 *     description: "example remote docker repository",
 *     format: "DOCKER",
 *     mode: "REMOTE_REPOSITORY",
 *     remoteRepositoryConfig: {
 *         description: "docker hub",
 *         dockerRepository: {
 *             publicRepository: "DOCKER_HUB",
 *         },
 *     },
 * });
 * ```
 * ### Artifact Registry Repository Remote Apt
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as gcp from "@pulumi/gcp";
 *
 * const my_repo = new gcp.artifactregistry.Repository("my-repo", {
 *     location: "us-central1",
 *     repositoryId: "debian-stable",
 *     description: "example remote apt repository",
 *     format: "APT",
 *     mode: "REMOTE_REPOSITORY",
 *     remoteRepositoryConfig: {
 *         description: "Debian stable remote repository",
 *         aptRepository: {
 *             publicRepository: {
 *                 repositoryBase: "DEBIAN",
 *                 repositoryPath: "debian/dists/stable",
 *             },
 *         },
 *     },
 * });
 * ```
 * ### Artifact Registry Repository Remote Yum
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as gcp from "@pulumi/gcp";
 *
 * const my_repo = new gcp.artifactregistry.Repository("my-repo", {
 *     location: "us-central1",
 *     repositoryId: "rocky-9",
 *     description: "example remote yum repository",
 *     format: "YUM",
 *     mode: "REMOTE_REPOSITORY",
 *     remoteRepositoryConfig: {
 *         description: "Rocky 9 remote repository",
 *         yumRepository: {
 *             publicRepository: {
 *                 repositoryBase: "ROCKY",
 *                 repositoryPath: "pub/rocky/9/BaseOS/x86_64/os",
 *             },
 *         },
 *     },
 * });
 * ```
 * ### Artifact Registry Repository Cleanup
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as gcp from "@pulumi/gcp";
 *
 * const my_repo = new gcp.artifactregistry.Repository("my-repo", {
 *     location: "us-central1",
 *     repositoryId: "my-repository",
 *     description: "example docker repository with cleanup policies",
 *     format: "DOCKER",
 *     cleanupPolicyDryRun: false,
 *     cleanupPolicies: [
 *         {
 *             id: "delete-untagged",
 *             action: "DELETE",
 *             condition: {
 *                 tagState: "UNTAGGED",
 *             },
 *         },
 *         {
 *             id: "keep-new-untagged",
 *             action: "KEEP",
 *             condition: {
 *                 tagState: "UNTAGGED",
 *                 newerThan: "7d",
 *             },
 *         },
 *         {
 *             id: "delete-prerelease",
 *             action: "DELETE",
 *             condition: {
 *                 tagState: "TAGGED",
 *                 tagPrefixes: [
 *                     "alpha",
 *                     "v0",
 *                 ],
 *                 olderThan: "30d",
 *             },
 *         },
 *         {
 *             id: "keep-tagged-release",
 *             action: "KEEP",
 *             condition: {
 *                 tagState: "TAGGED",
 *                 tagPrefixes: ["release"],
 *                 packageNamePrefixes: [
 *                     "webapp",
 *                     "mobile",
 *                 ],
 *             },
 *         },
 *         {
 *             id: "keep-minimum-versions",
 *             action: "KEEP",
 *             mostRecentVersions: {
 *                 packageNamePrefixes: [
 *                     "webapp",
 *                     "mobile",
 *                     "sandbox",
 *                 ],
 *                 keepCount: 5,
 *             },
 *         },
 *     ],
 * });
 * ```
 * ### Artifact Registry Repository Remote Dockerhub Auth
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as gcp from "@pulumi/gcp";
 *
 * const project = gcp.organizations.getProject({});
 * const example_remote_secret = new gcp.secretmanager.Secret("example-remote-secret", {
 *     secretId: "example-secret",
 *     replication: {
 *         auto: {},
 *     },
 * });
 * const example_remote_secretVersion = new gcp.secretmanager.SecretVersion("example-remote-secret_version", {
 *     secret: example_remote_secret.id,
 *     secretData: "remote-password",
 * });
 * const secret_access = new gcp.secretmanager.SecretIamMember("secret-access", {
 *     secretId: example_remote_secret.id,
 *     role: "roles/secretmanager.secretAccessor",
 *     member: project.then(project => `serviceAccount:service-${project.number}@gcp-sa-artifactregistry.iam.gserviceaccount.com`),
 * });
 * const my_repo = new gcp.artifactregistry.Repository("my-repo", {
 *     location: "us-central1",
 *     repositoryId: "example-dockerhub-remote",
 *     description: "example remote dockerhub repository with credentials",
 *     format: "DOCKER",
 *     mode: "REMOTE_REPOSITORY",
 *     remoteRepositoryConfig: {
 *         description: "docker hub with custom credentials",
 *         disableUpstreamValidation: true,
 *         dockerRepository: {
 *             publicRepository: "DOCKER_HUB",
 *         },
 *         upstreamCredentials: {
 *             usernamePasswordCredentials: {
 *                 username: "remote-username",
 *                 passwordSecretVersion: example_remote_secretVersion.name,
 *             },
 *         },
 *     },
 * });
 * ```
 * ### Artifact Registry Repository Remote Docker Custom With Auth
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as gcp from "@pulumi/gcp";
 *
 * const project = gcp.organizations.getProject({});
 * const example_remote_secret = new gcp.secretmanager.Secret("example-remote-secret", {
 *     secretId: "example-secret",
 *     replication: {
 *         auto: {},
 *     },
 * });
 * const example_remote_secretVersion = new gcp.secretmanager.SecretVersion("example-remote-secret_version", {
 *     secret: example_remote_secret.id,
 *     secretData: "remote-password",
 * });
 * const secret_access = new gcp.secretmanager.SecretIamMember("secret-access", {
 *     secretId: example_remote_secret.id,
 *     role: "roles/secretmanager.secretAccessor",
 *     member: project.then(project => `serviceAccount:service-${project.number}@gcp-sa-artifactregistry.iam.gserviceaccount.com`),
 * });
 * const my_repo = new gcp.artifactregistry.Repository("my-repo", {
 *     location: "us-central1",
 *     repositoryId: "example-docker-custom-remote",
 *     description: "example remote custom docker repository with credentials",
 *     format: "DOCKER",
 *     mode: "REMOTE_REPOSITORY",
 *     remoteRepositoryConfig: {
 *         description: "custom docker remote with credentials",
 *         disableUpstreamValidation: true,
 *         dockerRepository: {
 *             customRepository: {
 *                 uri: "https://registry-1.docker.io",
 *             },
 *         },
 *         upstreamCredentials: {
 *             usernamePasswordCredentials: {
 *                 username: "remote-username",
 *                 passwordSecretVersion: example_remote_secretVersion.name,
 *             },
 *         },
 *     },
 * });
 * ```
 * ### Artifact Registry Repository Remote Maven Custom With Auth
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as gcp from "@pulumi/gcp";
 *
 * const project = gcp.organizations.getProject({});
 * const example_remote_secret = new gcp.secretmanager.Secret("example-remote-secret", {
 *     secretId: "example-secret",
 *     replication: {
 *         auto: {},
 *     },
 * });
 * const example_remote_secretVersion = new gcp.secretmanager.SecretVersion("example-remote-secret_version", {
 *     secret: example_remote_secret.id,
 *     secretData: "remote-password",
 * });
 * const secret_access = new gcp.secretmanager.SecretIamMember("secret-access", {
 *     secretId: example_remote_secret.id,
 *     role: "roles/secretmanager.secretAccessor",
 *     member: project.then(project => `serviceAccount:service-${project.number}@gcp-sa-artifactregistry.iam.gserviceaccount.com`),
 * });
 * const my_repo = new gcp.artifactregistry.Repository("my-repo", {
 *     location: "us-central1",
 *     repositoryId: "example-maven-custom-remote",
 *     description: "example remote custom maven repository with credentials",
 *     format: "MAVEN",
 *     mode: "REMOTE_REPOSITORY",
 *     remoteRepositoryConfig: {
 *         description: "custom maven remote with credentials",
 *         disableUpstreamValidation: true,
 *         mavenRepository: {
 *             customRepository: {
 *                 uri: "https://my.maven.registry",
 *             },
 *         },
 *         upstreamCredentials: {
 *             usernamePasswordCredentials: {
 *                 username: "remote-username",
 *                 passwordSecretVersion: example_remote_secretVersion.name,
 *             },
 *         },
 *     },
 * });
 * ```
 * ### Artifact Registry Repository Remote Npm Custom With Auth
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as gcp from "@pulumi/gcp";
 *
 * const project = gcp.organizations.getProject({});
 * const example_remote_secret = new gcp.secretmanager.Secret("example-remote-secret", {
 *     secretId: "example-secret",
 *     replication: {
 *         auto: {},
 *     },
 * });
 * const example_remote_secretVersion = new gcp.secretmanager.SecretVersion("example-remote-secret_version", {
 *     secret: example_remote_secret.id,
 *     secretData: "remote-password",
 * });
 * const secret_access = new gcp.secretmanager.SecretIamMember("secret-access", {
 *     secretId: example_remote_secret.id,
 *     role: "roles/secretmanager.secretAccessor",
 *     member: project.then(project => `serviceAccount:service-${project.number}@gcp-sa-artifactregistry.iam.gserviceaccount.com`),
 * });
 * const my_repo = new gcp.artifactregistry.Repository("my-repo", {
 *     location: "us-central1",
 *     repositoryId: "example-npm-custom-remote",
 *     description: "example remote custom npm repository with credentials",
 *     format: "NPM",
 *     mode: "REMOTE_REPOSITORY",
 *     remoteRepositoryConfig: {
 *         description: "custom npm with credentials",
 *         disableUpstreamValidation: true,
 *         npmRepository: {
 *             customRepository: {
 *                 uri: "https://my.npm.registry",
 *             },
 *         },
 *         upstreamCredentials: {
 *             usernamePasswordCredentials: {
 *                 username: "remote-username",
 *                 passwordSecretVersion: example_remote_secretVersion.name,
 *             },
 *         },
 *     },
 * });
 * ```
 * ### Artifact Registry Repository Remote Python Custom With Auth
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as gcp from "@pulumi/gcp";
 *
 * const project = gcp.organizations.getProject({});
 * const example_remote_secret = new gcp.secretmanager.Secret("example-remote-secret", {
 *     secretId: "example-secret",
 *     replication: {
 *         auto: {},
 *     },
 * });
 * const example_remote_secretVersion = new gcp.secretmanager.SecretVersion("example-remote-secret_version", {
 *     secret: example_remote_secret.id,
 *     secretData: "remote-password",
 * });
 * const secret_access = new gcp.secretmanager.SecretIamMember("secret-access", {
 *     secretId: example_remote_secret.id,
 *     role: "roles/secretmanager.secretAccessor",
 *     member: project.then(project => `serviceAccount:service-${project.number}@gcp-sa-artifactregistry.iam.gserviceaccount.com`),
 * });
 * const my_repo = new gcp.artifactregistry.Repository("my-repo", {
 *     location: "us-central1",
 *     repositoryId: "example-python-custom-remote",
 *     description: "example remote custom python repository with credentials",
 *     format: "PYTHON",
 *     mode: "REMOTE_REPOSITORY",
 *     remoteRepositoryConfig: {
 *         description: "custom npm with credentials",
 *         disableUpstreamValidation: true,
 *         pythonRepository: {
 *             customRepository: {
 *                 uri: "https://my.python.registry",
 *             },
 *         },
 *         upstreamCredentials: {
 *             usernamePasswordCredentials: {
 *                 username: "remote-username",
 *                 passwordSecretVersion: example_remote_secretVersion.name,
 *             },
 *         },
 *     },
 * });
 * ```
 * ### Artifact Registry Repository Remote Common Repository With Docker
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as gcp from "@pulumi/gcp";
 *
 * const upstreamRepo = new gcp.artifactregistry.Repository("upstream_repo", {
 *     location: "us-central1",
 *     repositoryId: "example-upstream-repo",
 *     description: "example upstream repository",
 *     format: "DOCKER",
 * });
 * const my_repo = new gcp.artifactregistry.Repository("my-repo", {
 *     location: "us-central1",
 *     repositoryId: "example-common-remote",
 *     description: "example remote common repository with docker upstream",
 *     format: "DOCKER",
 *     mode: "REMOTE_REPOSITORY",
 *     remoteRepositoryConfig: {
 *         description: "pull-through cache of another Artifact Registry repository",
 *         commonRepository: {
 *             uri: upstreamRepo.id,
 *         },
 *     },
 * });
 * ```
 * ### Artifact Registry Repository Remote Common Repository With Artifact Registry Uri
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as gcp from "@pulumi/gcp";
 *
 * const project = gcp.organizations.getProject({});
 * const upstreamRepo = new gcp.artifactregistry.Repository("upstream_repo", {
 *     location: "us-central1",
 *     repositoryId: "example-upstream-repo",
 *     description: "example upstream repository",
 *     format: "DOCKER",
 * });
 * const my_repo = new gcp.artifactregistry.Repository("my-repo", {
 *     location: "us-central1",
 *     repositoryId: "example-common-remote",
 *     description: "example remote common repository with docker upstream",
 *     format: "DOCKER",
 *     mode: "REMOTE_REPOSITORY",
 *     remoteRepositoryConfig: {
 *         description: "pull-through cache of another Artifact Registry repository by URL",
 *         commonRepository: {
 *             uri: project.then(project => `https://us-central1-docker.pkg.dev/${project.projectId}/example-upstream-repo`),
 *         },
 *     },
 * }, {
 *     dependsOn: [upstreamRepo],
 * });
 * ```
 * ### Artifact Registry Repository Remote Common Repository With Custom Upstream
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as gcp from "@pulumi/gcp";
 *
 * const project = gcp.organizations.getProject({});
 * const example_remote_secret = new gcp.secretmanager.Secret("example-remote-secret", {
 *     secretId: "example-secret",
 *     replication: {
 *         auto: {},
 *     },
 * });
 * const example_remote_secretVersion = new gcp.secretmanager.SecretVersion("example-remote-secret_version", {
 *     secret: example_remote_secret.id,
 *     secretData: "remote-password",
 * });
 * const secret_access = new gcp.secretmanager.SecretIamMember("secret-access", {
 *     secretId: example_remote_secret.id,
 *     role: "roles/secretmanager.secretAccessor",
 *     member: project.then(project => `serviceAccount:service-${project.number}@gcp-sa-artifactregistry.iam.gserviceaccount.com`),
 * });
 * const my_repo = new gcp.artifactregistry.Repository("my-repo", {
 *     location: "us-central1",
 *     repositoryId: "example-docker-custom-remote",
 *     description: "example remote custom docker repository with credentials",
 *     format: "DOCKER",
 *     mode: "REMOTE_REPOSITORY",
 *     remoteRepositoryConfig: {
 *         description: "custom common docker remote with credentials",
 *         disableUpstreamValidation: true,
 *         commonRepository: {
 *             uri: "https://registry-1.docker.io",
 *         },
 *         upstreamCredentials: {
 *             usernamePasswordCredentials: {
 *                 username: "remote-username",
 *                 passwordSecretVersion: example_remote_secretVersion.name,
 *             },
 *         },
 *     },
 * });
 * ```
 * ### Artifact Registry Repository Vulnerability Scanning
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as gcp from "@pulumi/gcp";
 *
 * const my_repo = new gcp.artifactregistry.Repository("my-repo", {
 *     location: "us-central1",
 *     repositoryId: "my-repository",
 *     description: "example docker repository with vulnerability scanning config",
 *     format: "DOCKER",
 *     vulnerabilityScanningConfig: {
 *         enablementConfig: "INHERITED",
 *     },
 * });
 * ```
 *
 * ## Import
 *
 * Repository can be imported using any of these accepted formats:
 *
 * * `projects/{{project}}/locations/{{location}}/repositories/{{repository_id}}`
 *
 * * `{{project}}/{{location}}/{{repository_id}}`
 *
 * * `{{location}}/{{repository_id}}`
 *
 * When using the `pulumi import` command, Repository can be imported using one of the formats above. For example:
 *
 * ```sh
 * $ pulumi import gcp:artifactregistry/repository:Repository default projects/{{project}}/locations/{{location}}/repositories/{{repository_id}}
 * ```
 *
 * ```sh
 * $ pulumi import gcp:artifactregistry/repository:Repository default {{project}}/{{location}}/{{repository_id}}
 * ```
 *
 * ```sh
 * $ pulumi import gcp:artifactregistry/repository:Repository default {{location}}/{{repository_id}}
 * ```
 */
class Repository extends pulumi.CustomResource {
    /**
     * Get an existing Repository resource's state with the given name, ID, and optional extra
     * properties used to qualify the lookup.
     *
     * @param name The _unique_ name of the resulting resource.
     * @param id The _unique_ provider ID of the resource to lookup.
     * @param state Any extra arguments used during the lookup.
     * @param opts Optional settings to control the behavior of the CustomResource.
     */
    static get(name, id, state, opts) {
        return new Repository(name, state, { ...opts, id: id });
    }
    /**
     * Returns true if the given object is an instance of Repository.  This is designed to work even
     * when multiple copies of the Pulumi SDK have been loaded into the same process.
     */
    static isInstance(obj) {
        if (obj === undefined || obj === null) {
            return false;
        }
        return obj['__pulumiType'] === Repository.__pulumiType;
    }
    constructor(name, argsOrState, opts) {
        let resourceInputs = {};
        opts = opts || {};
        if (opts.id) {
            const state = argsOrState;
            resourceInputs["cleanupPolicies"] = state?.cleanupPolicies;
            resourceInputs["cleanupPolicyDryRun"] = state?.cleanupPolicyDryRun;
            resourceInputs["createTime"] = state?.createTime;
            resourceInputs["description"] = state?.description;
            resourceInputs["dockerConfig"] = state?.dockerConfig;
            resourceInputs["effectiveLabels"] = state?.effectiveLabels;
            resourceInputs["format"] = state?.format;
            resourceInputs["kmsKeyName"] = state?.kmsKeyName;
            resourceInputs["labels"] = state?.labels;
            resourceInputs["location"] = state?.location;
            resourceInputs["mavenConfig"] = state?.mavenConfig;
            resourceInputs["mode"] = state?.mode;
            resourceInputs["name"] = state?.name;
            resourceInputs["project"] = state?.project;
            resourceInputs["pulumiLabels"] = state?.pulumiLabels;
            resourceInputs["registryUri"] = state?.registryUri;
            resourceInputs["remoteRepositoryConfig"] = state?.remoteRepositoryConfig;
            resourceInputs["repositoryId"] = state?.repositoryId;
            resourceInputs["updateTime"] = state?.updateTime;
            resourceInputs["virtualRepositoryConfig"] = state?.virtualRepositoryConfig;
            resourceInputs["vulnerabilityScanningConfig"] = state?.vulnerabilityScanningConfig;
        }
        else {
            const args = argsOrState;
            if (args?.format === undefined && !opts.urn) {
                throw new Error("Missing required property 'format'");
            }
            if (args?.repositoryId === undefined && !opts.urn) {
                throw new Error("Missing required property 'repositoryId'");
            }
            resourceInputs["cleanupPolicies"] = args?.cleanupPolicies;
            resourceInputs["cleanupPolicyDryRun"] = args?.cleanupPolicyDryRun;
            resourceInputs["description"] = args?.description;
            resourceInputs["dockerConfig"] = args?.dockerConfig;
            resourceInputs["format"] = args?.format;
            resourceInputs["kmsKeyName"] = args?.kmsKeyName;
            resourceInputs["labels"] = args?.labels;
            resourceInputs["location"] = args?.location;
            resourceInputs["mavenConfig"] = args?.mavenConfig;
            resourceInputs["mode"] = args?.mode;
            resourceInputs["project"] = args?.project;
            resourceInputs["remoteRepositoryConfig"] = args?.remoteRepositoryConfig;
            resourceInputs["repositoryId"] = args?.repositoryId;
            resourceInputs["virtualRepositoryConfig"] = args?.virtualRepositoryConfig;
            resourceInputs["vulnerabilityScanningConfig"] = args?.vulnerabilityScanningConfig;
            resourceInputs["createTime"] = undefined /*out*/;
            resourceInputs["effectiveLabels"] = undefined /*out*/;
            resourceInputs["name"] = undefined /*out*/;
            resourceInputs["pulumiLabels"] = undefined /*out*/;
            resourceInputs["registryUri"] = undefined /*out*/;
            resourceInputs["updateTime"] = undefined /*out*/;
        }
        opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
        const secretOpts = { additionalSecretOutputs: ["effectiveLabels", "pulumiLabels"] };
        opts = pulumi.mergeOptions(opts, secretOpts);
        super(Repository.__pulumiType, name, resourceInputs, opts);
    }
}
exports.Repository = Repository;
/** @internal */
Repository.__pulumiType = 'gcp:artifactregistry/repository:Repository';
//# sourceMappingURL=repository.js.map