1. Registry
  2. Packages
  3. Harness Provider
  4. API Docs
  5. platform
  6. HarRegistry
Viewing docs for Harness v0.16.5
published on Saturday, Sep 12, 2026 by Pulumi
harness logo
Viewing docs for Harness v0.16.5
published on Saturday, Sep 12, 2026 by Pulumi

    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

    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",
    });
    // Example of an Upstream Go Registry (GoProxy source needs no url)
    const goUpstream = new harness.platform.HarRegistry("go_upstream", {
        identifier: "upstream_go_registry",
        description: "Upstream Go Registry",
        spaceRef: "accountId/orgId/projectId",
        packageType: "GO",
        configs: [{
            type: "UPSTREAM",
            source: "GoProxy",
            authType: "Anonymous",
        }],
        parentRef: "accountId/orgId/projectId",
    });
    // Example of an Upstream Conda Registry (Anaconda source needs no url)
    const condaUpstream = new harness.platform.HarRegistry("conda_upstream", {
        identifier: "upstream_conda_registry",
        description: "Upstream Conda Registry",
        spaceRef: "accountId/orgId/projectId",
        packageType: "CONDA",
        configs: [{
            type: "UPSTREAM",
            source: "Anaconda",
            authType: "Anonymous",
        }],
        parentRef: "accountId/orgId/projectId",
    });
    // Example of an Upstream Helm HTTP Registry (HelmChartRepo source requires url)
    const helmHttpUpstream = new harness.platform.HarRegistry("helm_http_upstream", {
        identifier: "upstream_helm_http_registry",
        description: "Upstream Helm HTTP Registry",
        spaceRef: "accountId/orgId/projectId",
        packageType: "HELM_HTTP",
        configs: [{
            type: "UPSTREAM",
            source: "HelmChartRepo",
            url: "https://charts.bitnami.com/bitnami",
            authType: "Anonymous",
        }],
        parentRef: "accountId/orgId/projectId",
    });
    // Example of a Virtual Debian Registry with Debian-specific configuration
    const debianVirtual = new harness.platform.HarRegistry("debian_virtual", {
        identifier: "virtual_debian_registry",
        description: "Virtual Debian Registry",
        spaceRef: "accountId/orgId/projectId",
        packageType: "DEBIAN",
        configs: [{
            type: "VIRTUAL",
            upstreamProxies: ["debian_upstream_registry"],
            debianConfig: {
                remoteIndexedArchitectures: [
                    "amd64",
                    "arm64",
                ],
                optionalIndexCompressionFormats: [".xz"],
            },
        }],
        parentRef: "accountId/orgId/projectId",
    });
    // Example of an Upstream Custom Debian Registry (Debian source needs url)
    const debianUpstream = new harness.platform.HarRegistry("debian_upstream", {
        identifier: "upstream_debian_registry",
        description: "Upstream Debian Registry",
        spaceRef: "accountId/orgId/projectId",
        packageType: "DEBIAN",
        configs: [{
            type: "UPSTREAM",
            source: "Custom",
            url: "http://deb.debian.org/debian",
            authType: "Anonymous",
        }],
        parentRef: "accountId/orgId/projectId",
    });
    // Example of an Upstream Python Registry with a custom remote URL suffix
    const pythonUpstream = new harness.platform.HarRegistry("python_upstream", {
        identifier: "upstream_python_registry",
        description: "Upstream Python Registry",
        spaceRef: "accountId/orgId/projectId",
        packageType: "PYTHON",
        configs: [{
            type: "UPSTREAM",
            source: "Custom",
            url: "https://pypi.example.com",
            remoteUrlSuffix: "simple",
            authType: "Anonymous",
        }],
        parentRef: "accountId/orgId/projectId",
    });
    // Example of an Upstream Conan Registry (ConanCenter source needs no url)
    const conanUpstream = new harness.platform.HarRegistry("conan_upstream", {
        identifier: "upstream_conan_registry",
        description: "Upstream Conan Registry",
        spaceRef: "accountId/orgId/projectId",
        packageType: "CONAN",
        configs: [{
            type: "UPSTREAM",
            source: "ConanCenter",
            authType: "Anonymous",
        }],
        parentRef: "accountId/orgId/projectId",
    });
    // Example of an Upstream Ruby Registry (RubyGems source needs no url)
    const rubygemsUpstream = new harness.platform.HarRegistry("rubygems_upstream", {
        identifier: "upstream_ruby_registry",
        description: "Upstream Ruby Registry",
        spaceRef: "accountId/orgId/projectId",
        packageType: "RUBY",
        configs: [{
            type: "UPSTREAM",
            source: "RubyGems",
            authType: "Anonymous",
        }],
        parentRef: "accountId/orgId/projectId",
    });
    // Example of a Virtual Terraform Registry
    const terraformVirtual = new harness.platform.HarRegistry("terraform_virtual", {
        identifier: "virtual_terraform_registry",
        description: "Virtual Terraform Registry",
        spaceRef: "accountId/orgId/projectId",
        packageType: "TERRAFORM",
        configs: [{
            type: "VIRTUAL",
        }],
        parentRef: "accountId/orgId/projectId",
    });
    // Example of a Virtual CRAN Registry
    const cranVirtual = new harness.platform.HarRegistry("cran_virtual", {
        identifier: "virtual_cran_registry",
        description: "Virtual CRAN Registry",
        spaceRef: "accountId/orgId/projectId",
        packageType: "CRAN",
        configs: [{
            type: "VIRTUAL",
        }],
        parentRef: "accountId/orgId/projectId",
    });
    // Example of an Upstream CRAN Registry (CRAN source needs no url)
    const cranUpstream = new harness.platform.HarRegistry("cran_upstream", {
        identifier: "upstream_cran_registry",
        description: "Upstream CRAN Registry",
        spaceRef: "accountId/orgId/projectId",
        packageType: "CRAN",
        configs: [{
            type: "UPSTREAM",
            source: "CRAN",
            authType: "Anonymous",
        }],
        parentRef: "accountId/orgId/projectId",
    });
    // Example of a Virtual Alpine Registry
    const alpineVirtual = new harness.platform.HarRegistry("alpine_virtual", {
        identifier: "virtual_alpine_registry",
        description: "Virtual Alpine Registry",
        spaceRef: "accountId/orgId/projectId",
        packageType: "ALPINE",
        configs: [{
            type: "VIRTUAL",
        }],
        parentRef: "accountId/orgId/projectId",
    });
    // Example of an Upstream Alpine Registry (Alpine source needs no url)
    const alpineUpstream = new harness.platform.HarRegistry("alpine_upstream", {
        identifier: "upstream_alpine_registry",
        description: "Upstream Alpine Registry",
        spaceRef: "accountId/orgId/projectId",
        packageType: "ALPINE",
        configs: [{
            type: "UPSTREAM",
            source: "Alpine",
            authType: "Anonymous",
        }],
        parentRef: "accountId/orgId/projectId",
    });
    // Example of a Virtual Wolfi Registry
    const wolfiVirtual = new harness.platform.HarRegistry("wolfi_virtual", {
        identifier: "virtual_wolfi_registry",
        description: "Virtual Wolfi Registry",
        spaceRef: "accountId/orgId/projectId",
        packageType: "WOLFI",
        configs: [{
            type: "VIRTUAL",
        }],
        parentRef: "accountId/orgId/projectId",
    });
    // Example of an Upstream Wolfi Registry (Wolfi source needs no url)
    const wolfiUpstream = new harness.platform.HarRegistry("wolfi_upstream", {
        identifier: "upstream_wolfi_registry",
        description: "Upstream Wolfi Registry",
        spaceRef: "accountId/orgId/projectId",
        packageType: "WOLFI",
        configs: [{
            type: "UPSTREAM",
            source: "Wolfi",
            authType: "Anonymous",
        }],
        parentRef: "accountId/orgId/projectId",
    });
    
    import pulumi
    import pulumi_harness as harness
    
    # Example of a Virtual Registry
    virtual_registry = harness.platform.HarRegistry("virtual_registry",
        identifier="virtual_docker_registry",
        description="Virtual Docker Registry",
        space_ref="accountId/orgId/projectId",
        package_type="DOCKER",
        configs=[{
            "type": "VIRTUAL",
            "upstream_proxies": [
                "registry1",
                "registry2",
            ],
        }],
        parent_ref="accountId/orgId/projectId")
    # Example of an Upstream Registry with Authentication
    upstream_registry = harness.platform.HarRegistry("upstream_registry",
        identifier="upstream_helm_registry",
        description="Upstream Helm Registry",
        space_ref="accountId/orgId/projectId",
        package_type="HELM",
        configs=[{
            "type": "UPSTREAM",
            "source": "Custom",
            "url": "https://helm.sh",
            "auths": [{
                "auth_type": "UserPassword",
                "user_name": "registry_user",
                "secret_identifier": "registry_password",
                "secret_space_path": "accountId/orgId/projectId",
            }],
        }],
        parent_ref="accountId/orgId/projectId")
    # Example of an Upstream Go Registry (GoProxy source needs no url)
    go_upstream = harness.platform.HarRegistry("go_upstream",
        identifier="upstream_go_registry",
        description="Upstream Go Registry",
        space_ref="accountId/orgId/projectId",
        package_type="GO",
        configs=[{
            "type": "UPSTREAM",
            "source": "GoProxy",
            "auth_type": "Anonymous",
        }],
        parent_ref="accountId/orgId/projectId")
    # Example of an Upstream Conda Registry (Anaconda source needs no url)
    conda_upstream = harness.platform.HarRegistry("conda_upstream",
        identifier="upstream_conda_registry",
        description="Upstream Conda Registry",
        space_ref="accountId/orgId/projectId",
        package_type="CONDA",
        configs=[{
            "type": "UPSTREAM",
            "source": "Anaconda",
            "auth_type": "Anonymous",
        }],
        parent_ref="accountId/orgId/projectId")
    # Example of an Upstream Helm HTTP Registry (HelmChartRepo source requires url)
    helm_http_upstream = harness.platform.HarRegistry("helm_http_upstream",
        identifier="upstream_helm_http_registry",
        description="Upstream Helm HTTP Registry",
        space_ref="accountId/orgId/projectId",
        package_type="HELM_HTTP",
        configs=[{
            "type": "UPSTREAM",
            "source": "HelmChartRepo",
            "url": "https://charts.bitnami.com/bitnami",
            "auth_type": "Anonymous",
        }],
        parent_ref="accountId/orgId/projectId")
    # Example of a Virtual Debian Registry with Debian-specific configuration
    debian_virtual = harness.platform.HarRegistry("debian_virtual",
        identifier="virtual_debian_registry",
        description="Virtual Debian Registry",
        space_ref="accountId/orgId/projectId",
        package_type="DEBIAN",
        configs=[{
            "type": "VIRTUAL",
            "upstream_proxies": ["debian_upstream_registry"],
            "debian_config": {
                "remote_indexed_architectures": [
                    "amd64",
                    "arm64",
                ],
                "optional_index_compression_formats": [".xz"],
            },
        }],
        parent_ref="accountId/orgId/projectId")
    # Example of an Upstream Custom Debian Registry (Debian source needs url)
    debian_upstream = harness.platform.HarRegistry("debian_upstream",
        identifier="upstream_debian_registry",
        description="Upstream Debian Registry",
        space_ref="accountId/orgId/projectId",
        package_type="DEBIAN",
        configs=[{
            "type": "UPSTREAM",
            "source": "Custom",
            "url": "http://deb.debian.org/debian",
            "auth_type": "Anonymous",
        }],
        parent_ref="accountId/orgId/projectId")
    # Example of an Upstream Python Registry with a custom remote URL suffix
    python_upstream = harness.platform.HarRegistry("python_upstream",
        identifier="upstream_python_registry",
        description="Upstream Python Registry",
        space_ref="accountId/orgId/projectId",
        package_type="PYTHON",
        configs=[{
            "type": "UPSTREAM",
            "source": "Custom",
            "url": "https://pypi.example.com",
            "remote_url_suffix": "simple",
            "auth_type": "Anonymous",
        }],
        parent_ref="accountId/orgId/projectId")
    # Example of an Upstream Conan Registry (ConanCenter source needs no url)
    conan_upstream = harness.platform.HarRegistry("conan_upstream",
        identifier="upstream_conan_registry",
        description="Upstream Conan Registry",
        space_ref="accountId/orgId/projectId",
        package_type="CONAN",
        configs=[{
            "type": "UPSTREAM",
            "source": "ConanCenter",
            "auth_type": "Anonymous",
        }],
        parent_ref="accountId/orgId/projectId")
    # Example of an Upstream Ruby Registry (RubyGems source needs no url)
    rubygems_upstream = harness.platform.HarRegistry("rubygems_upstream",
        identifier="upstream_ruby_registry",
        description="Upstream Ruby Registry",
        space_ref="accountId/orgId/projectId",
        package_type="RUBY",
        configs=[{
            "type": "UPSTREAM",
            "source": "RubyGems",
            "auth_type": "Anonymous",
        }],
        parent_ref="accountId/orgId/projectId")
    # Example of a Virtual Terraform Registry
    terraform_virtual = harness.platform.HarRegistry("terraform_virtual",
        identifier="virtual_terraform_registry",
        description="Virtual Terraform Registry",
        space_ref="accountId/orgId/projectId",
        package_type="TERRAFORM",
        configs=[{
            "type": "VIRTUAL",
        }],
        parent_ref="accountId/orgId/projectId")
    # Example of a Virtual CRAN Registry
    cran_virtual = harness.platform.HarRegistry("cran_virtual",
        identifier="virtual_cran_registry",
        description="Virtual CRAN Registry",
        space_ref="accountId/orgId/projectId",
        package_type="CRAN",
        configs=[{
            "type": "VIRTUAL",
        }],
        parent_ref="accountId/orgId/projectId")
    # Example of an Upstream CRAN Registry (CRAN source needs no url)
    cran_upstream = harness.platform.HarRegistry("cran_upstream",
        identifier="upstream_cran_registry",
        description="Upstream CRAN Registry",
        space_ref="accountId/orgId/projectId",
        package_type="CRAN",
        configs=[{
            "type": "UPSTREAM",
            "source": "CRAN",
            "auth_type": "Anonymous",
        }],
        parent_ref="accountId/orgId/projectId")
    # Example of a Virtual Alpine Registry
    alpine_virtual = harness.platform.HarRegistry("alpine_virtual",
        identifier="virtual_alpine_registry",
        description="Virtual Alpine Registry",
        space_ref="accountId/orgId/projectId",
        package_type="ALPINE",
        configs=[{
            "type": "VIRTUAL",
        }],
        parent_ref="accountId/orgId/projectId")
    # Example of an Upstream Alpine Registry (Alpine source needs no url)
    alpine_upstream = harness.platform.HarRegistry("alpine_upstream",
        identifier="upstream_alpine_registry",
        description="Upstream Alpine Registry",
        space_ref="accountId/orgId/projectId",
        package_type="ALPINE",
        configs=[{
            "type": "UPSTREAM",
            "source": "Alpine",
            "auth_type": "Anonymous",
        }],
        parent_ref="accountId/orgId/projectId")
    # Example of a Virtual Wolfi Registry
    wolfi_virtual = harness.platform.HarRegistry("wolfi_virtual",
        identifier="virtual_wolfi_registry",
        description="Virtual Wolfi Registry",
        space_ref="accountId/orgId/projectId",
        package_type="WOLFI",
        configs=[{
            "type": "VIRTUAL",
        }],
        parent_ref="accountId/orgId/projectId")
    # Example of an Upstream Wolfi Registry (Wolfi source needs no url)
    wolfi_upstream = harness.platform.HarRegistry("wolfi_upstream",
        identifier="upstream_wolfi_registry",
        description="Upstream Wolfi Registry",
        space_ref="accountId/orgId/projectId",
        package_type="WOLFI",
        configs=[{
            "type": "UPSTREAM",
            "source": "Wolfi",
            "auth_type": "Anonymous",
        }],
        parent_ref="accountId/orgId/projectId")
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-harness/sdk/go/harness/platform"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		// Example of a Virtual Registry
    		_, err := platform.NewHarRegistry(ctx, "virtual_registry", &platform.HarRegistryArgs{
    			Identifier:  pulumi.String("virtual_docker_registry"),
    			Description: pulumi.String("Virtual Docker Registry"),
    			SpaceRef:    pulumi.String("accountId/orgId/projectId"),
    			PackageType: pulumi.String("DOCKER"),
    			Configs: platform.HarRegistryConfigArray{
    				&platform.HarRegistryConfigArgs{
    					Type: pulumi.String("VIRTUAL"),
    					UpstreamProxies: pulumi.StringArray{
    						pulumi.String("registry1"),
    						pulumi.String("registry2"),
    					},
    				},
    			},
    			ParentRef: pulumi.String("accountId/orgId/projectId"),
    		})
    		if err != nil {
    			return err
    		}
    		// Example of an Upstream Registry with Authentication
    		_, err = platform.NewHarRegistry(ctx, "upstream_registry", &platform.HarRegistryArgs{
    			Identifier:  pulumi.String("upstream_helm_registry"),
    			Description: pulumi.String("Upstream Helm Registry"),
    			SpaceRef:    pulumi.String("accountId/orgId/projectId"),
    			PackageType: pulumi.String("HELM"),
    			Configs: platform.HarRegistryConfigArray{
    				&platform.HarRegistryConfigArgs{
    					Type:   pulumi.String("UPSTREAM"),
    					Source: pulumi.String("Custom"),
    					Url:    pulumi.String("https://helm.sh"),
    					Auths: platform.HarRegistryConfigAuthArray{
    						&platform.HarRegistryConfigAuthArgs{
    							AuthType:         pulumi.String("UserPassword"),
    							UserName:         pulumi.String("registry_user"),
    							SecretIdentifier: pulumi.String("registry_password"),
    							SecretSpacePath:  pulumi.String("accountId/orgId/projectId"),
    						},
    					},
    				},
    			},
    			ParentRef: pulumi.String("accountId/orgId/projectId"),
    		})
    		if err != nil {
    			return err
    		}
    		// Example of an Upstream Go Registry (GoProxy source needs no url)
    		_, err = platform.NewHarRegistry(ctx, "go_upstream", &platform.HarRegistryArgs{
    			Identifier:  pulumi.String("upstream_go_registry"),
    			Description: pulumi.String("Upstream Go Registry"),
    			SpaceRef:    pulumi.String("accountId/orgId/projectId"),
    			PackageType: pulumi.String("GO"),
    			Configs: platform.HarRegistryConfigArray{
    				&platform.HarRegistryConfigArgs{
    					Type:     pulumi.String("UPSTREAM"),
    					Source:   pulumi.String("GoProxy"),
    					AuthType: pulumi.String("Anonymous"),
    				},
    			},
    			ParentRef: pulumi.String("accountId/orgId/projectId"),
    		})
    		if err != nil {
    			return err
    		}
    		// Example of an Upstream Conda Registry (Anaconda source needs no url)
    		_, err = platform.NewHarRegistry(ctx, "conda_upstream", &platform.HarRegistryArgs{
    			Identifier:  pulumi.String("upstream_conda_registry"),
    			Description: pulumi.String("Upstream Conda Registry"),
    			SpaceRef:    pulumi.String("accountId/orgId/projectId"),
    			PackageType: pulumi.String("CONDA"),
    			Configs: platform.HarRegistryConfigArray{
    				&platform.HarRegistryConfigArgs{
    					Type:     pulumi.String("UPSTREAM"),
    					Source:   pulumi.String("Anaconda"),
    					AuthType: pulumi.String("Anonymous"),
    				},
    			},
    			ParentRef: pulumi.String("accountId/orgId/projectId"),
    		})
    		if err != nil {
    			return err
    		}
    		// Example of an Upstream Helm HTTP Registry (HelmChartRepo source requires url)
    		_, err = platform.NewHarRegistry(ctx, "helm_http_upstream", &platform.HarRegistryArgs{
    			Identifier:  pulumi.String("upstream_helm_http_registry"),
    			Description: pulumi.String("Upstream Helm HTTP Registry"),
    			SpaceRef:    pulumi.String("accountId/orgId/projectId"),
    			PackageType: pulumi.String("HELM_HTTP"),
    			Configs: platform.HarRegistryConfigArray{
    				&platform.HarRegistryConfigArgs{
    					Type:     pulumi.String("UPSTREAM"),
    					Source:   pulumi.String("HelmChartRepo"),
    					Url:      pulumi.String("https://charts.bitnami.com/bitnami"),
    					AuthType: pulumi.String("Anonymous"),
    				},
    			},
    			ParentRef: pulumi.String("accountId/orgId/projectId"),
    		})
    		if err != nil {
    			return err
    		}
    		// Example of a Virtual Debian Registry with Debian-specific configuration
    		_, err = platform.NewHarRegistry(ctx, "debian_virtual", &platform.HarRegistryArgs{
    			Identifier:  pulumi.String("virtual_debian_registry"),
    			Description: pulumi.String("Virtual Debian Registry"),
    			SpaceRef:    pulumi.String("accountId/orgId/projectId"),
    			PackageType: pulumi.String("DEBIAN"),
    			Configs: platform.HarRegistryConfigArray{
    				&platform.HarRegistryConfigArgs{
    					Type: pulumi.String("VIRTUAL"),
    					UpstreamProxies: pulumi.StringArray{
    						pulumi.String("debian_upstream_registry"),
    					},
    					DebianConfig: &platform.HarRegistryConfigDebianConfigArgs{
    						RemoteIndexedArchitectures: pulumi.StringArray{
    							pulumi.String("amd64"),
    							pulumi.String("arm64"),
    						},
    						OptionalIndexCompressionFormats: pulumi.StringArray{
    							pulumi.String(".xz"),
    						},
    					},
    				},
    			},
    			ParentRef: pulumi.String("accountId/orgId/projectId"),
    		})
    		if err != nil {
    			return err
    		}
    		// Example of an Upstream Custom Debian Registry (Debian source needs url)
    		_, err = platform.NewHarRegistry(ctx, "debian_upstream", &platform.HarRegistryArgs{
    			Identifier:  pulumi.String("upstream_debian_registry"),
    			Description: pulumi.String("Upstream Debian Registry"),
    			SpaceRef:    pulumi.String("accountId/orgId/projectId"),
    			PackageType: pulumi.String("DEBIAN"),
    			Configs: platform.HarRegistryConfigArray{
    				&platform.HarRegistryConfigArgs{
    					Type:     pulumi.String("UPSTREAM"),
    					Source:   pulumi.String("Custom"),
    					Url:      pulumi.String("http://deb.debian.org/debian"),
    					AuthType: pulumi.String("Anonymous"),
    				},
    			},
    			ParentRef: pulumi.String("accountId/orgId/projectId"),
    		})
    		if err != nil {
    			return err
    		}
    		// Example of an Upstream Python Registry with a custom remote URL suffix
    		_, err = platform.NewHarRegistry(ctx, "python_upstream", &platform.HarRegistryArgs{
    			Identifier:  pulumi.String("upstream_python_registry"),
    			Description: pulumi.String("Upstream Python Registry"),
    			SpaceRef:    pulumi.String("accountId/orgId/projectId"),
    			PackageType: pulumi.String("PYTHON"),
    			Configs: platform.HarRegistryConfigArray{
    				&platform.HarRegistryConfigArgs{
    					Type:            pulumi.String("UPSTREAM"),
    					Source:          pulumi.String("Custom"),
    					Url:             pulumi.String("https://pypi.example.com"),
    					RemoteUrlSuffix: pulumi.String("simple"),
    					AuthType:        pulumi.String("Anonymous"),
    				},
    			},
    			ParentRef: pulumi.String("accountId/orgId/projectId"),
    		})
    		if err != nil {
    			return err
    		}
    		// Example of an Upstream Conan Registry (ConanCenter source needs no url)
    		_, err = platform.NewHarRegistry(ctx, "conan_upstream", &platform.HarRegistryArgs{
    			Identifier:  pulumi.String("upstream_conan_registry"),
    			Description: pulumi.String("Upstream Conan Registry"),
    			SpaceRef:    pulumi.String("accountId/orgId/projectId"),
    			PackageType: pulumi.String("CONAN"),
    			Configs: platform.HarRegistryConfigArray{
    				&platform.HarRegistryConfigArgs{
    					Type:     pulumi.String("UPSTREAM"),
    					Source:   pulumi.String("ConanCenter"),
    					AuthType: pulumi.String("Anonymous"),
    				},
    			},
    			ParentRef: pulumi.String("accountId/orgId/projectId"),
    		})
    		if err != nil {
    			return err
    		}
    		// Example of an Upstream Ruby Registry (RubyGems source needs no url)
    		_, err = platform.NewHarRegistry(ctx, "rubygems_upstream", &platform.HarRegistryArgs{
    			Identifier:  pulumi.String("upstream_ruby_registry"),
    			Description: pulumi.String("Upstream Ruby Registry"),
    			SpaceRef:    pulumi.String("accountId/orgId/projectId"),
    			PackageType: pulumi.String("RUBY"),
    			Configs: platform.HarRegistryConfigArray{
    				&platform.HarRegistryConfigArgs{
    					Type:     pulumi.String("UPSTREAM"),
    					Source:   pulumi.String("RubyGems"),
    					AuthType: pulumi.String("Anonymous"),
    				},
    			},
    			ParentRef: pulumi.String("accountId/orgId/projectId"),
    		})
    		if err != nil {
    			return err
    		}
    		// Example of a Virtual Terraform Registry
    		_, err = platform.NewHarRegistry(ctx, "terraform_virtual", &platform.HarRegistryArgs{
    			Identifier:  pulumi.String("virtual_terraform_registry"),
    			Description: pulumi.String("Virtual Terraform Registry"),
    			SpaceRef:    pulumi.String("accountId/orgId/projectId"),
    			PackageType: pulumi.String("TERRAFORM"),
    			Configs: platform.HarRegistryConfigArray{
    				&platform.HarRegistryConfigArgs{
    					Type: pulumi.String("VIRTUAL"),
    				},
    			},
    			ParentRef: pulumi.String("accountId/orgId/projectId"),
    		})
    		if err != nil {
    			return err
    		}
    		// Example of a Virtual CRAN Registry
    		_, err = platform.NewHarRegistry(ctx, "cran_virtual", &platform.HarRegistryArgs{
    			Identifier:  pulumi.String("virtual_cran_registry"),
    			Description: pulumi.String("Virtual CRAN Registry"),
    			SpaceRef:    pulumi.String("accountId/orgId/projectId"),
    			PackageType: pulumi.String("CRAN"),
    			Configs: platform.HarRegistryConfigArray{
    				&platform.HarRegistryConfigArgs{
    					Type: pulumi.String("VIRTUAL"),
    				},
    			},
    			ParentRef: pulumi.String("accountId/orgId/projectId"),
    		})
    		if err != nil {
    			return err
    		}
    		// Example of an Upstream CRAN Registry (CRAN source needs no url)
    		_, err = platform.NewHarRegistry(ctx, "cran_upstream", &platform.HarRegistryArgs{
    			Identifier:  pulumi.String("upstream_cran_registry"),
    			Description: pulumi.String("Upstream CRAN Registry"),
    			SpaceRef:    pulumi.String("accountId/orgId/projectId"),
    			PackageType: pulumi.String("CRAN"),
    			Configs: platform.HarRegistryConfigArray{
    				&platform.HarRegistryConfigArgs{
    					Type:     pulumi.String("UPSTREAM"),
    					Source:   pulumi.String("CRAN"),
    					AuthType: pulumi.String("Anonymous"),
    				},
    			},
    			ParentRef: pulumi.String("accountId/orgId/projectId"),
    		})
    		if err != nil {
    			return err
    		}
    		// Example of a Virtual Alpine Registry
    		_, err = platform.NewHarRegistry(ctx, "alpine_virtual", &platform.HarRegistryArgs{
    			Identifier:  pulumi.String("virtual_alpine_registry"),
    			Description: pulumi.String("Virtual Alpine Registry"),
    			SpaceRef:    pulumi.String("accountId/orgId/projectId"),
    			PackageType: pulumi.String("ALPINE"),
    			Configs: platform.HarRegistryConfigArray{
    				&platform.HarRegistryConfigArgs{
    					Type: pulumi.String("VIRTUAL"),
    				},
    			},
    			ParentRef: pulumi.String("accountId/orgId/projectId"),
    		})
    		if err != nil {
    			return err
    		}
    		// Example of an Upstream Alpine Registry (Alpine source needs no url)
    		_, err = platform.NewHarRegistry(ctx, "alpine_upstream", &platform.HarRegistryArgs{
    			Identifier:  pulumi.String("upstream_alpine_registry"),
    			Description: pulumi.String("Upstream Alpine Registry"),
    			SpaceRef:    pulumi.String("accountId/orgId/projectId"),
    			PackageType: pulumi.String("ALPINE"),
    			Configs: platform.HarRegistryConfigArray{
    				&platform.HarRegistryConfigArgs{
    					Type:     pulumi.String("UPSTREAM"),
    					Source:   pulumi.String("Alpine"),
    					AuthType: pulumi.String("Anonymous"),
    				},
    			},
    			ParentRef: pulumi.String("accountId/orgId/projectId"),
    		})
    		if err != nil {
    			return err
    		}
    		// Example of a Virtual Wolfi Registry
    		_, err = platform.NewHarRegistry(ctx, "wolfi_virtual", &platform.HarRegistryArgs{
    			Identifier:  pulumi.String("virtual_wolfi_registry"),
    			Description: pulumi.String("Virtual Wolfi Registry"),
    			SpaceRef:    pulumi.String("accountId/orgId/projectId"),
    			PackageType: pulumi.String("WOLFI"),
    			Configs: platform.HarRegistryConfigArray{
    				&platform.HarRegistryConfigArgs{
    					Type: pulumi.String("VIRTUAL"),
    				},
    			},
    			ParentRef: pulumi.String("accountId/orgId/projectId"),
    		})
    		if err != nil {
    			return err
    		}
    		// Example of an Upstream Wolfi Registry (Wolfi source needs no url)
    		_, err = platform.NewHarRegistry(ctx, "wolfi_upstream", &platform.HarRegistryArgs{
    			Identifier:  pulumi.String("upstream_wolfi_registry"),
    			Description: pulumi.String("Upstream Wolfi Registry"),
    			SpaceRef:    pulumi.String("accountId/orgId/projectId"),
    			PackageType: pulumi.String("WOLFI"),
    			Configs: platform.HarRegistryConfigArray{
    				&platform.HarRegistryConfigArgs{
    					Type:     pulumi.String("UPSTREAM"),
    					Source:   pulumi.String("Wolfi"),
    					AuthType: pulumi.String("Anonymous"),
    				},
    			},
    			ParentRef: pulumi.String("accountId/orgId/projectId"),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Harness = Pulumi.Harness;
    
    return await Deployment.RunAsync(() => 
    {
        // Example of a Virtual Registry
        var virtualRegistry = new Harness.Platform.HarRegistry("virtual_registry", new()
        {
            Identifier = "virtual_docker_registry",
            Description = "Virtual Docker Registry",
            SpaceRef = "accountId/orgId/projectId",
            PackageType = "DOCKER",
            Configs = new[]
            {
                new Harness.Platform.Inputs.HarRegistryConfigArgs
                {
                    Type = "VIRTUAL",
                    UpstreamProxies = new[]
                    {
                        "registry1",
                        "registry2",
                    },
                },
            },
            ParentRef = "accountId/orgId/projectId",
        });
    
        // Example of an Upstream Registry with Authentication
        var upstreamRegistry = new Harness.Platform.HarRegistry("upstream_registry", new()
        {
            Identifier = "upstream_helm_registry",
            Description = "Upstream Helm Registry",
            SpaceRef = "accountId/orgId/projectId",
            PackageType = "HELM",
            Configs = new[]
            {
                new Harness.Platform.Inputs.HarRegistryConfigArgs
                {
                    Type = "UPSTREAM",
                    Source = "Custom",
                    Url = "https://helm.sh",
                    Auths = new[]
                    {
                        new Harness.Platform.Inputs.HarRegistryConfigAuthArgs
                        {
                            AuthType = "UserPassword",
                            UserName = "registry_user",
                            SecretIdentifier = "registry_password",
                            SecretSpacePath = "accountId/orgId/projectId",
                        },
                    },
                },
            },
            ParentRef = "accountId/orgId/projectId",
        });
    
        // Example of an Upstream Go Registry (GoProxy source needs no url)
        var goUpstream = new Harness.Platform.HarRegistry("go_upstream", new()
        {
            Identifier = "upstream_go_registry",
            Description = "Upstream Go Registry",
            SpaceRef = "accountId/orgId/projectId",
            PackageType = "GO",
            Configs = new[]
            {
                new Harness.Platform.Inputs.HarRegistryConfigArgs
                {
                    Type = "UPSTREAM",
                    Source = "GoProxy",
                    AuthType = "Anonymous",
                },
            },
            ParentRef = "accountId/orgId/projectId",
        });
    
        // Example of an Upstream Conda Registry (Anaconda source needs no url)
        var condaUpstream = new Harness.Platform.HarRegistry("conda_upstream", new()
        {
            Identifier = "upstream_conda_registry",
            Description = "Upstream Conda Registry",
            SpaceRef = "accountId/orgId/projectId",
            PackageType = "CONDA",
            Configs = new[]
            {
                new Harness.Platform.Inputs.HarRegistryConfigArgs
                {
                    Type = "UPSTREAM",
                    Source = "Anaconda",
                    AuthType = "Anonymous",
                },
            },
            ParentRef = "accountId/orgId/projectId",
        });
    
        // Example of an Upstream Helm HTTP Registry (HelmChartRepo source requires url)
        var helmHttpUpstream = new Harness.Platform.HarRegistry("helm_http_upstream", new()
        {
            Identifier = "upstream_helm_http_registry",
            Description = "Upstream Helm HTTP Registry",
            SpaceRef = "accountId/orgId/projectId",
            PackageType = "HELM_HTTP",
            Configs = new[]
            {
                new Harness.Platform.Inputs.HarRegistryConfigArgs
                {
                    Type = "UPSTREAM",
                    Source = "HelmChartRepo",
                    Url = "https://charts.bitnami.com/bitnami",
                    AuthType = "Anonymous",
                },
            },
            ParentRef = "accountId/orgId/projectId",
        });
    
        // Example of a Virtual Debian Registry with Debian-specific configuration
        var debianVirtual = new Harness.Platform.HarRegistry("debian_virtual", new()
        {
            Identifier = "virtual_debian_registry",
            Description = "Virtual Debian Registry",
            SpaceRef = "accountId/orgId/projectId",
            PackageType = "DEBIAN",
            Configs = new[]
            {
                new Harness.Platform.Inputs.HarRegistryConfigArgs
                {
                    Type = "VIRTUAL",
                    UpstreamProxies = new[]
                    {
                        "debian_upstream_registry",
                    },
                    DebianConfig = new Harness.Platform.Inputs.HarRegistryConfigDebianConfigArgs
                    {
                        RemoteIndexedArchitectures = new[]
                        {
                            "amd64",
                            "arm64",
                        },
                        OptionalIndexCompressionFormats = new[]
                        {
                            ".xz",
                        },
                    },
                },
            },
            ParentRef = "accountId/orgId/projectId",
        });
    
        // Example of an Upstream Custom Debian Registry (Debian source needs url)
        var debianUpstream = new Harness.Platform.HarRegistry("debian_upstream", new()
        {
            Identifier = "upstream_debian_registry",
            Description = "Upstream Debian Registry",
            SpaceRef = "accountId/orgId/projectId",
            PackageType = "DEBIAN",
            Configs = new[]
            {
                new Harness.Platform.Inputs.HarRegistryConfigArgs
                {
                    Type = "UPSTREAM",
                    Source = "Custom",
                    Url = "http://deb.debian.org/debian",
                    AuthType = "Anonymous",
                },
            },
            ParentRef = "accountId/orgId/projectId",
        });
    
        // Example of an Upstream Python Registry with a custom remote URL suffix
        var pythonUpstream = new Harness.Platform.HarRegistry("python_upstream", new()
        {
            Identifier = "upstream_python_registry",
            Description = "Upstream Python Registry",
            SpaceRef = "accountId/orgId/projectId",
            PackageType = "PYTHON",
            Configs = new[]
            {
                new Harness.Platform.Inputs.HarRegistryConfigArgs
                {
                    Type = "UPSTREAM",
                    Source = "Custom",
                    Url = "https://pypi.example.com",
                    RemoteUrlSuffix = "simple",
                    AuthType = "Anonymous",
                },
            },
            ParentRef = "accountId/orgId/projectId",
        });
    
        // Example of an Upstream Conan Registry (ConanCenter source needs no url)
        var conanUpstream = new Harness.Platform.HarRegistry("conan_upstream", new()
        {
            Identifier = "upstream_conan_registry",
            Description = "Upstream Conan Registry",
            SpaceRef = "accountId/orgId/projectId",
            PackageType = "CONAN",
            Configs = new[]
            {
                new Harness.Platform.Inputs.HarRegistryConfigArgs
                {
                    Type = "UPSTREAM",
                    Source = "ConanCenter",
                    AuthType = "Anonymous",
                },
            },
            ParentRef = "accountId/orgId/projectId",
        });
    
        // Example of an Upstream Ruby Registry (RubyGems source needs no url)
        var rubygemsUpstream = new Harness.Platform.HarRegistry("rubygems_upstream", new()
        {
            Identifier = "upstream_ruby_registry",
            Description = "Upstream Ruby Registry",
            SpaceRef = "accountId/orgId/projectId",
            PackageType = "RUBY",
            Configs = new[]
            {
                new Harness.Platform.Inputs.HarRegistryConfigArgs
                {
                    Type = "UPSTREAM",
                    Source = "RubyGems",
                    AuthType = "Anonymous",
                },
            },
            ParentRef = "accountId/orgId/projectId",
        });
    
        // Example of a Virtual Terraform Registry
        var terraformVirtual = new Harness.Platform.HarRegistry("terraform_virtual", new()
        {
            Identifier = "virtual_terraform_registry",
            Description = "Virtual Terraform Registry",
            SpaceRef = "accountId/orgId/projectId",
            PackageType = "TERRAFORM",
            Configs = new[]
            {
                new Harness.Platform.Inputs.HarRegistryConfigArgs
                {
                    Type = "VIRTUAL",
                },
            },
            ParentRef = "accountId/orgId/projectId",
        });
    
        // Example of a Virtual CRAN Registry
        var cranVirtual = new Harness.Platform.HarRegistry("cran_virtual", new()
        {
            Identifier = "virtual_cran_registry",
            Description = "Virtual CRAN Registry",
            SpaceRef = "accountId/orgId/projectId",
            PackageType = "CRAN",
            Configs = new[]
            {
                new Harness.Platform.Inputs.HarRegistryConfigArgs
                {
                    Type = "VIRTUAL",
                },
            },
            ParentRef = "accountId/orgId/projectId",
        });
    
        // Example of an Upstream CRAN Registry (CRAN source needs no url)
        var cranUpstream = new Harness.Platform.HarRegistry("cran_upstream", new()
        {
            Identifier = "upstream_cran_registry",
            Description = "Upstream CRAN Registry",
            SpaceRef = "accountId/orgId/projectId",
            PackageType = "CRAN",
            Configs = new[]
            {
                new Harness.Platform.Inputs.HarRegistryConfigArgs
                {
                    Type = "UPSTREAM",
                    Source = "CRAN",
                    AuthType = "Anonymous",
                },
            },
            ParentRef = "accountId/orgId/projectId",
        });
    
        // Example of a Virtual Alpine Registry
        var alpineVirtual = new Harness.Platform.HarRegistry("alpine_virtual", new()
        {
            Identifier = "virtual_alpine_registry",
            Description = "Virtual Alpine Registry",
            SpaceRef = "accountId/orgId/projectId",
            PackageType = "ALPINE",
            Configs = new[]
            {
                new Harness.Platform.Inputs.HarRegistryConfigArgs
                {
                    Type = "VIRTUAL",
                },
            },
            ParentRef = "accountId/orgId/projectId",
        });
    
        // Example of an Upstream Alpine Registry (Alpine source needs no url)
        var alpineUpstream = new Harness.Platform.HarRegistry("alpine_upstream", new()
        {
            Identifier = "upstream_alpine_registry",
            Description = "Upstream Alpine Registry",
            SpaceRef = "accountId/orgId/projectId",
            PackageType = "ALPINE",
            Configs = new[]
            {
                new Harness.Platform.Inputs.HarRegistryConfigArgs
                {
                    Type = "UPSTREAM",
                    Source = "Alpine",
                    AuthType = "Anonymous",
                },
            },
            ParentRef = "accountId/orgId/projectId",
        });
    
        // Example of a Virtual Wolfi Registry
        var wolfiVirtual = new Harness.Platform.HarRegistry("wolfi_virtual", new()
        {
            Identifier = "virtual_wolfi_registry",
            Description = "Virtual Wolfi Registry",
            SpaceRef = "accountId/orgId/projectId",
            PackageType = "WOLFI",
            Configs = new[]
            {
                new Harness.Platform.Inputs.HarRegistryConfigArgs
                {
                    Type = "VIRTUAL",
                },
            },
            ParentRef = "accountId/orgId/projectId",
        });
    
        // Example of an Upstream Wolfi Registry (Wolfi source needs no url)
        var wolfiUpstream = new Harness.Platform.HarRegistry("wolfi_upstream", new()
        {
            Identifier = "upstream_wolfi_registry",
            Description = "Upstream Wolfi Registry",
            SpaceRef = "accountId/orgId/projectId",
            PackageType = "WOLFI",
            Configs = new[]
            {
                new Harness.Platform.Inputs.HarRegistryConfigArgs
                {
                    Type = "UPSTREAM",
                    Source = "Wolfi",
                    AuthType = "Anonymous",
                },
            },
            ParentRef = "accountId/orgId/projectId",
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.harness.platform.HarRegistry;
    import com.pulumi.harness.platform.HarRegistryArgs;
    import com.pulumi.harness.platform.inputs.HarRegistryConfigArgs;
    import com.pulumi.harness.platform.inputs.HarRegistryConfigAuthArgs;
    import com.pulumi.harness.platform.inputs.HarRegistryConfigDebianConfigArgs;
    import java.util.ArrayList;
    import java.util.Arrays;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            // Example of a Virtual Registry
            var virtualRegistry = new HarRegistry("virtualRegistry", HarRegistryArgs.builder()
                .identifier("virtual_docker_registry")
                .description("Virtual Docker Registry")
                .spaceRef("accountId/orgId/projectId")
                .packageType("DOCKER")
                .configs(HarRegistryConfigArgs.builder()
                    .type("VIRTUAL")
                    .upstreamProxies(                
                        "registry1",
                        "registry2")
                    .build())
                .parentRef("accountId/orgId/projectId")
                .build());
    
            // Example of an Upstream Registry with Authentication
            var upstreamRegistry = new HarRegistry("upstreamRegistry", HarRegistryArgs.builder()
                .identifier("upstream_helm_registry")
                .description("Upstream Helm Registry")
                .spaceRef("accountId/orgId/projectId")
                .packageType("HELM")
                .configs(HarRegistryConfigArgs.builder()
                    .type("UPSTREAM")
                    .source("Custom")
                    .url("https://helm.sh")
                    .auths(HarRegistryConfigAuthArgs.builder()
                        .authType("UserPassword")
                        .userName("registry_user")
                        .secretIdentifier("registry_password")
                        .secretSpacePath("accountId/orgId/projectId")
                        .build())
                    .build())
                .parentRef("accountId/orgId/projectId")
                .build());
    
            // Example of an Upstream Go Registry (GoProxy source needs no url)
            var goUpstream = new HarRegistry("goUpstream", HarRegistryArgs.builder()
                .identifier("upstream_go_registry")
                .description("Upstream Go Registry")
                .spaceRef("accountId/orgId/projectId")
                .packageType("GO")
                .configs(HarRegistryConfigArgs.builder()
                    .type("UPSTREAM")
                    .source("GoProxy")
                    .authType("Anonymous")
                    .build())
                .parentRef("accountId/orgId/projectId")
                .build());
    
            // Example of an Upstream Conda Registry (Anaconda source needs no url)
            var condaUpstream = new HarRegistry("condaUpstream", HarRegistryArgs.builder()
                .identifier("upstream_conda_registry")
                .description("Upstream Conda Registry")
                .spaceRef("accountId/orgId/projectId")
                .packageType("CONDA")
                .configs(HarRegistryConfigArgs.builder()
                    .type("UPSTREAM")
                    .source("Anaconda")
                    .authType("Anonymous")
                    .build())
                .parentRef("accountId/orgId/projectId")
                .build());
    
            // Example of an Upstream Helm HTTP Registry (HelmChartRepo source requires url)
            var helmHttpUpstream = new HarRegistry("helmHttpUpstream", HarRegistryArgs.builder()
                .identifier("upstream_helm_http_registry")
                .description("Upstream Helm HTTP Registry")
                .spaceRef("accountId/orgId/projectId")
                .packageType("HELM_HTTP")
                .configs(HarRegistryConfigArgs.builder()
                    .type("UPSTREAM")
                    .source("HelmChartRepo")
                    .url("https://charts.bitnami.com/bitnami")
                    .authType("Anonymous")
                    .build())
                .parentRef("accountId/orgId/projectId")
                .build());
    
            // Example of a Virtual Debian Registry with Debian-specific configuration
            var debianVirtual = new HarRegistry("debianVirtual", HarRegistryArgs.builder()
                .identifier("virtual_debian_registry")
                .description("Virtual Debian Registry")
                .spaceRef("accountId/orgId/projectId")
                .packageType("DEBIAN")
                .configs(HarRegistryConfigArgs.builder()
                    .type("VIRTUAL")
                    .upstreamProxies("debian_upstream_registry")
                    .debianConfig(HarRegistryConfigDebianConfigArgs.builder()
                        .remoteIndexedArchitectures(                    
                            "amd64",
                            "arm64")
                        .optionalIndexCompressionFormats(".xz")
                        .build())
                    .build())
                .parentRef("accountId/orgId/projectId")
                .build());
    
            // Example of an Upstream Custom Debian Registry (Debian source needs url)
            var debianUpstream = new HarRegistry("debianUpstream", HarRegistryArgs.builder()
                .identifier("upstream_debian_registry")
                .description("Upstream Debian Registry")
                .spaceRef("accountId/orgId/projectId")
                .packageType("DEBIAN")
                .configs(HarRegistryConfigArgs.builder()
                    .type("UPSTREAM")
                    .source("Custom")
                    .url("http://deb.debian.org/debian")
                    .authType("Anonymous")
                    .build())
                .parentRef("accountId/orgId/projectId")
                .build());
    
            // Example of an Upstream Python Registry with a custom remote URL suffix
            var pythonUpstream = new HarRegistry("pythonUpstream", HarRegistryArgs.builder()
                .identifier("upstream_python_registry")
                .description("Upstream Python Registry")
                .spaceRef("accountId/orgId/projectId")
                .packageType("PYTHON")
                .configs(HarRegistryConfigArgs.builder()
                    .type("UPSTREAM")
                    .source("Custom")
                    .url("https://pypi.example.com")
                    .remoteUrlSuffix("simple")
                    .authType("Anonymous")
                    .build())
                .parentRef("accountId/orgId/projectId")
                .build());
    
            // Example of an Upstream Conan Registry (ConanCenter source needs no url)
            var conanUpstream = new HarRegistry("conanUpstream", HarRegistryArgs.builder()
                .identifier("upstream_conan_registry")
                .description("Upstream Conan Registry")
                .spaceRef("accountId/orgId/projectId")
                .packageType("CONAN")
                .configs(HarRegistryConfigArgs.builder()
                    .type("UPSTREAM")
                    .source("ConanCenter")
                    .authType("Anonymous")
                    .build())
                .parentRef("accountId/orgId/projectId")
                .build());
    
            // Example of an Upstream Ruby Registry (RubyGems source needs no url)
            var rubygemsUpstream = new HarRegistry("rubygemsUpstream", HarRegistryArgs.builder()
                .identifier("upstream_ruby_registry")
                .description("Upstream Ruby Registry")
                .spaceRef("accountId/orgId/projectId")
                .packageType("RUBY")
                .configs(HarRegistryConfigArgs.builder()
                    .type("UPSTREAM")
                    .source("RubyGems")
                    .authType("Anonymous")
                    .build())
                .parentRef("accountId/orgId/projectId")
                .build());
    
            // Example of a Virtual Terraform Registry
            var terraformVirtual = new HarRegistry("terraformVirtual", HarRegistryArgs.builder()
                .identifier("virtual_terraform_registry")
                .description("Virtual Terraform Registry")
                .spaceRef("accountId/orgId/projectId")
                .packageType("TERRAFORM")
                .configs(HarRegistryConfigArgs.builder()
                    .type("VIRTUAL")
                    .build())
                .parentRef("accountId/orgId/projectId")
                .build());
    
            // Example of a Virtual CRAN Registry
            var cranVirtual = new HarRegistry("cranVirtual", HarRegistryArgs.builder()
                .identifier("virtual_cran_registry")
                .description("Virtual CRAN Registry")
                .spaceRef("accountId/orgId/projectId")
                .packageType("CRAN")
                .configs(HarRegistryConfigArgs.builder()
                    .type("VIRTUAL")
                    .build())
                .parentRef("accountId/orgId/projectId")
                .build());
    
            // Example of an Upstream CRAN Registry (CRAN source needs no url)
            var cranUpstream = new HarRegistry("cranUpstream", HarRegistryArgs.builder()
                .identifier("upstream_cran_registry")
                .description("Upstream CRAN Registry")
                .spaceRef("accountId/orgId/projectId")
                .packageType("CRAN")
                .configs(HarRegistryConfigArgs.builder()
                    .type("UPSTREAM")
                    .source("CRAN")
                    .authType("Anonymous")
                    .build())
                .parentRef("accountId/orgId/projectId")
                .build());
    
            // Example of a Virtual Alpine Registry
            var alpineVirtual = new HarRegistry("alpineVirtual", HarRegistryArgs.builder()
                .identifier("virtual_alpine_registry")
                .description("Virtual Alpine Registry")
                .spaceRef("accountId/orgId/projectId")
                .packageType("ALPINE")
                .configs(HarRegistryConfigArgs.builder()
                    .type("VIRTUAL")
                    .build())
                .parentRef("accountId/orgId/projectId")
                .build());
    
            // Example of an Upstream Alpine Registry (Alpine source needs no url)
            var alpineUpstream = new HarRegistry("alpineUpstream", HarRegistryArgs.builder()
                .identifier("upstream_alpine_registry")
                .description("Upstream Alpine Registry")
                .spaceRef("accountId/orgId/projectId")
                .packageType("ALPINE")
                .configs(HarRegistryConfigArgs.builder()
                    .type("UPSTREAM")
                    .source("Alpine")
                    .authType("Anonymous")
                    .build())
                .parentRef("accountId/orgId/projectId")
                .build());
    
            // Example of a Virtual Wolfi Registry
            var wolfiVirtual = new HarRegistry("wolfiVirtual", HarRegistryArgs.builder()
                .identifier("virtual_wolfi_registry")
                .description("Virtual Wolfi Registry")
                .spaceRef("accountId/orgId/projectId")
                .packageType("WOLFI")
                .configs(HarRegistryConfigArgs.builder()
                    .type("VIRTUAL")
                    .build())
                .parentRef("accountId/orgId/projectId")
                .build());
    
            // Example of an Upstream Wolfi Registry (Wolfi source needs no url)
            var wolfiUpstream = new HarRegistry("wolfiUpstream", HarRegistryArgs.builder()
                .identifier("upstream_wolfi_registry")
                .description("Upstream Wolfi Registry")
                .spaceRef("accountId/orgId/projectId")
                .packageType("WOLFI")
                .configs(HarRegistryConfigArgs.builder()
                    .type("UPSTREAM")
                    .source("Wolfi")
                    .authType("Anonymous")
                    .build())
                .parentRef("accountId/orgId/projectId")
                .build());
    
        }
    }
    
    resources:
      # Example of a Virtual Registry
      virtualRegistry:
        type: harness:platform:HarRegistry
        name: virtual_registry
        properties:
          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
      upstreamRegistry:
        type: harness:platform:HarRegistry
        name: upstream_registry
        properties:
          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
      # Example of an Upstream Go Registry (GoProxy source needs no url)
      goUpstream:
        type: harness:platform:HarRegistry
        name: go_upstream
        properties:
          identifier: upstream_go_registry
          description: Upstream Go Registry
          spaceRef: accountId/orgId/projectId
          packageType: GO
          configs:
            - type: UPSTREAM
              source: GoProxy
              authType: Anonymous
          parentRef: accountId/orgId/projectId
      # Example of an Upstream Conda Registry (Anaconda source needs no url)
      condaUpstream:
        type: harness:platform:HarRegistry
        name: conda_upstream
        properties:
          identifier: upstream_conda_registry
          description: Upstream Conda Registry
          spaceRef: accountId/orgId/projectId
          packageType: CONDA
          configs:
            - type: UPSTREAM
              source: Anaconda
              authType: Anonymous
          parentRef: accountId/orgId/projectId
      # Example of an Upstream Helm HTTP Registry (HelmChartRepo source requires url)
      helmHttpUpstream:
        type: harness:platform:HarRegistry
        name: helm_http_upstream
        properties:
          identifier: upstream_helm_http_registry
          description: Upstream Helm HTTP Registry
          spaceRef: accountId/orgId/projectId
          packageType: HELM_HTTP
          configs:
            - type: UPSTREAM
              source: HelmChartRepo
              url: https://charts.bitnami.com/bitnami
              authType: Anonymous
          parentRef: accountId/orgId/projectId
      # Example of a Virtual Debian Registry with Debian-specific configuration
      debianVirtual:
        type: harness:platform:HarRegistry
        name: debian_virtual
        properties:
          identifier: virtual_debian_registry
          description: Virtual Debian Registry
          spaceRef: accountId/orgId/projectId
          packageType: DEBIAN
          configs:
            - type: VIRTUAL
              upstreamProxies:
                - debian_upstream_registry
              debianConfig:
                remoteIndexedArchitectures:
                  - amd64
                  - arm64
                optionalIndexCompressionFormats:
                  - .xz
          parentRef: accountId/orgId/projectId
      # Example of an Upstream Custom Debian Registry (Debian source needs url)
      debianUpstream:
        type: harness:platform:HarRegistry
        name: debian_upstream
        properties:
          identifier: upstream_debian_registry
          description: Upstream Debian Registry
          spaceRef: accountId/orgId/projectId
          packageType: DEBIAN
          configs:
            - type: UPSTREAM
              source: Custom
              url: http://deb.debian.org/debian
              authType: Anonymous
          parentRef: accountId/orgId/projectId
      # Example of an Upstream Python Registry with a custom remote URL suffix
      pythonUpstream:
        type: harness:platform:HarRegistry
        name: python_upstream
        properties:
          identifier: upstream_python_registry
          description: Upstream Python Registry
          spaceRef: accountId/orgId/projectId
          packageType: PYTHON
          configs:
            - type: UPSTREAM
              source: Custom
              url: https://pypi.example.com
              remoteUrlSuffix: simple
              authType: Anonymous
          parentRef: accountId/orgId/projectId
      # Example of an Upstream Conan Registry (ConanCenter source needs no url)
      conanUpstream:
        type: harness:platform:HarRegistry
        name: conan_upstream
        properties:
          identifier: upstream_conan_registry
          description: Upstream Conan Registry
          spaceRef: accountId/orgId/projectId
          packageType: CONAN
          configs:
            - type: UPSTREAM
              source: ConanCenter
              authType: Anonymous
          parentRef: accountId/orgId/projectId
      # Example of an Upstream Ruby Registry (RubyGems source needs no url)
      rubygemsUpstream:
        type: harness:platform:HarRegistry
        name: rubygems_upstream
        properties:
          identifier: upstream_ruby_registry
          description: Upstream Ruby Registry
          spaceRef: accountId/orgId/projectId
          packageType: RUBY
          configs:
            - type: UPSTREAM
              source: RubyGems
              authType: Anonymous
          parentRef: accountId/orgId/projectId
      # Example of a Virtual Terraform Registry
      terraformVirtual:
        type: harness:platform:HarRegistry
        name: terraform_virtual
        properties:
          identifier: virtual_terraform_registry
          description: Virtual Terraform Registry
          spaceRef: accountId/orgId/projectId
          packageType: TERRAFORM
          configs:
            - type: VIRTUAL
          parentRef: accountId/orgId/projectId
      # Example of a Virtual CRAN Registry
      cranVirtual:
        type: harness:platform:HarRegistry
        name: cran_virtual
        properties:
          identifier: virtual_cran_registry
          description: Virtual CRAN Registry
          spaceRef: accountId/orgId/projectId
          packageType: CRAN
          configs:
            - type: VIRTUAL
          parentRef: accountId/orgId/projectId
      # Example of an Upstream CRAN Registry (CRAN source needs no url)
      cranUpstream:
        type: harness:platform:HarRegistry
        name: cran_upstream
        properties:
          identifier: upstream_cran_registry
          description: Upstream CRAN Registry
          spaceRef: accountId/orgId/projectId
          packageType: CRAN
          configs:
            - type: UPSTREAM
              source: CRAN
              authType: Anonymous
          parentRef: accountId/orgId/projectId
      # Example of a Virtual Alpine Registry
      alpineVirtual:
        type: harness:platform:HarRegistry
        name: alpine_virtual
        properties:
          identifier: virtual_alpine_registry
          description: Virtual Alpine Registry
          spaceRef: accountId/orgId/projectId
          packageType: ALPINE
          configs:
            - type: VIRTUAL
          parentRef: accountId/orgId/projectId
      # Example of an Upstream Alpine Registry (Alpine source needs no url)
      alpineUpstream:
        type: harness:platform:HarRegistry
        name: alpine_upstream
        properties:
          identifier: upstream_alpine_registry
          description: Upstream Alpine Registry
          spaceRef: accountId/orgId/projectId
          packageType: ALPINE
          configs:
            - type: UPSTREAM
              source: Alpine
              authType: Anonymous
          parentRef: accountId/orgId/projectId
      # Example of a Virtual Wolfi Registry
      wolfiVirtual:
        type: harness:platform:HarRegistry
        name: wolfi_virtual
        properties:
          identifier: virtual_wolfi_registry
          description: Virtual Wolfi Registry
          spaceRef: accountId/orgId/projectId
          packageType: WOLFI
          configs:
            - type: VIRTUAL
          parentRef: accountId/orgId/projectId
      # Example of an Upstream Wolfi Registry (Wolfi source needs no url)
      wolfiUpstream:
        type: harness:platform:HarRegistry
        name: wolfi_upstream
        properties:
          identifier: upstream_wolfi_registry
          description: Upstream Wolfi Registry
          spaceRef: accountId/orgId/projectId
          packageType: WOLFI
          configs:
            - type: UPSTREAM
              source: Wolfi
              authType: Anonymous
          parentRef: accountId/orgId/projectId
    
    pulumi {
      required_providers {
        harness = {
          source = "pulumi/harness"
        }
      }
    }
    
    # Example of a Virtual Registry
    resource "harness_platform_harregistry" "virtual_registry" {
      identifier   = "virtual_docker_registry"
      description  = "Virtual Docker Registry"
      space_ref    = "accountId/orgId/projectId"
      package_type = "DOCKER"
      configs {
        type             = "VIRTUAL"
        upstream_proxies = ["registry1", "registry2"]
      }
      parent_ref = "accountId/orgId/projectId"
    }
    # Example of an Upstream Registry with Authentication
    resource "harness_platform_harregistry" "upstream_registry" {
      identifier   = "upstream_helm_registry"
      description  = "Upstream Helm Registry"
      space_ref    = "accountId/orgId/projectId"
      package_type = "HELM"
      configs {
        type   = "UPSTREAM"
        source = "Custom"
        url    = "https://helm.sh"
        auths {
          auth_type         = "UserPassword"
          user_name         = "registry_user"
          secret_identifier = "registry_password"
          secret_space_path = "accountId/orgId/projectId"
        }
      }
      parent_ref = "accountId/orgId/projectId"
    }
    # Example of an Upstream Go Registry (GoProxy source needs no url)
    resource "harness_platform_harregistry" "go_upstream" {
      identifier   = "upstream_go_registry"
      description  = "Upstream Go Registry"
      space_ref    = "accountId/orgId/projectId"
      package_type = "GO"
      configs {
        type      = "UPSTREAM"
        source    = "GoProxy"
        auth_type = "Anonymous"
      }
      parent_ref = "accountId/orgId/projectId"
    }
    # Example of an Upstream Conda Registry (Anaconda source needs no url)
    resource "harness_platform_harregistry" "conda_upstream" {
      identifier   = "upstream_conda_registry"
      description  = "Upstream Conda Registry"
      space_ref    = "accountId/orgId/projectId"
      package_type = "CONDA"
      configs {
        type      = "UPSTREAM"
        source    = "Anaconda"
        auth_type = "Anonymous"
      }
      parent_ref = "accountId/orgId/projectId"
    }
    # Example of an Upstream Helm HTTP Registry (HelmChartRepo source requires url)
    resource "harness_platform_harregistry" "helm_http_upstream" {
      identifier   = "upstream_helm_http_registry"
      description  = "Upstream Helm HTTP Registry"
      space_ref    = "accountId/orgId/projectId"
      package_type = "HELM_HTTP"
      configs {
        type      = "UPSTREAM"
        source    = "HelmChartRepo"
        url       = "https://charts.bitnami.com/bitnami"
        auth_type = "Anonymous"
      }
      parent_ref = "accountId/orgId/projectId"
    }
    # Example of a Virtual Debian Registry with Debian-specific configuration
    resource "harness_platform_harregistry" "debian_virtual" {
      identifier   = "virtual_debian_registry"
      description  = "Virtual Debian Registry"
      space_ref    = "accountId/orgId/projectId"
      package_type = "DEBIAN"
      configs {
        type             = "VIRTUAL"
        upstream_proxies = ["debian_upstream_registry"]
        debian_config = {
          remote_indexed_architectures       = ["amd64", "arm64"]
          optional_index_compression_formats = [".xz"]
        }
      }
      parent_ref = "accountId/orgId/projectId"
    }
    # Example of an Upstream Custom Debian Registry (Debian source needs url)
    resource "harness_platform_harregistry" "debian_upstream" {
      identifier   = "upstream_debian_registry"
      description  = "Upstream Debian Registry"
      space_ref    = "accountId/orgId/projectId"
      package_type = "DEBIAN"
      configs {
        type      = "UPSTREAM"
        source    = "Custom"
        url       = "http://deb.debian.org/debian"
        auth_type = "Anonymous"
      }
      parent_ref = "accountId/orgId/projectId"
    }
    # Example of an Upstream Python Registry with a custom remote URL suffix
    resource "harness_platform_harregistry" "python_upstream" {
      identifier   = "upstream_python_registry"
      description  = "Upstream Python Registry"
      space_ref    = "accountId/orgId/projectId"
      package_type = "PYTHON"
      configs {
        type              = "UPSTREAM"
        source            = "Custom"
        url               = "https://pypi.example.com"
        remote_url_suffix = "simple"
        auth_type         = "Anonymous"
      }
      parent_ref = "accountId/orgId/projectId"
    }
    # Example of an Upstream Conan Registry (ConanCenter source needs no url)
    resource "harness_platform_harregistry" "conan_upstream" {
      identifier   = "upstream_conan_registry"
      description  = "Upstream Conan Registry"
      space_ref    = "accountId/orgId/projectId"
      package_type = "CONAN"
      configs {
        type      = "UPSTREAM"
        source    = "ConanCenter"
        auth_type = "Anonymous"
      }
      parent_ref = "accountId/orgId/projectId"
    }
    # Example of an Upstream Ruby Registry (RubyGems source needs no url)
    resource "harness_platform_harregistry" "rubygems_upstream" {
      identifier   = "upstream_ruby_registry"
      description  = "Upstream Ruby Registry"
      space_ref    = "accountId/orgId/projectId"
      package_type = "RUBY"
      configs {
        type      = "UPSTREAM"
        source    = "RubyGems"
        auth_type = "Anonymous"
      }
      parent_ref = "accountId/orgId/projectId"
    }
    # Example of a Virtual Terraform Registry
    resource "harness_platform_harregistry" "terraform_virtual" {
      identifier   = "virtual_terraform_registry"
      description  = "Virtual Terraform Registry"
      space_ref    = "accountId/orgId/projectId"
      package_type = "TERRAFORM"
      configs {
        type = "VIRTUAL"
      }
      parent_ref = "accountId/orgId/projectId"
    }
    # Example of a Virtual CRAN Registry
    resource "harness_platform_harregistry" "cran_virtual" {
      identifier   = "virtual_cran_registry"
      description  = "Virtual CRAN Registry"
      space_ref    = "accountId/orgId/projectId"
      package_type = "CRAN"
      configs {
        type = "VIRTUAL"
      }
      parent_ref = "accountId/orgId/projectId"
    }
    # Example of an Upstream CRAN Registry (CRAN source needs no url)
    resource "harness_platform_harregistry" "cran_upstream" {
      identifier   = "upstream_cran_registry"
      description  = "Upstream CRAN Registry"
      space_ref    = "accountId/orgId/projectId"
      package_type = "CRAN"
      configs {
        type      = "UPSTREAM"
        source    = "CRAN"
        auth_type = "Anonymous"
      }
      parent_ref = "accountId/orgId/projectId"
    }
    # Example of a Virtual Alpine Registry
    resource "harness_platform_harregistry" "alpine_virtual" {
      identifier   = "virtual_alpine_registry"
      description  = "Virtual Alpine Registry"
      space_ref    = "accountId/orgId/projectId"
      package_type = "ALPINE"
      configs {
        type = "VIRTUAL"
      }
      parent_ref = "accountId/orgId/projectId"
    }
    # Example of an Upstream Alpine Registry (Alpine source needs no url)
    resource "harness_platform_harregistry" "alpine_upstream" {
      identifier   = "upstream_alpine_registry"
      description  = "Upstream Alpine Registry"
      space_ref    = "accountId/orgId/projectId"
      package_type = "ALPINE"
      configs {
        type      = "UPSTREAM"
        source    = "Alpine"
        auth_type = "Anonymous"
      }
      parent_ref = "accountId/orgId/projectId"
    }
    # Example of a Virtual Wolfi Registry
    resource "harness_platform_harregistry" "wolfi_virtual" {
      identifier   = "virtual_wolfi_registry"
      description  = "Virtual Wolfi Registry"
      space_ref    = "accountId/orgId/projectId"
      package_type = "WOLFI"
      configs {
        type = "VIRTUAL"
      }
      parent_ref = "accountId/orgId/projectId"
    }
    # Example of an Upstream Wolfi Registry (Wolfi source needs no url)
    resource "harness_platform_harregistry" "wolfi_upstream" {
      identifier   = "upstream_wolfi_registry"
      description  = "Upstream Wolfi Registry"
      space_ref    = "accountId/orgId/projectId"
      package_type = "WOLFI"
      configs {
        type      = "UPSTREAM"
        source    = "Wolfi"
        auth_type = "Anonymous"
      }
      parent_ref = "accountId/orgId/projectId"
    }
    

    Create HarRegistry Resource

    Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.

    Constructor syntax

    new HarRegistry(name: string, args: HarRegistryArgs, opts?: CustomResourceOptions);
    @overload
    def HarRegistry(resource_name: str,
                    args: HarRegistryArgs,
                    opts: Optional[ResourceOptions] = None)
    
    @overload
    def HarRegistry(resource_name: str,
                    opts: Optional[ResourceOptions] = None,
                    identifier: Optional[str] = None,
                    package_type: Optional[str] = None,
                    parent_ref: Optional[str] = None,
                    space_ref: Optional[str] = None,
                    allowed_patterns: Optional[Sequence[str]] = None,
                    blocked_patterns: Optional[Sequence[str]] = None,
                    configs: Optional[Sequence[HarRegistryConfigArgs]] = None,
                    description: Optional[str] = None,
                    is_public: Optional[bool] = None,
                    metadata: Optional[Mapping[str, str]] = None)
    func NewHarRegistry(ctx *Context, name string, args HarRegistryArgs, opts ...ResourceOption) (*HarRegistry, error)
    public HarRegistry(string name, HarRegistryArgs args, CustomResourceOptions? opts = null)
    public HarRegistry(String name, HarRegistryArgs args)
    public HarRegistry(String name, HarRegistryArgs args, CustomResourceOptions options)
    
    type: harness:platform:HarRegistry
    properties: # The arguments to resource properties.
    options: # Bag of options to control resource's behavior.
    
    
    resource "harness_platform_har_registry" "name" {
        # resource properties
    }

    Parameters

    name string
    The unique name of the resource.
    args HarRegistryArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    resource_name str
    The unique name of the resource.
    args HarRegistryArgs
    The arguments to resource properties.
    opts ResourceOptions
    Bag of options to control resource's behavior.
    ctx Context
    Context object for the current deployment.
    name string
    The unique name of the resource.
    args HarRegistryArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args HarRegistryArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args HarRegistryArgs
    The arguments to resource properties.
    options CustomResourceOptions
    Bag of options to control resource's behavior.

    Constructor example

    The following reference example uses placeholder values for all input properties.

    var harRegistryResource = new Harness.Platform.HarRegistry("harRegistryResource", new()
    {
        Identifier = "string",
        PackageType = "string",
        ParentRef = "string",
        SpaceRef = "string",
        AllowedPatterns = new[]
        {
            "string",
        },
        BlockedPatterns = new[]
        {
            "string",
        },
        Configs = new[]
        {
            new Harness.Platform.Inputs.HarRegistryConfigArgs
            {
                Type = "string",
                AuthType = "string",
                Auths = new[]
                {
                    new Harness.Platform.Inputs.HarRegistryConfigAuthArgs
                    {
                        AuthType = "string",
                        AccessKey = "string",
                        AccessKeyIdentifier = "string",
                        AccessKeySecretPath = "string",
                        SecretIdentifier = "string",
                        SecretKeyIdentifier = "string",
                        SecretKeySecretPath = "string",
                        SecretSpacePath = "string",
                        UserName = "string",
                    },
                },
                DebianConfig = new Harness.Platform.Inputs.HarRegistryConfigDebianConfigArgs
                {
                    OptionalIndexCompressionFormats = new[]
                    {
                        "string",
                    },
                    RemoteIndexedArchitectures = new[]
                    {
                        "string",
                    },
                },
                FirewallMode = "string",
                MetadataCacheTtl = 0,
                NegativeCacheTtl = 0,
                RemoteUrlSuffix = "string",
                Source = "string",
                UpstreamProxies = new[]
                {
                    "string",
                },
                Url = "string",
            },
        },
        Description = "string",
        IsPublic = false,
        Metadata = 
        {
            { "string", "string" },
        },
    });
    
    example, err := platform.NewHarRegistry(ctx, "harRegistryResource", &platform.HarRegistryArgs{
    	Identifier:  pulumi.String("string"),
    	PackageType: pulumi.String("string"),
    	ParentRef:   pulumi.String("string"),
    	SpaceRef:    pulumi.String("string"),
    	AllowedPatterns: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    	BlockedPatterns: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    	Configs: platform.HarRegistryConfigArray{
    		&platform.HarRegistryConfigArgs{
    			Type:     pulumi.String("string"),
    			AuthType: pulumi.String("string"),
    			Auths: platform.HarRegistryConfigAuthArray{
    				&platform.HarRegistryConfigAuthArgs{
    					AuthType:            pulumi.String("string"),
    					AccessKey:           pulumi.String("string"),
    					AccessKeyIdentifier: pulumi.String("string"),
    					AccessKeySecretPath: pulumi.String("string"),
    					SecretIdentifier:    pulumi.String("string"),
    					SecretKeyIdentifier: pulumi.String("string"),
    					SecretKeySecretPath: pulumi.String("string"),
    					SecretSpacePath:     pulumi.String("string"),
    					UserName:            pulumi.String("string"),
    				},
    			},
    			DebianConfig: &platform.HarRegistryConfigDebianConfigArgs{
    				OptionalIndexCompressionFormats: pulumi.StringArray{
    					pulumi.String("string"),
    				},
    				RemoteIndexedArchitectures: pulumi.StringArray{
    					pulumi.String("string"),
    				},
    			},
    			FirewallMode:     pulumi.String("string"),
    			MetadataCacheTtl: pulumi.Int(0),
    			NegativeCacheTtl: pulumi.Int(0),
    			RemoteUrlSuffix:  pulumi.String("string"),
    			Source:           pulumi.String("string"),
    			UpstreamProxies: pulumi.StringArray{
    				pulumi.String("string"),
    			},
    			Url: pulumi.String("string"),
    		},
    	},
    	Description: pulumi.String("string"),
    	IsPublic:    pulumi.Bool(false),
    	Metadata: pulumi.StringMap{
    		"string": pulumi.String("string"),
    	},
    })
    
    resource "harness_platform_har_registry" "harRegistryResource" {
      lifecycle {
        create_before_destroy = true
      }
      identifier       = "string"
      package_type     = "string"
      parent_ref       = "string"
      space_ref        = "string"
      allowed_patterns = ["string"]
      blocked_patterns = ["string"]
      configs {
        type      = "string"
        auth_type = "string"
        auths {
          auth_type              = "string"
          access_key             = "string"
          access_key_identifier  = "string"
          access_key_secret_path = "string"
          secret_identifier      = "string"
          secret_key_identifier  = "string"
          secret_key_secret_path = "string"
          secret_space_path      = "string"
          user_name              = "string"
        }
        debian_config = {
          optional_index_compression_formats = ["string"]
          remote_indexed_architectures       = ["string"]
        }
        firewall_mode      = "string"
        metadata_cache_ttl = 0
        negative_cache_ttl = 0
        remote_url_suffix  = "string"
        source             = "string"
        upstream_proxies   = ["string"]
        url                = "string"
      }
      description = "string"
      is_public   = false
      metadata = {
        "string" = "string"
      }
    }
    
    var harRegistryResource = new HarRegistry("harRegistryResource", HarRegistryArgs.builder()
        .identifier("string")
        .packageType("string")
        .parentRef("string")
        .spaceRef("string")
        .allowedPatterns("string")
        .blockedPatterns("string")
        .configs(HarRegistryConfigArgs.builder()
            .type("string")
            .authType("string")
            .auths(HarRegistryConfigAuthArgs.builder()
                .authType("string")
                .accessKey("string")
                .accessKeyIdentifier("string")
                .accessKeySecretPath("string")
                .secretIdentifier("string")
                .secretKeyIdentifier("string")
                .secretKeySecretPath("string")
                .secretSpacePath("string")
                .userName("string")
                .build())
            .debianConfig(HarRegistryConfigDebianConfigArgs.builder()
                .optionalIndexCompressionFormats("string")
                .remoteIndexedArchitectures("string")
                .build())
            .firewallMode("string")
            .metadataCacheTtl(0)
            .negativeCacheTtl(0)
            .remoteUrlSuffix("string")
            .source("string")
            .upstreamProxies("string")
            .url("string")
            .build())
        .description("string")
        .isPublic(false)
        .metadata(Map.of("string", "string"))
        .build());
    
    har_registry_resource = harness.platform.HarRegistry("harRegistryResource",
        identifier="string",
        package_type="string",
        parent_ref="string",
        space_ref="string",
        allowed_patterns=["string"],
        blocked_patterns=["string"],
        configs=[{
            "type": "string",
            "auth_type": "string",
            "auths": [{
                "auth_type": "string",
                "access_key": "string",
                "access_key_identifier": "string",
                "access_key_secret_path": "string",
                "secret_identifier": "string",
                "secret_key_identifier": "string",
                "secret_key_secret_path": "string",
                "secret_space_path": "string",
                "user_name": "string",
            }],
            "debian_config": {
                "optional_index_compression_formats": ["string"],
                "remote_indexed_architectures": ["string"],
            },
            "firewall_mode": "string",
            "metadata_cache_ttl": 0,
            "negative_cache_ttl": 0,
            "remote_url_suffix": "string",
            "source": "string",
            "upstream_proxies": ["string"],
            "url": "string",
        }],
        description="string",
        is_public=False,
        metadata={
            "string": "string",
        })
    
    const harRegistryResource = new harness.platform.HarRegistry("harRegistryResource", {
        identifier: "string",
        packageType: "string",
        parentRef: "string",
        spaceRef: "string",
        allowedPatterns: ["string"],
        blockedPatterns: ["string"],
        configs: [{
            type: "string",
            authType: "string",
            auths: [{
                authType: "string",
                accessKey: "string",
                accessKeyIdentifier: "string",
                accessKeySecretPath: "string",
                secretIdentifier: "string",
                secretKeyIdentifier: "string",
                secretKeySecretPath: "string",
                secretSpacePath: "string",
                userName: "string",
            }],
            debianConfig: {
                optionalIndexCompressionFormats: ["string"],
                remoteIndexedArchitectures: ["string"],
            },
            firewallMode: "string",
            metadataCacheTtl: 0,
            negativeCacheTtl: 0,
            remoteUrlSuffix: "string",
            source: "string",
            upstreamProxies: ["string"],
            url: "string",
        }],
        description: "string",
        isPublic: false,
        metadata: {
            string: "string",
        },
    });
    
    type: harness:platform:HarRegistry
    properties:
        allowedPatterns:
            - string
        blockedPatterns:
            - string
        configs:
            - authType: string
              auths:
                - accessKey: string
                  accessKeyIdentifier: string
                  accessKeySecretPath: string
                  authType: string
                  secretIdentifier: string
                  secretKeyIdentifier: string
                  secretKeySecretPath: string
                  secretSpacePath: string
                  userName: string
              debianConfig:
                optionalIndexCompressionFormats:
                    - string
                remoteIndexedArchitectures:
                    - string
              firewallMode: string
              metadataCacheTtl: 0
              negativeCacheTtl: 0
              remoteUrlSuffix: string
              source: string
              type: string
              upstreamProxies:
                - string
              url: string
        description: string
        identifier: string
        isPublic: false
        metadata:
            string: string
        packageType: string
        parentRef: string
        spaceRef: string
    

    HarRegistry Resource Properties

    To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

    Inputs

    In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.

    The HarRegistry resource accepts the following input properties:

    Identifier string
    Unique identifier of the registry
    PackageType string
    Type of package (DOCKER, HELM, HELM_HTTP, MAVEN, PYTHON, GENERIC, NUGET, NPM, RPM, CARGO, RAW, PUPPET, GO, CONDA, DEBIAN, CONAN, RUBY, TERRAFORM, CRAN, ALPINE, WOLFI)
    ParentRef string
    Parent reference for the registry (required for creation)
    SpaceRef string
    Space reference for the registry (required for creation)
    AllowedPatterns List<string>
    Allowed artifact patterns
    BlockedPatterns List<string>
    Blocked artifact patterns
    Configs List<HarRegistryConfig>
    Configuration for the registry
    Description string
    Description of the registry
    IsPublic bool
    Whether the registry is public. When set to true, the registry is publicly accessible without authentication. Defaults to false (private).
    Metadata Dictionary<string, string>
    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.
    Identifier string
    Unique identifier of the registry
    PackageType string
    Type of package (DOCKER, HELM, HELM_HTTP, MAVEN, PYTHON, GENERIC, NUGET, NPM, RPM, CARGO, RAW, PUPPET, GO, CONDA, DEBIAN, CONAN, RUBY, TERRAFORM, CRAN, ALPINE, WOLFI)
    ParentRef string
    Parent reference for the registry (required for creation)
    SpaceRef string
    Space reference for the registry (required for creation)
    AllowedPatterns []string
    Allowed artifact patterns
    BlockedPatterns []string
    Blocked artifact patterns
    Configs []HarRegistryConfigArgs
    Configuration for the registry
    Description string
    Description of the registry
    IsPublic bool
    Whether the registry is public. When set to true, the registry is publicly accessible without authentication. Defaults to false (private).
    Metadata map[string]string
    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.
    identifier string
    Unique identifier of the registry
    package_type string
    Type of package (DOCKER, HELM, HELM_HTTP, MAVEN, PYTHON, GENERIC, NUGET, NPM, RPM, CARGO, RAW, PUPPET, GO, CONDA, DEBIAN, CONAN, RUBY, TERRAFORM, CRAN, ALPINE, WOLFI)
    parent_ref string
    Parent reference for the registry (required for creation)
    space_ref string
    Space reference for the registry (required for creation)
    allowed_patterns list(string)
    Allowed artifact patterns
    blocked_patterns list(string)
    Blocked artifact patterns
    configs list(object)
    Configuration for the registry
    description string
    Description of the registry
    is_public bool
    Whether the registry is public. When set to true, the registry is publicly accessible without authentication. Defaults to false (private).
    metadata map(string)
    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.
    identifier String
    Unique identifier of the registry
    packageType String
    Type of package (DOCKER, HELM, HELM_HTTP, MAVEN, PYTHON, GENERIC, NUGET, NPM, RPM, CARGO, RAW, PUPPET, GO, CONDA, DEBIAN, CONAN, RUBY, TERRAFORM, CRAN, ALPINE, WOLFI)
    parentRef String
    Parent reference for the registry (required for creation)
    spaceRef String
    Space reference for the registry (required for creation)
    allowedPatterns List<String>
    Allowed artifact patterns
    blockedPatterns List<String>
    Blocked artifact patterns
    configs List<HarRegistryConfig>
    Configuration for the registry
    description String
    Description of the registry
    isPublic Boolean
    Whether the registry is public. When set to true, the registry is publicly accessible without authentication. Defaults to false (private).
    metadata Map<String,String>
    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.
    identifier string
    Unique identifier of the registry
    packageType string
    Type of package (DOCKER, HELM, HELM_HTTP, MAVEN, PYTHON, GENERIC, NUGET, NPM, RPM, CARGO, RAW, PUPPET, GO, CONDA, DEBIAN, CONAN, RUBY, TERRAFORM, CRAN, ALPINE, WOLFI)
    parentRef string
    Parent reference for the registry (required for creation)
    spaceRef string
    Space reference for the registry (required for creation)
    allowedPatterns string[]
    Allowed artifact patterns
    blockedPatterns string[]
    Blocked artifact patterns
    configs HarRegistryConfig[]
    Configuration for the registry
    description string
    Description of the registry
    isPublic boolean
    Whether the registry is public. When set to true, the registry is publicly accessible without authentication. Defaults to false (private).
    metadata {[key: string]: string}
    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.
    identifier str
    Unique identifier of the registry
    package_type str
    Type of package (DOCKER, HELM, HELM_HTTP, MAVEN, PYTHON, GENERIC, NUGET, NPM, RPM, CARGO, RAW, PUPPET, GO, CONDA, DEBIAN, CONAN, RUBY, TERRAFORM, CRAN, ALPINE, WOLFI)
    parent_ref str
    Parent reference for the registry (required for creation)
    space_ref str
    Space reference for the registry (required for creation)
    allowed_patterns Sequence[str]
    Allowed artifact patterns
    blocked_patterns Sequence[str]
    Blocked artifact patterns
    configs Sequence[HarRegistryConfigArgs]
    Configuration for the registry
    description str
    Description of the registry
    is_public bool
    Whether the registry is public. When set to true, the registry is publicly accessible without authentication. Defaults to false (private).
    metadata Mapping[str, str]
    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.
    identifier String
    Unique identifier of the registry
    packageType String
    Type of package (DOCKER, HELM, HELM_HTTP, MAVEN, PYTHON, GENERIC, NUGET, NPM, RPM, CARGO, RAW, PUPPET, GO, CONDA, DEBIAN, CONAN, RUBY, TERRAFORM, CRAN, ALPINE, WOLFI)
    parentRef String
    Parent reference for the registry (required for creation)
    spaceRef String
    Space reference for the registry (required for creation)
    allowedPatterns List<String>
    Allowed artifact patterns
    blockedPatterns List<String>
    Blocked artifact patterns
    configs List<Property Map>
    Configuration for the registry
    description String
    Description of the registry
    isPublic Boolean
    Whether the registry is public. When set to true, the registry is publicly accessible without authentication. Defaults to false (private).
    metadata Map<String>
    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.

    Outputs

    All input properties are implicitly available as output properties. Additionally, the HarRegistry resource produces the following output properties:

    CreatedAt string
    Creation timestamp
    Id string
    The provider-assigned unique ID for this managed resource.
    Url string
    URL of the registry
    CreatedAt string
    Creation timestamp
    Id string
    The provider-assigned unique ID for this managed resource.
    Url string
    URL of the registry
    created_at string
    Creation timestamp
    id string
    The provider-assigned unique ID for this managed resource.
    url string
    URL of the registry
    createdAt String
    Creation timestamp
    id String
    The provider-assigned unique ID for this managed resource.
    url String
    URL of the registry
    createdAt string
    Creation timestamp
    id string
    The provider-assigned unique ID for this managed resource.
    url string
    URL of the registry
    created_at str
    Creation timestamp
    id str
    The provider-assigned unique ID for this managed resource.
    url str
    URL of the registry
    createdAt String
    Creation timestamp
    id String
    The provider-assigned unique ID for this managed resource.
    url String
    URL of the registry

    Look up Existing HarRegistry Resource

    Get an existing HarRegistry resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

    public static get(name: string, id: Input<ID>, state?: HarRegistryState, opts?: CustomResourceOptions): HarRegistry
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            allowed_patterns: Optional[Sequence[str]] = None,
            blocked_patterns: Optional[Sequence[str]] = None,
            configs: Optional[Sequence[HarRegistryConfigArgs]] = None,
            created_at: Optional[str] = None,
            description: Optional[str] = None,
            identifier: Optional[str] = None,
            is_public: Optional[bool] = None,
            metadata: Optional[Mapping[str, str]] = None,
            package_type: Optional[str] = None,
            parent_ref: Optional[str] = None,
            space_ref: Optional[str] = None,
            url: Optional[str] = None) -> HarRegistry
    func GetHarRegistry(ctx *Context, name string, id IDInput, state *HarRegistryState, opts ...ResourceOption) (*HarRegistry, error)
    public static HarRegistry Get(string name, Input<string> id, HarRegistryState? state, CustomResourceOptions? opts = null)
    public static HarRegistry get(String name, Output<String> id, HarRegistryState state, CustomResourceOptions options)
    resources:  _:    type: harness:platform:HarRegistry    get:      id: ${id}
    import {
      to = harness_platform_har_registry.example
      id = "${id}"
    }
    
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    resource_name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    The following state arguments are supported:
    AllowedPatterns List<string>
    Allowed artifact patterns
    BlockedPatterns List<string>
    Blocked artifact patterns
    Configs List<HarRegistryConfig>
    Configuration for the registry
    CreatedAt string
    Creation timestamp
    Description string
    Description of the registry
    Identifier string
    Unique identifier of the registry
    IsPublic bool
    Whether the registry is public. When set to true, the registry is publicly accessible without authentication. Defaults to false (private).
    Metadata Dictionary<string, string>
    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.
    PackageType string
    Type of package (DOCKER, HELM, HELM_HTTP, MAVEN, PYTHON, GENERIC, NUGET, NPM, RPM, CARGO, RAW, PUPPET, GO, CONDA, DEBIAN, CONAN, RUBY, TERRAFORM, CRAN, ALPINE, WOLFI)
    ParentRef string
    Parent reference for the registry (required for creation)
    SpaceRef string
    Space reference for the registry (required for creation)
    Url string
    URL of the registry
    AllowedPatterns []string
    Allowed artifact patterns
    BlockedPatterns []string
    Blocked artifact patterns
    Configs []HarRegistryConfigArgs
    Configuration for the registry
    CreatedAt string
    Creation timestamp
    Description string
    Description of the registry
    Identifier string
    Unique identifier of the registry
    IsPublic bool
    Whether the registry is public. When set to true, the registry is publicly accessible without authentication. Defaults to false (private).
    Metadata map[string]string
    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.
    PackageType string
    Type of package (DOCKER, HELM, HELM_HTTP, MAVEN, PYTHON, GENERIC, NUGET, NPM, RPM, CARGO, RAW, PUPPET, GO, CONDA, DEBIAN, CONAN, RUBY, TERRAFORM, CRAN, ALPINE, WOLFI)
    ParentRef string
    Parent reference for the registry (required for creation)
    SpaceRef string
    Space reference for the registry (required for creation)
    Url string
    URL of the registry
    allowed_patterns list(string)
    Allowed artifact patterns
    blocked_patterns list(string)
    Blocked artifact patterns
    configs list(object)
    Configuration for the registry
    created_at string
    Creation timestamp
    description string
    Description of the registry
    identifier string
    Unique identifier of the registry
    is_public bool
    Whether the registry is public. When set to true, the registry is publicly accessible without authentication. Defaults to false (private).
    metadata map(string)
    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.
    package_type string
    Type of package (DOCKER, HELM, HELM_HTTP, MAVEN, PYTHON, GENERIC, NUGET, NPM, RPM, CARGO, RAW, PUPPET, GO, CONDA, DEBIAN, CONAN, RUBY, TERRAFORM, CRAN, ALPINE, WOLFI)
    parent_ref string
    Parent reference for the registry (required for creation)
    space_ref string
    Space reference for the registry (required for creation)
    url string
    URL of the registry
    allowedPatterns List<String>
    Allowed artifact patterns
    blockedPatterns List<String>
    Blocked artifact patterns
    configs List<HarRegistryConfig>
    Configuration for the registry
    createdAt String
    Creation timestamp
    description String
    Description of the registry
    identifier String
    Unique identifier of the registry
    isPublic Boolean
    Whether the registry is public. When set to true, the registry is publicly accessible without authentication. Defaults to false (private).
    metadata Map<String,String>
    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.
    packageType String
    Type of package (DOCKER, HELM, HELM_HTTP, MAVEN, PYTHON, GENERIC, NUGET, NPM, RPM, CARGO, RAW, PUPPET, GO, CONDA, DEBIAN, CONAN, RUBY, TERRAFORM, CRAN, ALPINE, WOLFI)
    parentRef String
    Parent reference for the registry (required for creation)
    spaceRef String
    Space reference for the registry (required for creation)
    url String
    URL of the registry
    allowedPatterns string[]
    Allowed artifact patterns
    blockedPatterns string[]
    Blocked artifact patterns
    configs HarRegistryConfig[]
    Configuration for the registry
    createdAt string
    Creation timestamp
    description string
    Description of the registry
    identifier string
    Unique identifier of the registry
    isPublic boolean
    Whether the registry is public. When set to true, the registry is publicly accessible without authentication. Defaults to false (private).
    metadata {[key: string]: string}
    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.
    packageType string
    Type of package (DOCKER, HELM, HELM_HTTP, MAVEN, PYTHON, GENERIC, NUGET, NPM, RPM, CARGO, RAW, PUPPET, GO, CONDA, DEBIAN, CONAN, RUBY, TERRAFORM, CRAN, ALPINE, WOLFI)
    parentRef string
    Parent reference for the registry (required for creation)
    spaceRef string
    Space reference for the registry (required for creation)
    url string
    URL of the registry
    allowed_patterns Sequence[str]
    Allowed artifact patterns
    blocked_patterns Sequence[str]
    Blocked artifact patterns
    configs Sequence[HarRegistryConfigArgs]
    Configuration for the registry
    created_at str
    Creation timestamp
    description str
    Description of the registry
    identifier str
    Unique identifier of the registry
    is_public bool
    Whether the registry is public. When set to true, the registry is publicly accessible without authentication. Defaults to false (private).
    metadata Mapping[str, str]
    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.
    package_type str
    Type of package (DOCKER, HELM, HELM_HTTP, MAVEN, PYTHON, GENERIC, NUGET, NPM, RPM, CARGO, RAW, PUPPET, GO, CONDA, DEBIAN, CONAN, RUBY, TERRAFORM, CRAN, ALPINE, WOLFI)
    parent_ref str
    Parent reference for the registry (required for creation)
    space_ref str
    Space reference for the registry (required for creation)
    url str
    URL of the registry
    allowedPatterns List<String>
    Allowed artifact patterns
    blockedPatterns List<String>
    Blocked artifact patterns
    configs List<Property Map>
    Configuration for the registry
    createdAt String
    Creation timestamp
    description String
    Description of the registry
    identifier String
    Unique identifier of the registry
    isPublic Boolean
    Whether the registry is public. When set to true, the registry is publicly accessible without authentication. Defaults to false (private).
    metadata Map<String>
    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.
    packageType String
    Type of package (DOCKER, HELM, HELM_HTTP, MAVEN, PYTHON, GENERIC, NUGET, NPM, RPM, CARGO, RAW, PUPPET, GO, CONDA, DEBIAN, CONAN, RUBY, TERRAFORM, CRAN, ALPINE, WOLFI)
    parentRef String
    Parent reference for the registry (required for creation)
    spaceRef String
    Space reference for the registry (required for creation)
    url String
    URL of the registry

    Supporting Types

    HarRegistryConfig, HarRegistryConfigArgs

    Type string
    Type of registry (VIRTUAL or UPSTREAM)
    AuthType string
    Type of authentication for UPSTREAM registry type (UserPassword, Anonymous, AccessKeySecretKey)
    Auths List<HarRegistryConfigAuth>
    Authentication configuration for UPSTREAM registry type
    DebianConfig HarRegistryConfigDebianConfig
    Debian-specific configuration, applicable only when package*type is DEBIAN and config.type is VIRTUAL
    FirewallMode string
    Dependency firewall mode for UPSTREAM registry type. Valid values: ALLOW (default - no policy evaluation), ENABLED (firewall active, artifacts scanned against policies), QUARANTINE (artifacts that fail policy evaluation are blocked). Not supported for DOCKER or HELM package types.
    MetadataCacheTtl int
    Time-to-live in seconds for cached FOUND metadata entries in UPSTREAM registry type. Honored only for UPSTREAM registries of package types that support the resource cache (currently Maven). Must be between 0 and 604800 (7 days). Rejected for unsupported package types.
    NegativeCacheTtl int
    Time-to-live in seconds for cached NOT_FOUND entries in UPSTREAM registry type. Honored only for UPSTREAM registries of package types that support the resource cache (currently Maven). Must be between 0 and 604800 (7 days). Rejected for unsupported package types.
    RemoteUrlSuffix string
    Optional path suffix for Python UPSTREAM registries with Custom source. Overrides the default simple path used for PyPI-compatible indexes. Requires config.url when source is Custom. Not supported for non-PYTHON package types. Leading and trailing slashes are normalized.
    Source string
    Upstream source
    UpstreamProxies List<string>
    List of upstream proxies for VIRTUAL registry type
    Url string
    URL of the upstream (required if type=UPSTREAM & package_type=HELM)
    Type string
    Type of registry (VIRTUAL or UPSTREAM)
    AuthType string
    Type of authentication for UPSTREAM registry type (UserPassword, Anonymous, AccessKeySecretKey)
    Auths []HarRegistryConfigAuth
    Authentication configuration for UPSTREAM registry type
    DebianConfig HarRegistryConfigDebianConfig
    Debian-specific configuration, applicable only when package*type is DEBIAN and config.type is VIRTUAL
    FirewallMode string
    Dependency firewall mode for UPSTREAM registry type. Valid values: ALLOW (default - no policy evaluation), ENABLED (firewall active, artifacts scanned against policies), QUARANTINE (artifacts that fail policy evaluation are blocked). Not supported for DOCKER or HELM package types.
    MetadataCacheTtl int
    Time-to-live in seconds for cached FOUND metadata entries in UPSTREAM registry type. Honored only for UPSTREAM registries of package types that support the resource cache (currently Maven). Must be between 0 and 604800 (7 days). Rejected for unsupported package types.
    NegativeCacheTtl int
    Time-to-live in seconds for cached NOT_FOUND entries in UPSTREAM registry type. Honored only for UPSTREAM registries of package types that support the resource cache (currently Maven). Must be between 0 and 604800 (7 days). Rejected for unsupported package types.
    RemoteUrlSuffix string
    Optional path suffix for Python UPSTREAM registries with Custom source. Overrides the default simple path used for PyPI-compatible indexes. Requires config.url when source is Custom. Not supported for non-PYTHON package types. Leading and trailing slashes are normalized.
    Source string
    Upstream source
    UpstreamProxies []string
    List of upstream proxies for VIRTUAL registry type
    Url string
    URL of the upstream (required if type=UPSTREAM & package_type=HELM)
    type string
    Type of registry (VIRTUAL or UPSTREAM)
    auth_type string
    Type of authentication for UPSTREAM registry type (UserPassword, Anonymous, AccessKeySecretKey)
    auths list(object)
    Authentication configuration for UPSTREAM registry type
    debian_config object
    Debian-specific configuration, applicable only when package*type is DEBIAN and config.type is VIRTUAL
    firewall_mode string
    Dependency firewall mode for UPSTREAM registry type. Valid values: ALLOW (default - no policy evaluation), ENABLED (firewall active, artifacts scanned against policies), QUARANTINE (artifacts that fail policy evaluation are blocked). Not supported for DOCKER or HELM package types.
    metadata_cache_ttl number
    Time-to-live in seconds for cached FOUND metadata entries in UPSTREAM registry type. Honored only for UPSTREAM registries of package types that support the resource cache (currently Maven). Must be between 0 and 604800 (7 days). Rejected for unsupported package types.
    negative_cache_ttl number
    Time-to-live in seconds for cached NOT_FOUND entries in UPSTREAM registry type. Honored only for UPSTREAM registries of package types that support the resource cache (currently Maven). Must be between 0 and 604800 (7 days). Rejected for unsupported package types.
    remote_url_suffix string
    Optional path suffix for Python UPSTREAM registries with Custom source. Overrides the default simple path used for PyPI-compatible indexes. Requires config.url when source is Custom. Not supported for non-PYTHON package types. Leading and trailing slashes are normalized.
    source string
    Upstream source
    upstream_proxies list(string)
    List of upstream proxies for VIRTUAL registry type
    url string
    URL of the upstream (required if type=UPSTREAM & package_type=HELM)
    type String
    Type of registry (VIRTUAL or UPSTREAM)
    authType String
    Type of authentication for UPSTREAM registry type (UserPassword, Anonymous, AccessKeySecretKey)
    auths List<HarRegistryConfigAuth>
    Authentication configuration for UPSTREAM registry type
    debianConfig HarRegistryConfigDebianConfig
    Debian-specific configuration, applicable only when package*type is DEBIAN and config.type is VIRTUAL
    firewallMode String
    Dependency firewall mode for UPSTREAM registry type. Valid values: ALLOW (default - no policy evaluation), ENABLED (firewall active, artifacts scanned against policies), QUARANTINE (artifacts that fail policy evaluation are blocked). Not supported for DOCKER or HELM package types.
    metadataCacheTtl Integer
    Time-to-live in seconds for cached FOUND metadata entries in UPSTREAM registry type. Honored only for UPSTREAM registries of package types that support the resource cache (currently Maven). Must be between 0 and 604800 (7 days). Rejected for unsupported package types.
    negativeCacheTtl Integer
    Time-to-live in seconds for cached NOT_FOUND entries in UPSTREAM registry type. Honored only for UPSTREAM registries of package types that support the resource cache (currently Maven). Must be between 0 and 604800 (7 days). Rejected for unsupported package types.
    remoteUrlSuffix String
    Optional path suffix for Python UPSTREAM registries with Custom source. Overrides the default simple path used for PyPI-compatible indexes. Requires config.url when source is Custom. Not supported for non-PYTHON package types. Leading and trailing slashes are normalized.
    source String
    Upstream source
    upstreamProxies List<String>
    List of upstream proxies for VIRTUAL registry type
    url String
    URL of the upstream (required if type=UPSTREAM & package_type=HELM)
    type string
    Type of registry (VIRTUAL or UPSTREAM)
    authType string
    Type of authentication for UPSTREAM registry type (UserPassword, Anonymous, AccessKeySecretKey)
    auths HarRegistryConfigAuth[]
    Authentication configuration for UPSTREAM registry type
    debianConfig HarRegistryConfigDebianConfig
    Debian-specific configuration, applicable only when package*type is DEBIAN and config.type is VIRTUAL
    firewallMode string
    Dependency firewall mode for UPSTREAM registry type. Valid values: ALLOW (default - no policy evaluation), ENABLED (firewall active, artifacts scanned against policies), QUARANTINE (artifacts that fail policy evaluation are blocked). Not supported for DOCKER or HELM package types.
    metadataCacheTtl number
    Time-to-live in seconds for cached FOUND metadata entries in UPSTREAM registry type. Honored only for UPSTREAM registries of package types that support the resource cache (currently Maven). Must be between 0 and 604800 (7 days). Rejected for unsupported package types.
    negativeCacheTtl number
    Time-to-live in seconds for cached NOT_FOUND entries in UPSTREAM registry type. Honored only for UPSTREAM registries of package types that support the resource cache (currently Maven). Must be between 0 and 604800 (7 days). Rejected for unsupported package types.
    remoteUrlSuffix string
    Optional path suffix for Python UPSTREAM registries with Custom source. Overrides the default simple path used for PyPI-compatible indexes. Requires config.url when source is Custom. Not supported for non-PYTHON package types. Leading and trailing slashes are normalized.
    source string
    Upstream source
    upstreamProxies string[]
    List of upstream proxies for VIRTUAL registry type
    url string
    URL of the upstream (required if type=UPSTREAM & package_type=HELM)
    type str
    Type of registry (VIRTUAL or UPSTREAM)
    auth_type str
    Type of authentication for UPSTREAM registry type (UserPassword, Anonymous, AccessKeySecretKey)
    auths Sequence[HarRegistryConfigAuth]
    Authentication configuration for UPSTREAM registry type
    debian_config HarRegistryConfigDebianConfig
    Debian-specific configuration, applicable only when package*type is DEBIAN and config.type is VIRTUAL
    firewall_mode str
    Dependency firewall mode for UPSTREAM registry type. Valid values: ALLOW (default - no policy evaluation), ENABLED (firewall active, artifacts scanned against policies), QUARANTINE (artifacts that fail policy evaluation are blocked). Not supported for DOCKER or HELM package types.
    metadata_cache_ttl int
    Time-to-live in seconds for cached FOUND metadata entries in UPSTREAM registry type. Honored only for UPSTREAM registries of package types that support the resource cache (currently Maven). Must be between 0 and 604800 (7 days). Rejected for unsupported package types.
    negative_cache_ttl int
    Time-to-live in seconds for cached NOT_FOUND entries in UPSTREAM registry type. Honored only for UPSTREAM registries of package types that support the resource cache (currently Maven). Must be between 0 and 604800 (7 days). Rejected for unsupported package types.
    remote_url_suffix str
    Optional path suffix for Python UPSTREAM registries with Custom source. Overrides the default simple path used for PyPI-compatible indexes. Requires config.url when source is Custom. Not supported for non-PYTHON package types. Leading and trailing slashes are normalized.
    source str
    Upstream source
    upstream_proxies Sequence[str]
    List of upstream proxies for VIRTUAL registry type
    url str
    URL of the upstream (required if type=UPSTREAM & package_type=HELM)
    type String
    Type of registry (VIRTUAL or UPSTREAM)
    authType String
    Type of authentication for UPSTREAM registry type (UserPassword, Anonymous, AccessKeySecretKey)
    auths List<Property Map>
    Authentication configuration for UPSTREAM registry type
    debianConfig Property Map
    Debian-specific configuration, applicable only when package*type is DEBIAN and config.type is VIRTUAL
    firewallMode String
    Dependency firewall mode for UPSTREAM registry type. Valid values: ALLOW (default - no policy evaluation), ENABLED (firewall active, artifacts scanned against policies), QUARANTINE (artifacts that fail policy evaluation are blocked). Not supported for DOCKER or HELM package types.
    metadataCacheTtl Number
    Time-to-live in seconds for cached FOUND metadata entries in UPSTREAM registry type. Honored only for UPSTREAM registries of package types that support the resource cache (currently Maven). Must be between 0 and 604800 (7 days). Rejected for unsupported package types.
    negativeCacheTtl Number
    Time-to-live in seconds for cached NOT_FOUND entries in UPSTREAM registry type. Honored only for UPSTREAM registries of package types that support the resource cache (currently Maven). Must be between 0 and 604800 (7 days). Rejected for unsupported package types.
    remoteUrlSuffix String
    Optional path suffix for Python UPSTREAM registries with Custom source. Overrides the default simple path used for PyPI-compatible indexes. Requires config.url when source is Custom. Not supported for non-PYTHON package types. Leading and trailing slashes are normalized.
    source String
    Upstream source
    upstreamProxies List<String>
    List of upstream proxies for VIRTUAL registry type
    url String
    URL of the upstream (required if type=UPSTREAM & package_type=HELM)

    HarRegistryConfigAuth, HarRegistryConfigAuthArgs

    AuthType string
    Type of authentication (UserPassword, Anonymous)
    AccessKey string
    AccessKeyIdentifier string
    AccessKeySecretPath string
    SecretIdentifier string
    Secret identifier for UserPassword auth type
    SecretKeyIdentifier string
    SecretKeySecretPath string
    SecretSpacePath string
    Secret space path for UserPassword auth type
    UserName string
    Username for UserPassword auth type
    AuthType string
    Type of authentication (UserPassword, Anonymous)
    AccessKey string
    AccessKeyIdentifier string
    AccessKeySecretPath string
    SecretIdentifier string
    Secret identifier for UserPassword auth type
    SecretKeyIdentifier string
    SecretKeySecretPath string
    SecretSpacePath string
    Secret space path for UserPassword auth type
    UserName string
    Username for UserPassword auth type
    auth_type string
    Type of authentication (UserPassword, Anonymous)
    access_key string
    access_key_identifier string
    access_key_secret_path string
    secret_identifier string
    Secret identifier for UserPassword auth type
    secret_key_identifier string
    secret_key_secret_path string
    secret_space_path string
    Secret space path for UserPassword auth type
    user_name string
    Username for UserPassword auth type
    authType String
    Type of authentication (UserPassword, Anonymous)
    accessKey String
    accessKeyIdentifier String
    accessKeySecretPath String
    secretIdentifier String
    Secret identifier for UserPassword auth type
    secretKeyIdentifier String
    secretKeySecretPath String
    secretSpacePath String
    Secret space path for UserPassword auth type
    userName String
    Username for UserPassword auth type
    authType string
    Type of authentication (UserPassword, Anonymous)
    accessKey string
    accessKeyIdentifier string
    accessKeySecretPath string
    secretIdentifier string
    Secret identifier for UserPassword auth type
    secretKeyIdentifier string
    secretKeySecretPath string
    secretSpacePath string
    Secret space path for UserPassword auth type
    userName string
    Username for UserPassword auth type
    auth_type str
    Type of authentication (UserPassword, Anonymous)
    access_key str
    access_key_identifier str
    access_key_secret_path str
    secret_identifier str
    Secret identifier for UserPassword auth type
    secret_key_identifier str
    secret_key_secret_path str
    secret_space_path str
    Secret space path for UserPassword auth type
    user_name str
    Username for UserPassword auth type
    authType String
    Type of authentication (UserPassword, Anonymous)
    accessKey String
    accessKeyIdentifier String
    accessKeySecretPath String
    secretIdentifier String
    Secret identifier for UserPassword auth type
    secretKeyIdentifier String
    secretKeySecretPath String
    secretSpacePath String
    Secret space path for UserPassword auth type
    userName String
    Username for UserPassword auth type

    HarRegistryConfigDebianConfig, HarRegistryConfigDebianConfigArgs

    OptionalIndexCompressionFormats List<string>
    Optional additional compression formats to generate for index/metadata files
    RemoteIndexedArchitectures List<string>
    Architectures to index when building metadata from linked remote (upstream) registries. Defaults to amd64, i386, arm64
    OptionalIndexCompressionFormats []string
    Optional additional compression formats to generate for index/metadata files
    RemoteIndexedArchitectures []string
    Architectures to index when building metadata from linked remote (upstream) registries. Defaults to amd64, i386, arm64
    optional_index_compression_formats list(string)
    Optional additional compression formats to generate for index/metadata files
    remote_indexed_architectures list(string)
    Architectures to index when building metadata from linked remote (upstream) registries. Defaults to amd64, i386, arm64
    optionalIndexCompressionFormats List<String>
    Optional additional compression formats to generate for index/metadata files
    remoteIndexedArchitectures List<String>
    Architectures to index when building metadata from linked remote (upstream) registries. Defaults to amd64, i386, arm64
    optionalIndexCompressionFormats string[]
    Optional additional compression formats to generate for index/metadata files
    remoteIndexedArchitectures string[]
    Architectures to index when building metadata from linked remote (upstream) registries. Defaults to amd64, i386, arm64
    optional_index_compression_formats Sequence[str]
    Optional additional compression formats to generate for index/metadata files
    remote_indexed_architectures Sequence[str]
    Architectures to index when building metadata from linked remote (upstream) registries. Defaults to amd64, i386, arm64
    optionalIndexCompressionFormats List<String>
    Optional additional compression formats to generate for index/metadata files
    remoteIndexedArchitectures List<String>
    Architectures to index when building metadata from linked remote (upstream) registries. Defaults to amd64, i386, arm64

    Import

    Import Format

    The import ID format is: <space_ref>/<identifier>

    Where:

    • spaceRef defines the scope: account, org, or project level
    • identifier is the unique registry identifier

    Import Examples

    Account level: <account_id>/<registry_identifier> Org level: <account_id>/<org_id>/<registry_identifier> Project level: <account_id>/<org_id>/<project_id>/<registry_identifier>

    $ pulumi import harness:platform/harRegistry:HarRegistry example <space_ref>/<registry_identifier>
    

    After Import

    pulumi preview
    pulumi up
    

    To learn more about importing existing cloud resources, see Importing resources.

    Package Details

    Repository
    harness pulumi/pulumi-harness
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the harness Terraform Provider.
    harness logo
    Viewing docs for Harness v0.16.5
    published on Saturday, Sep 12, 2026 by Pulumi

      Try Pulumi Cloud free.
      Your team will thank you.

      Start free trial