// *** WARNING: this file was generated by pulumi-language-dotnet. *** // *** Do not edit by hand unless you're certain you know what you are doing! *** using System; using System.Collections.Generic; using System.Collections.Immutable; using System.Threading.Tasks; using Pulumi.Serialization; using Pulumi; namespace Maxvojtkov.Dokploy { [DokployResourceType("dokploy:index/registry:Registry")] public partial class Registry : global::Pulumi.CustomResource { /// /// RFC 3339 timestamp of when the registry was created. /// [Output("createdAt")] public Output CreatedAt { get; private set; } = null!; /// /// Prefix prepended to pushed image names, for example an organization or namespace. /// [Output("imagePrefix")] public Output ImagePrefix { get; private set; } = null!; /// /// Password or access token used to authenticate. /// [Output("password")] public Output Password { get; private set; } = null!; /// /// Display name of the registry. /// [Output("registryName")] public Output RegistryName { get; private set; } = null!; /// /// Registry kind. Dokploy currently accepts only `Cloud`. Valid values: `Cloud`. Defaults to `Cloud`. /// [Output("registryType")] public Output RegistryType { get; private set; } = null!; /// /// Registry hostname, for example `ghcr.io`. /// [Output("registryUrl")] public Output RegistryUrl { get; private set; } = null!; /// /// Server this registry is scoped to. /// [Output("serverId")] public Output ServerId { get; private set; } = null!; /// /// Username used to authenticate to the registry. /// [Output("username")] public Output Username { get; private set; } = null!; /// /// Create a Registry resource with the given unique name, arguments, and options. /// /// /// The unique name of the resource /// The arguments used to populate this resource's properties /// A bag of options that control this resource's behavior public Registry(string name, RegistryArgs args, CustomResourceOptions? options = null) : base("dokploy:index/registry:Registry", name, args ?? new RegistryArgs(), MakeResourceOptions(options, "")) { } private Registry(string name, Input id, RegistryState? state = null, CustomResourceOptions? options = null) : base("dokploy:index/registry:Registry", name, state, MakeResourceOptions(options, id)) { } private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) { var defaultOptions = new CustomResourceOptions { Version = Utilities.Version, PluginDownloadURL = "https://gitea.coolify.vojtkov.dev/usr_unknown/pulumi-dokploy/releases/download/v${VERSION}", AdditionalSecretOutputs = { "password", }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); // Override the ID if one was specified for consistency with other language SDKs. merged.Id = id ?? merged.Id; return merged; } /// /// Get an existing Registry resource's state with the given name, ID, and optional extra /// properties used to qualify the lookup. /// /// /// The unique name of the resulting resource. /// The unique provider ID of the resource to lookup. /// Any extra arguments used during the lookup. /// A bag of options that control this resource's behavior public static Registry Get(string name, Input id, RegistryState? state = null, CustomResourceOptions? options = null) { return new Registry(name, id, state, options); } } public sealed class RegistryArgs : global::Pulumi.ResourceArgs { /// /// Prefix prepended to pushed image names, for example an organization or namespace. /// [Input("imagePrefix")] public Input? ImagePrefix { get; set; } [Input("password", required: true)] private Input? _password; /// /// Password or access token used to authenticate. /// public Input? Password { get => _password; set { var emptySecret = Output.CreateSecret(0); _password = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); } } /// /// Display name of the registry. /// [Input("registryName", required: true)] public Input RegistryName { get; set; } = null!; /// /// Registry kind. Dokploy currently accepts only `Cloud`. Valid values: `Cloud`. Defaults to `Cloud`. /// [Input("registryType")] public Input? RegistryType { get; set; } /// /// Registry hostname, for example `ghcr.io`. /// [Input("registryUrl", required: true)] public Input RegistryUrl { get; set; } = null!; /// /// Server this registry is scoped to. /// [Input("serverId")] public Input? ServerId { get; set; } /// /// Username used to authenticate to the registry. /// [Input("username", required: true)] public Input Username { get; set; } = null!; public RegistryArgs() { } public static new RegistryArgs Empty => new RegistryArgs(); } public sealed class RegistryState : global::Pulumi.ResourceArgs { /// /// RFC 3339 timestamp of when the registry was created. /// [Input("createdAt")] public Input? CreatedAt { get; set; } /// /// Prefix prepended to pushed image names, for example an organization or namespace. /// [Input("imagePrefix")] public Input? ImagePrefix { get; set; } [Input("password")] private Input? _password; /// /// Password or access token used to authenticate. /// public Input? Password { get => _password; set { var emptySecret = Output.CreateSecret(0); _password = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); } } /// /// Display name of the registry. /// [Input("registryName")] public Input? RegistryName { get; set; } /// /// Registry kind. Dokploy currently accepts only `Cloud`. Valid values: `Cloud`. Defaults to `Cloud`. /// [Input("registryType")] public Input? RegistryType { get; set; } /// /// Registry hostname, for example `ghcr.io`. /// [Input("registryUrl")] public Input? RegistryUrl { get; set; } /// /// Server this registry is scoped to. /// [Input("serverId")] public Input? ServerId { get; set; } /// /// Username used to authenticate to the registry. /// [Input("username")] public Input? Username { get; set; } public RegistryState() { } public static new RegistryState Empty => new RegistryState(); } }