// *** 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/mount:Mount")]
public partial class Mount : global::Pulumi.CustomResource
{
///
/// Contents of the generated file, when `Type` is `File`.
///
[Output("content")]
public Output Content { get; private set; } = null!;
///
/// Path of the generated file, when `Type` is `File`.
///
[Output("filePath")]
public Output FilePath { get; private set; } = null!;
///
/// Path on the host, when `Type` is `Bind`.
///
[Output("hostPath")]
public Output HostPath { get; private set; } = null!;
///
/// Path inside the container where the mount appears.
///
[Output("mountPath")]
public Output MountPath { get; private set; } = null!;
///
/// ID of the service this mount attaches to. Must match `ServiceType` — an application ID, a compose ID, a postgres ID, and so on.
///
[Output("serviceId")]
public Output ServiceId { get; private set; } = null!;
///
/// The kind of service this mount attaches to. Valid values: `Application`, `Postgres`, `Mysql`, `Mariadb`, `Mongo`, `Redis`, `Compose`.
///
[Output("serviceType")]
public Output ServiceType { get; private set; } = null!;
///
/// The kind of mount to create. Valid values: `Bind`, `Volume`, `File`.
///
[Output("type")]
public Output Type { get; private set; } = null!;
///
/// Name of the Docker volume, when `Type` is `Volume`.
///
[Output("volumeName")]
public Output VolumeName { get; private set; } = null!;
///
/// Create a Mount 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 Mount(string name, MountArgs args, CustomResourceOptions? options = null)
: base("dokploy:index/mount:Mount", name, args ?? new MountArgs(), MakeResourceOptions(options, ""))
{
}
private Mount(string name, Input id, MountState? state = null, CustomResourceOptions? options = null)
: base("dokploy:index/mount:Mount", 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}",
};
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 Mount 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 Mount Get(string name, Input id, MountState? state = null, CustomResourceOptions? options = null)
{
return new Mount(name, id, state, options);
}
}
public sealed class MountArgs : global::Pulumi.ResourceArgs
{
///
/// Contents of the generated file, when `Type` is `File`.
///
[Input("content")]
public Input? Content { get; set; }
///
/// Path of the generated file, when `Type` is `File`.
///
[Input("filePath")]
public Input? FilePath { get; set; }
///
/// Path on the host, when `Type` is `Bind`.
///
[Input("hostPath")]
public Input? HostPath { get; set; }
///
/// Path inside the container where the mount appears.
///
[Input("mountPath", required: true)]
public Input MountPath { get; set; } = null!;
///
/// ID of the service this mount attaches to. Must match `ServiceType` — an application ID, a compose ID, a postgres ID, and so on.
///
[Input("serviceId", required: true)]
public Input ServiceId { get; set; } = null!;
///
/// The kind of service this mount attaches to. Valid values: `Application`, `Postgres`, `Mysql`, `Mariadb`, `Mongo`, `Redis`, `Compose`.
///
[Input("serviceType", required: true)]
public Input ServiceType { get; set; } = null!;
///
/// The kind of mount to create. Valid values: `Bind`, `Volume`, `File`.
///
[Input("type", required: true)]
public Input Type { get; set; } = null!;
///
/// Name of the Docker volume, when `Type` is `Volume`.
///
[Input("volumeName")]
public Input? VolumeName { get; set; }
public MountArgs()
{
}
public static new MountArgs Empty => new MountArgs();
}
public sealed class MountState : global::Pulumi.ResourceArgs
{
///
/// Contents of the generated file, when `Type` is `File`.
///
[Input("content")]
public Input? Content { get; set; }
///
/// Path of the generated file, when `Type` is `File`.
///
[Input("filePath")]
public Input? FilePath { get; set; }
///
/// Path on the host, when `Type` is `Bind`.
///
[Input("hostPath")]
public Input? HostPath { get; set; }
///
/// Path inside the container where the mount appears.
///
[Input("mountPath")]
public Input? MountPath { get; set; }
///
/// ID of the service this mount attaches to. Must match `ServiceType` — an application ID, a compose ID, a postgres ID, and so on.
///
[Input("serviceId")]
public Input? ServiceId { get; set; }
///
/// The kind of service this mount attaches to. Valid values: `Application`, `Postgres`, `Mysql`, `Mariadb`, `Mongo`, `Redis`, `Compose`.
///
[Input("serviceType")]
public Input? ServiceType { get; set; }
///
/// The kind of mount to create. Valid values: `Bind`, `Volume`, `File`.
///
[Input("type")]
public Input? Type { get; set; }
///
/// Name of the Docker volume, when `Type` is `Volume`.
///
[Input("volumeName")]
public Input? VolumeName { get; set; }
public MountState()
{
}
public static new MountState Empty => new MountState();
}
}