Files
pulumi-dokploy/sdk/dotnet/MariaDb.cs
Max Vojtkov a44ebd4432
Some checks failed
build / build (push) Has been cancelled
release / plugin (push) Failing after 3m46s
release / sdks (push) Has been skipped
Resolve the plugin and SDKs from Gitea
PluginDownloadURL moves off github:// to a templated Gitea release URL.
Pulumi interpolates ${VERSION}, then appends
pulumi-resource-dokploy-v<version>-<os>-<arch>.tar.gz -- which is what
the GoReleaser archive template already produces. Schema, bridge
metadata and all four SDKs regenerated to carry it.

Releases publish to this instance's npm, PyPI, NuGet and Go registries
using the GITEA_TOKEN that Gitea injects, so no secrets need
configuring.

The Go SDK keeps its github.com module path, which is exactly why it
goes to Gitea's Go registry: pointing GOPROXY there is what makes that
path resolve at all. Verified locally by serving the module zip from a
file proxy and building a consumer against it -- note zip -D, without
which go get rejects the archive's directory entries.
2026-08-09 12:37:19 +03:00

746 lines
25 KiB
C#
Generated

// *** 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/mariaDb:MariaDb")]
public partial class MariaDb : global::Pulumi.CustomResource
{
/// <summary>
/// Unique Docker service name. Generated by Dokploy when omitted. Changing it forces a new database.
/// </summary>
[Output("appName")]
public Output<string> AppName { get; private set; } = null!;
/// <summary>
/// Current status reported by Dokploy: `Idle`, `Running`, `Done` or `Error`.
/// </summary>
[Output("applicationStatus")]
public Output<string> ApplicationStatus { get; private set; } = null!;
/// <summary>
/// Arguments appended to the container command.
/// </summary>
[Output("args")]
public Output<ImmutableArray<string>> Args { get; private set; } = null!;
/// <summary>
/// Override the container entrypoint command.
/// </summary>
[Output("command")]
public Output<string?> Command { get; private set; } = null!;
/// <summary>
/// Hard CPU limit, for example `1`.
/// </summary>
[Output("cpuLimit")]
public Output<string?> CpuLimit { get; private set; } = null!;
/// <summary>
/// Soft CPU reservation, for example `0.5`.
/// </summary>
[Output("cpuReservation")]
public Output<string?> CpuReservation { get; private set; } = null!;
/// <summary>
/// RFC 3339 timestamp of when the database was created.
/// </summary>
[Output("createdAt")]
public Output<string> CreatedAt { get; private set; } = null!;
/// <summary>
/// Name of the database to create.
/// </summary>
[Output("databaseName")]
public Output<string> DatabaseName { get; private set; } = null!;
/// <summary>
/// Password for the database user.
/// </summary>
[Output("databasePassword")]
public Output<string> DatabasePassword { get; private set; } = null!;
/// <summary>
/// Password for the MariaDB `Root` user.
/// </summary>
[Output("databaseRootPassword")]
public Output<string> DatabaseRootPassword { get; private set; } = null!;
/// <summary>
/// Database user to create.
/// </summary>
[Output("databaseUser")]
public Output<string> DatabaseUser { get; private set; } = null!;
/// <summary>
/// Free-form description.
/// </summary>
[Output("description")]
public Output<string?> Description { get; private set; } = null!;
/// <summary>
/// Detach the service from the shared `dokploy-network`.
/// </summary>
[Output("detachDokployNetwork")]
public Output<bool> DetachDokployNetwork { get; private set; } = null!;
/// <summary>
/// MariaDB image to run, for example `mariadb:11`.
/// </summary>
[Output("dockerImage")]
public Output<string> DockerImage { get; private set; } = null!;
/// <summary>
/// Docker Swarm endpoint specification, as a JSON object.
/// </summary>
[Output("endpointSpecSwarm")]
public Output<string?> EndpointSpecSwarm { get; private set; } = null!;
/// <summary>
/// Environment variables in `KEY=value` format, one per line.
/// </summary>
[Output("env")]
public Output<string?> Env { get; private set; } = null!;
/// <summary>
/// Environment this database belongs to.
/// </summary>
[Output("environmentId")]
public Output<string> EnvironmentId { get; private set; } = null!;
/// <summary>
/// Host port to expose the database on. Leave unset to keep the database reachable only from inside the Docker network.
/// </summary>
[Output("externalPort")]
public Output<int?> ExternalPort { get; private set; } = null!;
/// <summary>
/// Docker Swarm health check configuration, as a JSON object.
/// </summary>
[Output("healthCheckSwarm")]
public Output<string?> HealthCheckSwarm { get; private set; } = null!;
/// <summary>
/// Docker Swarm service labels, as a JSON object.
/// </summary>
[Output("labelsSwarm")]
public Output<string?> LabelsSwarm { get; private set; } = null!;
/// <summary>
/// Hard memory limit, for example `512m`.
/// </summary>
[Output("memoryLimit")]
public Output<string?> MemoryLimit { get; private set; } = null!;
/// <summary>
/// Soft memory reservation, for example `256m`.
/// </summary>
[Output("memoryReservation")]
public Output<string?> MemoryReservation { get; private set; } = null!;
/// <summary>
/// Docker Swarm service mode, as a JSON object.
/// </summary>
[Output("modeSwarm")]
public Output<string?> ModeSwarm { get; private set; } = null!;
/// <summary>
/// Display name of the database.
/// </summary>
[Output("name")]
public Output<string> Name { get; private set; } = null!;
/// <summary>
/// IDs of additional Docker networks to attach.
/// </summary>
[Output("networkIds")]
public Output<ImmutableArray<string>> NetworkIds { get; private set; } = null!;
/// <summary>
/// Docker Swarm network attachments, as a JSON array.
/// </summary>
[Output("networkSwarm")]
public Output<string?> NetworkSwarm { get; private set; } = null!;
/// <summary>
/// Docker Swarm placement constraints, as a JSON object.
/// </summary>
[Output("placementSwarm")]
public Output<string?> PlacementSwarm { get; private set; } = null!;
/// <summary>
/// Number of replicas to run.
/// </summary>
[Output("replicas")]
public Output<int> Replicas { get; private set; } = null!;
/// <summary>
/// Docker Swarm restart policy, as a JSON object.
/// </summary>
[Output("restartPolicySwarm")]
public Output<string?> RestartPolicySwarm { get; private set; } = null!;
/// <summary>
/// Docker Swarm rollback configuration, as a JSON object.
/// </summary>
[Output("rollbackConfigSwarm")]
public Output<string?> RollbackConfigSwarm { get; private set; } = null!;
/// <summary>
/// Remote server to deploy on. Omit to use the Dokploy host itself.
/// </summary>
[Output("serverId")]
public Output<string?> ServerId { get; private set; } = null!;
/// <summary>
/// Grace period in nanoseconds before a container is killed.
/// </summary>
[Output("stopGracePeriodSwarm")]
public Output<int?> StopGracePeriodSwarm { get; private set; } = null!;
/// <summary>
/// Docker Swarm ulimits, as a JSON object.
/// </summary>
[Output("ulimitsSwarm")]
public Output<string?> UlimitsSwarm { get; private set; } = null!;
/// <summary>
/// Docker Swarm rolling update configuration, as a JSON object.
/// </summary>
[Output("updateConfigSwarm")]
public Output<string?> UpdateConfigSwarm { get; private set; } = null!;
/// <summary>
/// Create a MariaDb resource with the given unique name, arguments, and options.
/// </summary>
///
/// <param name="name">The unique name of the resource</param>
/// <param name="args">The arguments used to populate this resource's properties</param>
/// <param name="options">A bag of options that control this resource's behavior</param>
public MariaDb(string name, MariaDbArgs args, CustomResourceOptions? options = null)
: base("dokploy:index/mariaDb:MariaDb", name, args ?? new MariaDbArgs(), MakeResourceOptions(options, ""))
{
}
private MariaDb(string name, Input<string> id, MariaDbState? state = null, CustomResourceOptions? options = null)
: base("dokploy:index/mariaDb:MariaDb", name, state, MakeResourceOptions(options, id))
{
}
private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input<string>? id)
{
var defaultOptions = new CustomResourceOptions
{
Version = Utilities.Version,
PluginDownloadURL = "https://gitea.coolify.vojtkov.dev/usr_unknown/pulumi-dokploy/releases/download/v${VERSION}",
AdditionalSecretOutputs =
{
"databasePassword",
"databaseRootPassword",
},
};
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;
}
/// <summary>
/// Get an existing MariaDb resource's state with the given name, ID, and optional extra
/// properties used to qualify the lookup.
/// </summary>
///
/// <param name="name">The unique name of the resulting resource.</param>
/// <param name="id">The unique provider ID of the resource to lookup.</param>
/// <param name="state">Any extra arguments used during the lookup.</param>
/// <param name="options">A bag of options that control this resource's behavior</param>
public static MariaDb Get(string name, Input<string> id, MariaDbState? state = null, CustomResourceOptions? options = null)
{
return new MariaDb(name, id, state, options);
}
}
public sealed class MariaDbArgs : global::Pulumi.ResourceArgs
{
/// <summary>
/// Unique Docker service name. Generated by Dokploy when omitted. Changing it forces a new database.
/// </summary>
[Input("appName")]
public Input<string>? AppName { get; set; }
[Input("args")]
private InputList<string>? _args;
/// <summary>
/// Arguments appended to the container command.
/// </summary>
public InputList<string> Args
{
get => _args ?? (_args = new InputList<string>());
set => _args = value;
}
/// <summary>
/// Override the container entrypoint command.
/// </summary>
[Input("command")]
public Input<string>? Command { get; set; }
/// <summary>
/// Hard CPU limit, for example `1`.
/// </summary>
[Input("cpuLimit")]
public Input<string>? CpuLimit { get; set; }
/// <summary>
/// Soft CPU reservation, for example `0.5`.
/// </summary>
[Input("cpuReservation")]
public Input<string>? CpuReservation { get; set; }
/// <summary>
/// Name of the database to create.
/// </summary>
[Input("databaseName", required: true)]
public Input<string> DatabaseName { get; set; } = null!;
[Input("databasePassword", required: true)]
private Input<string>? _databasePassword;
/// <summary>
/// Password for the database user.
/// </summary>
public Input<string>? DatabasePassword
{
get => _databasePassword;
set
{
var emptySecret = Output.CreateSecret(0);
_databasePassword = Output.Tuple<Input<string>?, int>(value, emptySecret).Apply(t => t.Item1);
}
}
[Input("databaseRootPassword", required: true)]
private Input<string>? _databaseRootPassword;
/// <summary>
/// Password for the MariaDB `Root` user.
/// </summary>
public Input<string>? DatabaseRootPassword
{
get => _databaseRootPassword;
set
{
var emptySecret = Output.CreateSecret(0);
_databaseRootPassword = Output.Tuple<Input<string>?, int>(value, emptySecret).Apply(t => t.Item1);
}
}
/// <summary>
/// Database user to create.
/// </summary>
[Input("databaseUser", required: true)]
public Input<string> DatabaseUser { get; set; } = null!;
/// <summary>
/// Free-form description.
/// </summary>
[Input("description")]
public Input<string>? Description { get; set; }
/// <summary>
/// Detach the service from the shared `dokploy-network`.
/// </summary>
[Input("detachDokployNetwork")]
public Input<bool>? DetachDokployNetwork { get; set; }
/// <summary>
/// MariaDB image to run, for example `mariadb:11`.
/// </summary>
[Input("dockerImage", required: true)]
public Input<string> DockerImage { get; set; } = null!;
/// <summary>
/// Docker Swarm endpoint specification, as a JSON object.
/// </summary>
[Input("endpointSpecSwarm")]
public Input<string>? EndpointSpecSwarm { get; set; }
/// <summary>
/// Environment variables in `KEY=value` format, one per line.
/// </summary>
[Input("env")]
public Input<string>? Env { get; set; }
/// <summary>
/// Environment this database belongs to.
/// </summary>
[Input("environmentId", required: true)]
public Input<string> EnvironmentId { get; set; } = null!;
/// <summary>
/// Host port to expose the database on. Leave unset to keep the database reachable only from inside the Docker network.
/// </summary>
[Input("externalPort")]
public Input<int>? ExternalPort { get; set; }
/// <summary>
/// Docker Swarm health check configuration, as a JSON object.
/// </summary>
[Input("healthCheckSwarm")]
public Input<string>? HealthCheckSwarm { get; set; }
/// <summary>
/// Docker Swarm service labels, as a JSON object.
/// </summary>
[Input("labelsSwarm")]
public Input<string>? LabelsSwarm { get; set; }
/// <summary>
/// Hard memory limit, for example `512m`.
/// </summary>
[Input("memoryLimit")]
public Input<string>? MemoryLimit { get; set; }
/// <summary>
/// Soft memory reservation, for example `256m`.
/// </summary>
[Input("memoryReservation")]
public Input<string>? MemoryReservation { get; set; }
/// <summary>
/// Docker Swarm service mode, as a JSON object.
/// </summary>
[Input("modeSwarm")]
public Input<string>? ModeSwarm { get; set; }
/// <summary>
/// Display name of the database.
/// </summary>
[Input("name")]
public Input<string>? Name { get; set; }
[Input("networkIds")]
private InputList<string>? _networkIds;
/// <summary>
/// IDs of additional Docker networks to attach.
/// </summary>
public InputList<string> NetworkIds
{
get => _networkIds ?? (_networkIds = new InputList<string>());
set => _networkIds = value;
}
/// <summary>
/// Docker Swarm network attachments, as a JSON array.
/// </summary>
[Input("networkSwarm")]
public Input<string>? NetworkSwarm { get; set; }
/// <summary>
/// Docker Swarm placement constraints, as a JSON object.
/// </summary>
[Input("placementSwarm")]
public Input<string>? PlacementSwarm { get; set; }
/// <summary>
/// Number of replicas to run.
/// </summary>
[Input("replicas")]
public Input<int>? Replicas { get; set; }
/// <summary>
/// Docker Swarm restart policy, as a JSON object.
/// </summary>
[Input("restartPolicySwarm")]
public Input<string>? RestartPolicySwarm { get; set; }
/// <summary>
/// Docker Swarm rollback configuration, as a JSON object.
/// </summary>
[Input("rollbackConfigSwarm")]
public Input<string>? RollbackConfigSwarm { get; set; }
/// <summary>
/// Remote server to deploy on. Omit to use the Dokploy host itself.
/// </summary>
[Input("serverId")]
public Input<string>? ServerId { get; set; }
/// <summary>
/// Grace period in nanoseconds before a container is killed.
/// </summary>
[Input("stopGracePeriodSwarm")]
public Input<int>? StopGracePeriodSwarm { get; set; }
/// <summary>
/// Docker Swarm ulimits, as a JSON object.
/// </summary>
[Input("ulimitsSwarm")]
public Input<string>? UlimitsSwarm { get; set; }
/// <summary>
/// Docker Swarm rolling update configuration, as a JSON object.
/// </summary>
[Input("updateConfigSwarm")]
public Input<string>? UpdateConfigSwarm { get; set; }
public MariaDbArgs()
{
}
public static new MariaDbArgs Empty => new MariaDbArgs();
}
public sealed class MariaDbState : global::Pulumi.ResourceArgs
{
/// <summary>
/// Unique Docker service name. Generated by Dokploy when omitted. Changing it forces a new database.
/// </summary>
[Input("appName")]
public Input<string>? AppName { get; set; }
/// <summary>
/// Current status reported by Dokploy: `Idle`, `Running`, `Done` or `Error`.
/// </summary>
[Input("applicationStatus")]
public Input<string>? ApplicationStatus { get; set; }
[Input("args")]
private InputList<string>? _args;
/// <summary>
/// Arguments appended to the container command.
/// </summary>
public InputList<string> Args
{
get => _args ?? (_args = new InputList<string>());
set => _args = value;
}
/// <summary>
/// Override the container entrypoint command.
/// </summary>
[Input("command")]
public Input<string>? Command { get; set; }
/// <summary>
/// Hard CPU limit, for example `1`.
/// </summary>
[Input("cpuLimit")]
public Input<string>? CpuLimit { get; set; }
/// <summary>
/// Soft CPU reservation, for example `0.5`.
/// </summary>
[Input("cpuReservation")]
public Input<string>? CpuReservation { get; set; }
/// <summary>
/// RFC 3339 timestamp of when the database was created.
/// </summary>
[Input("createdAt")]
public Input<string>? CreatedAt { get; set; }
/// <summary>
/// Name of the database to create.
/// </summary>
[Input("databaseName")]
public Input<string>? DatabaseName { get; set; }
[Input("databasePassword")]
private Input<string>? _databasePassword;
/// <summary>
/// Password for the database user.
/// </summary>
public Input<string>? DatabasePassword
{
get => _databasePassword;
set
{
var emptySecret = Output.CreateSecret(0);
_databasePassword = Output.Tuple<Input<string>?, int>(value, emptySecret).Apply(t => t.Item1);
}
}
[Input("databaseRootPassword")]
private Input<string>? _databaseRootPassword;
/// <summary>
/// Password for the MariaDB `Root` user.
/// </summary>
public Input<string>? DatabaseRootPassword
{
get => _databaseRootPassword;
set
{
var emptySecret = Output.CreateSecret(0);
_databaseRootPassword = Output.Tuple<Input<string>?, int>(value, emptySecret).Apply(t => t.Item1);
}
}
/// <summary>
/// Database user to create.
/// </summary>
[Input("databaseUser")]
public Input<string>? DatabaseUser { get; set; }
/// <summary>
/// Free-form description.
/// </summary>
[Input("description")]
public Input<string>? Description { get; set; }
/// <summary>
/// Detach the service from the shared `dokploy-network`.
/// </summary>
[Input("detachDokployNetwork")]
public Input<bool>? DetachDokployNetwork { get; set; }
/// <summary>
/// MariaDB image to run, for example `mariadb:11`.
/// </summary>
[Input("dockerImage")]
public Input<string>? DockerImage { get; set; }
/// <summary>
/// Docker Swarm endpoint specification, as a JSON object.
/// </summary>
[Input("endpointSpecSwarm")]
public Input<string>? EndpointSpecSwarm { get; set; }
/// <summary>
/// Environment variables in `KEY=value` format, one per line.
/// </summary>
[Input("env")]
public Input<string>? Env { get; set; }
/// <summary>
/// Environment this database belongs to.
/// </summary>
[Input("environmentId")]
public Input<string>? EnvironmentId { get; set; }
/// <summary>
/// Host port to expose the database on. Leave unset to keep the database reachable only from inside the Docker network.
/// </summary>
[Input("externalPort")]
public Input<int>? ExternalPort { get; set; }
/// <summary>
/// Docker Swarm health check configuration, as a JSON object.
/// </summary>
[Input("healthCheckSwarm")]
public Input<string>? HealthCheckSwarm { get; set; }
/// <summary>
/// Docker Swarm service labels, as a JSON object.
/// </summary>
[Input("labelsSwarm")]
public Input<string>? LabelsSwarm { get; set; }
/// <summary>
/// Hard memory limit, for example `512m`.
/// </summary>
[Input("memoryLimit")]
public Input<string>? MemoryLimit { get; set; }
/// <summary>
/// Soft memory reservation, for example `256m`.
/// </summary>
[Input("memoryReservation")]
public Input<string>? MemoryReservation { get; set; }
/// <summary>
/// Docker Swarm service mode, as a JSON object.
/// </summary>
[Input("modeSwarm")]
public Input<string>? ModeSwarm { get; set; }
/// <summary>
/// Display name of the database.
/// </summary>
[Input("name")]
public Input<string>? Name { get; set; }
[Input("networkIds")]
private InputList<string>? _networkIds;
/// <summary>
/// IDs of additional Docker networks to attach.
/// </summary>
public InputList<string> NetworkIds
{
get => _networkIds ?? (_networkIds = new InputList<string>());
set => _networkIds = value;
}
/// <summary>
/// Docker Swarm network attachments, as a JSON array.
/// </summary>
[Input("networkSwarm")]
public Input<string>? NetworkSwarm { get; set; }
/// <summary>
/// Docker Swarm placement constraints, as a JSON object.
/// </summary>
[Input("placementSwarm")]
public Input<string>? PlacementSwarm { get; set; }
/// <summary>
/// Number of replicas to run.
/// </summary>
[Input("replicas")]
public Input<int>? Replicas { get; set; }
/// <summary>
/// Docker Swarm restart policy, as a JSON object.
/// </summary>
[Input("restartPolicySwarm")]
public Input<string>? RestartPolicySwarm { get; set; }
/// <summary>
/// Docker Swarm rollback configuration, as a JSON object.
/// </summary>
[Input("rollbackConfigSwarm")]
public Input<string>? RollbackConfigSwarm { get; set; }
/// <summary>
/// Remote server to deploy on. Omit to use the Dokploy host itself.
/// </summary>
[Input("serverId")]
public Input<string>? ServerId { get; set; }
/// <summary>
/// Grace period in nanoseconds before a container is killed.
/// </summary>
[Input("stopGracePeriodSwarm")]
public Input<int>? StopGracePeriodSwarm { get; set; }
/// <summary>
/// Docker Swarm ulimits, as a JSON object.
/// </summary>
[Input("ulimitsSwarm")]
public Input<string>? UlimitsSwarm { get; set; }
/// <summary>
/// Docker Swarm rolling update configuration, as a JSON object.
/// </summary>
[Input("updateConfigSwarm")]
public Input<string>? UpdateConfigSwarm { get; set; }
public MariaDbState()
{
}
public static new MariaDbState Empty => new MariaDbState();
}
}