1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
//! 
//! 
//! ## Import
//! 
//! #!/bin/bash
//! 
//! Docker secret cannot be imported as the secret data, once set, is never exposed again.
//! 

#[derive(bon::Builder)]
#[builder(finish_fn = build_struct)]
pub struct SecretArgs {
    /// Base64-url-safe-encoded secret data
    #[builder(into)]
    pub data: pulumi_wasm_rust::Output<String>,
    /// User-defined key/value metadata
    #[builder(into, default = ::pulumi_wasm_rust::Output::empty())]
    pub labels: pulumi_wasm_rust::Output<Option<Vec<crate::types::SecretLabel>>>,
    /// User-defined name of the secret
    #[builder(into, default = ::pulumi_wasm_rust::Output::empty())]
    pub name: pulumi_wasm_rust::Output<Option<String>>,
}

pub struct SecretResult {
    /// Base64-url-safe-encoded secret data
    pub data: pulumi_wasm_rust::Output<String>,
    /// User-defined key/value metadata
    pub labels: pulumi_wasm_rust::Output<Option<Vec<crate::types::SecretLabel>>>,
    /// User-defined name of the secret
    pub name: pulumi_wasm_rust::Output<String>,
}

///
/// Registers a new resource with the given unique name and arguments
///
pub fn create(name: &str, args: SecretArgs) -> SecretResult {

    let result = crate::bindings::pulumi::docker::secret::invoke(name, &crate::bindings::pulumi::docker::secret::Args {
        data: &args.data.get_inner(),
        labels: &args.labels.get_inner(),
        name: &args.name.get_inner(),
    });

    SecretResult {
        data: crate::into_domain(result.data),
        labels: crate::into_domain(result.labels),
        name: crate::into_domain(result.name),
    }
}