import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../types/input"; import * as outputs from "../types/output"; /** * Resource for creating and managing Harness Registries. * * **Note:** * > In Harness Artifact Registry, a **Virtual** registry is functionally equivalent to what is commonly referred to as a **Local** registry in other systems. * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as harness from "@pulumi/harness"; * * // Example of a Virtual Registry * const virtualRegistry = new harness.platform.HarRegistry("virtual_registry", { * identifier: "virtual_docker_registry", * description: "Virtual Docker Registry", * spaceRef: "accountId/orgId/projectId", * packageType: "DOCKER", * configs: [{ * type: "VIRTUAL", * upstreamProxies: [ * "registry1", * "registry2", * ], * }], * parentRef: "accountId/orgId/projectId", * }); * // Example of an Upstream Registry with Authentication * const upstreamRegistry = new harness.platform.HarRegistry("upstream_registry", { * identifier: "upstream_helm_registry", * description: "Upstream Helm Registry", * spaceRef: "accountId/orgId/projectId", * packageType: "HELM", * configs: [{ * type: "UPSTREAM", * source: "CUSTOM", * url: "https://helm.sh", * auths: [{ * authType: "UserPassword", * userName: "registry_user", * secretIdentifier: "registry_password", * secretSpacePath: "accountId/orgId/projectId", * }], * }], * parentRef: "accountId/orgId/projectId", * }); * ``` * * ## Import * * ### Import Format * * The import ID format is: `/` * * Where: * - `spaceRef` defines the scope: account, org, or project level * - `identifier` is the unique registry identifier * * ### Import Examples * * Account level: / * Org level: // * Project level: /// * * ```sh * $ pulumi import harness:platform/harRegistry:HarRegistry example / * ``` * * ### After Import * * ```sh * pulumi preview * pulumi up * ``` */ export declare class HarRegistry extends pulumi.CustomResource { /** * Get an existing HarRegistry 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: string, id: pulumi.Input, state?: HarRegistryState, opts?: pulumi.CustomResourceOptions): HarRegistry; /** * Returns true if the given object is an instance of HarRegistry. 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 HarRegistry; /** * Allowed artifact patterns */ readonly allowedPatterns: pulumi.Output; /** * Blocked artifact patterns */ readonly blockedPatterns: pulumi.Output; /** * Configuration for the registry */ readonly configs: pulumi.Output; /** * Creation timestamp */ readonly createdAt: pulumi.Output; /** * Description of the registry */ readonly description: pulumi.Output; /** * Unique identifier of the registry */ readonly identifier: pulumi.Output; /** * Whether the registry is public. When set to true, the registry is publicly accessible without authentication. Defaults to false (private). */ readonly isPublic: pulumi.Output; /** * Custom metadata key-value pairs attached to the registry. Keys and values must match the pattern letters, numbers, _ . / = + - @. Keys are case-sensitive. Maximum 49 entries allowed. */ readonly metadata: pulumi.Output<{ [key: string]: string; } | undefined>; /** * Type of package (DOCKER, HELM, MAVEN, PYTHON, GENERIC, NUGET, NPM, RPM, CARGO, RAW, PUPPET) */ readonly packageType: pulumi.Output; /** * Parent reference for the registry (required for creation) */ readonly parentRef: pulumi.Output; /** * Space reference for the registry (required for creation) */ readonly spaceRef: pulumi.Output; /** * URL of the registry */ readonly url: pulumi.Output; /** * Create a HarRegistry 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: HarRegistryArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering HarRegistry resources. */ export interface HarRegistryState { /** * Allowed artifact patterns */ allowedPatterns?: pulumi.Input[] | undefined>; /** * Blocked artifact patterns */ blockedPatterns?: pulumi.Input[] | undefined>; /** * Configuration for the registry */ configs?: pulumi.Input[] | undefined>; /** * Creation timestamp */ createdAt?: pulumi.Input; /** * Description of the registry */ description?: pulumi.Input; /** * Unique identifier of the registry */ identifier?: pulumi.Input; /** * Whether the registry is public. When set to true, the registry is publicly accessible without authentication. Defaults to false (private). */ isPublic?: pulumi.Input; /** * Custom metadata key-value pairs attached to the registry. Keys and values must match the pattern letters, numbers, _ . / = + - @. Keys are case-sensitive. Maximum 49 entries allowed. */ metadata?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Type of package (DOCKER, HELM, MAVEN, PYTHON, GENERIC, NUGET, NPM, RPM, CARGO, RAW, PUPPET) */ packageType?: pulumi.Input; /** * Parent reference for the registry (required for creation) */ parentRef?: pulumi.Input; /** * Space reference for the registry (required for creation) */ spaceRef?: pulumi.Input; /** * URL of the registry */ url?: pulumi.Input; } /** * The set of arguments for constructing a HarRegistry resource. */ export interface HarRegistryArgs { /** * Allowed artifact patterns */ allowedPatterns?: pulumi.Input[] | undefined>; /** * Blocked artifact patterns */ blockedPatterns?: pulumi.Input[] | undefined>; /** * Configuration for the registry */ configs?: pulumi.Input[] | undefined>; /** * Description of the registry */ description?: pulumi.Input; /** * Unique identifier of the registry */ identifier: pulumi.Input; /** * Whether the registry is public. When set to true, the registry is publicly accessible without authentication. Defaults to false (private). */ isPublic?: pulumi.Input; /** * Custom metadata key-value pairs attached to the registry. Keys and values must match the pattern letters, numbers, _ . / = + - @. Keys are case-sensitive. Maximum 49 entries allowed. */ metadata?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Type of package (DOCKER, HELM, MAVEN, PYTHON, GENERIC, NUGET, NPM, RPM, CARGO, RAW, PUPPET) */ packageType: pulumi.Input; /** * Parent reference for the registry (required for creation) */ parentRef: pulumi.Input; /** * Space reference for the registry (required for creation) */ spaceRef: pulumi.Input; } //# sourceMappingURL=harRegistry.d.ts.map