// *** 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;
namespace Pulumi.DockerBuild.Inputs
{
public sealed class CacheToS3Args : global::Pulumi.ResourceArgs
{
///
/// Defaults to `$AWS_ACCESS_KEY_ID`.
///
[Input("accessKeyId")]
public Input? AccessKeyId { get; set; }
///
/// Prefix to prepend to blob filenames.
///
[Input("blobsPrefix")]
public Input? BlobsPrefix { get; set; }
///
/// Name of the S3 bucket.
///
[Input("bucket", required: true)]
public Input Bucket { get; set; } = null!;
///
/// Endpoint of the S3 bucket.
///
[Input("endpointUrl")]
public Input? EndpointUrl { get; set; }
///
/// Ignore errors caused by failed cache exports.
///
[Input("ignoreError")]
public Input? IgnoreError { get; set; }
///
/// Prefix to prepend on manifest filenames.
///
[Input("manifestsPrefix")]
public Input? ManifestsPrefix { get; set; }
///
/// The cache mode to use. Defaults to `min`.
///
[Input("mode")]
public Input? Mode { get; set; }
///
/// Name of the cache image.
///
[Input("name")]
public Input? Name { get; set; }
///
/// The geographic location of the bucket. Defaults to `$AWS_REGION`.
///
[Input("region", required: true)]
public Input Region { get; set; } = null!;
[Input("secretAccessKey")]
private Input? _secretAccessKey;
///
/// Defaults to `$AWS_SECRET_ACCESS_KEY`.
///
public Input? SecretAccessKey
{
get => _secretAccessKey;
set
{
var emptySecret = Output.CreateSecret(0);
_secretAccessKey = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1);
}
}
[Input("sessionToken")]
private Input? _sessionToken;
///
/// Defaults to `$AWS_SESSION_TOKEN`.
///
public Input? SessionToken
{
get => _sessionToken;
set
{
var emptySecret = Output.CreateSecret(0);
_sessionToken = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1);
}
}
///
/// Uses `bucket` in the URL instead of hostname when `true`.
///
[Input("usePathStyle")]
public Input? UsePathStyle { get; set; }
public CacheToS3Args()
{
AccessKeyId = Utilities.GetEnv("AWS_ACCESS_KEY_ID") ?? "";
IgnoreError = false;
Mode = Pulumi.DockerBuild.CacheMode.Min;
Region = Utilities.GetEnv("AWS_REGION") ?? "";
SecretAccessKey = Utilities.GetEnv("AWS_SECRET_ACCESS_KEY") ?? "";
SessionToken = Utilities.GetEnv("AWS_SESSION_TOKEN") ?? "";
}
public static new CacheToS3Args Empty => new CacheToS3Args();
}
}