// *** 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 = "github://api.github.com/maxvojtkov/pulumi-dokploy", }; 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(); } }