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; /** * The time when the repository was created. */ readonly createTime: pulumi.Output; /** * The user-provided description of the repository. */ readonly description: 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; /** * The name of the repository, for example: `projects/p1/locations/us-central1/repositories/repo1`. */ readonly name: pulumi.Output; readonly project: 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; /** * 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 { /** * The user-provided description of the repository. */ description?: 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; /** * The name of the repository, for example: `projects/p1/locations/us-central1/repositories/repo1`. */ name?: pulumi.Input; project?: pulumi.Input; /** * Required. The repository id to use for this repository. */ repositoryId: pulumi.Input; }