import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../../types/input"; import * as outputs from "../../types/output"; import * as enums from "../../types/enums"; /** * Creates a repository. The returned Operation will finish once the repository has been created. Its response will be the created Repository. */ export declare 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 opts Optional settings to control the behavior of the CustomResource. */ static get(name: string, id: pulumi.Input, opts?: pulumi.CustomResourceOptions): Repository; /** * 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: any): obj is Repository; /** * Optional. Cleanup policies for this repository. Cleanup policies indicate when certain package versions can be automatically deleted. Map keys are policy IDs supplied by users during policy creation. They must unique within a repository and be under 128 characters in length. */ readonly cleanupPolicies: pulumi.Output<{ [key: string]: string; }>; /** * Optional. If true, the cleanup pipeline is prevented from deleting versions in this repository. */ readonly cleanupPolicyDryRun: pulumi.Output; /** * The time when the repository was created. */ readonly createTime: pulumi.Output; /** * The user-provided description of the repository. */ readonly description: pulumi.Output; /** * Docker repository config contains repository level configuration for the repositories of docker type. */ readonly dockerConfig: pulumi.Output; /** * Optional. The format of packages that are stored in the repository. */ readonly format: pulumi.Output; /** * The Cloud KMS resource name of the customer managed encryption key that's used to encrypt the contents of the Repository. Has the form: `projects/my-project/locations/my-region/keyRings/my-kr/cryptoKeys/my-key`. This value may not be changed after the Repository has been created. */ readonly kmsKeyName: pulumi.Output; /** * Labels with user-defined metadata. This field may contain up to 64 entries. Label keys and values may be no longer than 63 characters. Label keys must begin with a lowercase letter and may only contain lowercase letters, numeric characters, underscores, and dashes. */ readonly labels: pulumi.Output<{ [key: string]: string; }>; readonly location: pulumi.Output; /** * Maven repository config contains repository level configuration for the repositories of maven type. */ readonly mavenConfig: pulumi.Output; /** * Optional. The mode of the repository. */ readonly mode: pulumi.Output; /** * The name of the repository, for example: `projects/p1/locations/us-central1/repositories/repo1`. */ readonly name: pulumi.Output; readonly project: pulumi.Output; /** * Configuration specific for a Remote Repository. */ readonly remoteRepositoryConfig: pulumi.Output; /** * Required. The repository id to use for this repository. */ readonly repositoryId: pulumi.Output; /** * If set, the repository satisfies physical zone separation. */ readonly satisfiesPzs: pulumi.Output; /** * The size, in bytes, of all artifact storage in this repository. Repositories that are generally available or in public preview use this to calculate storage costs. */ readonly sizeBytes: pulumi.Output; /** * The time when the repository was last updated. */ readonly updateTime: pulumi.Output; /** * Configuration specific for a Virtual Repository. */ readonly virtualRepositoryConfig: pulumi.Output; /** * Create a Repository resource with the given unique name, arguments, and options. * * @param name The _unique_ name of the resource. * @param args The arguments to use to populate this resource's properties. * @param opts A bag of options that control this resource's behavior. */ constructor(name: string, args: RepositoryArgs, opts?: pulumi.CustomResourceOptions); } /** * The set of arguments for constructing a Repository resource. */ export interface RepositoryArgs { /** * Optional. Cleanup policies for this repository. Cleanup policies indicate when certain package versions can be automatically deleted. Map keys are policy IDs supplied by users during policy creation. They must unique within a repository and be under 128 characters in length. */ cleanupPolicies?: pulumi.Input<{ [key: string]: pulumi.Input; }>; /** * Optional. If true, the cleanup pipeline is prevented from deleting versions in this repository. */ cleanupPolicyDryRun?: pulumi.Input; /** * The user-provided description of the repository. */ description?: pulumi.Input; /** * Docker repository config contains repository level configuration for the repositories of docker type. */ dockerConfig?: pulumi.Input; /** * Optional. The format of packages that are stored in the repository. */ format?: pulumi.Input; /** * The Cloud KMS resource name of the customer managed encryption key that's used to encrypt the contents of the Repository. Has the form: `projects/my-project/locations/my-region/keyRings/my-kr/cryptoKeys/my-key`. This value may not be changed after the Repository has been created. */ kmsKeyName?: pulumi.Input; /** * Labels with user-defined metadata. This field may contain up to 64 entries. Label keys and values may be no longer than 63 characters. Label keys must begin with a lowercase letter and may only contain lowercase letters, numeric characters, underscores, and dashes. */ labels?: pulumi.Input<{ [key: string]: pulumi.Input; }>; location?: pulumi.Input; /** * Maven repository config contains repository level configuration for the repositories of maven type. */ mavenConfig?: pulumi.Input; /** * Optional. The mode of the repository. */ mode?: pulumi.Input; /** * The name of the repository, for example: `projects/p1/locations/us-central1/repositories/repo1`. */ name?: pulumi.Input; project?: pulumi.Input; /** * Configuration specific for a Remote Repository. */ remoteRepositoryConfig?: pulumi.Input; /** * Required. The repository id to use for this repository. */ repositoryId: pulumi.Input; /** * Configuration specific for a Virtual Repository. */ virtualRepositoryConfig?: pulumi.Input; }