/
getDatabaseUser.go
170 lines (147 loc) · 6.16 KB
/
getDatabaseUser.go
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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT.
// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! ***
package digitalocean
import (
"context"
"reflect"
"github.com/pulumi/pulumi-digitalocean/sdk/v4/go/digitalocean/internal"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
// Provides information on a DigitalOcean database user resource.
//
// ## Example Usage
//
// ```go
// package main
//
// import (
//
// "github.com/pulumi/pulumi-digitalocean/sdk/v4/go/digitalocean"
// "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
//
// )
//
// func main() {
// pulumi.Run(func(ctx *pulumi.Context) error {
// main, err := digitalocean.LookupDatabaseCluster(ctx, &digitalocean.LookupDatabaseClusterArgs{
// Name: "main-cluster",
// }, nil)
// if err != nil {
// return err
// }
// example, err := digitalocean.LookupDatabaseUser(ctx, &digitalocean.LookupDatabaseUserArgs{
// ClusterId: main.Id,
// Name: "example-user",
// }, nil)
// if err != nil {
// return err
// }
// ctx.Export("databaseUserPassword", example.Password)
// return nil
// })
// }
//
// ```
func LookupDatabaseUser(ctx *pulumi.Context, args *LookupDatabaseUserArgs, opts ...pulumi.InvokeOption) (*LookupDatabaseUserResult, error) {
opts = internal.PkgInvokeDefaultOpts(opts)
var rv LookupDatabaseUserResult
err := ctx.Invoke("digitalocean:index/getDatabaseUser:getDatabaseUser", args, &rv, opts...)
if err != nil {
return nil, err
}
return &rv, nil
}
// A collection of arguments for invoking getDatabaseUser.
type LookupDatabaseUserArgs struct {
// The ID of the database cluster.
ClusterId string `pulumi:"clusterId"`
// The name of the database user.
Name string `pulumi:"name"`
}
// A collection of values returned by getDatabaseUser.
type LookupDatabaseUserResult struct {
// Access certificate for TLS client authentication. (Kafka only)
AccessCert string `pulumi:"accessCert"`
// Access key for TLS client authentication. (Kafka only)
AccessKey string `pulumi:"accessKey"`
ClusterId string `pulumi:"clusterId"`
// The provider-assigned unique ID for this managed resource.
Id string `pulumi:"id"`
// The authentication method of the MySQL user. The value will be `mysqlNativePassword` or `cachingSha2Password`.
MysqlAuthPlugin string `pulumi:"mysqlAuthPlugin"`
Name string `pulumi:"name"`
// The password of the database user. This will not be set for MongoDB users.
Password string `pulumi:"password"`
// The role of the database user. The value will be either `primary` or `normal`.
Role string `pulumi:"role"`
Settings []GetDatabaseUserSetting `pulumi:"settings"`
}
func LookupDatabaseUserOutput(ctx *pulumi.Context, args LookupDatabaseUserOutputArgs, opts ...pulumi.InvokeOption) LookupDatabaseUserResultOutput {
return pulumi.ToOutputWithContext(context.Background(), args).
ApplyT(func(v interface{}) (LookupDatabaseUserResult, error) {
args := v.(LookupDatabaseUserArgs)
r, err := LookupDatabaseUser(ctx, &args, opts...)
var s LookupDatabaseUserResult
if r != nil {
s = *r
}
return s, err
}).(LookupDatabaseUserResultOutput)
}
// A collection of arguments for invoking getDatabaseUser.
type LookupDatabaseUserOutputArgs struct {
// The ID of the database cluster.
ClusterId pulumi.StringInput `pulumi:"clusterId"`
// The name of the database user.
Name pulumi.StringInput `pulumi:"name"`
}
func (LookupDatabaseUserOutputArgs) ElementType() reflect.Type {
return reflect.TypeOf((*LookupDatabaseUserArgs)(nil)).Elem()
}
// A collection of values returned by getDatabaseUser.
type LookupDatabaseUserResultOutput struct{ *pulumi.OutputState }
func (LookupDatabaseUserResultOutput) ElementType() reflect.Type {
return reflect.TypeOf((*LookupDatabaseUserResult)(nil)).Elem()
}
func (o LookupDatabaseUserResultOutput) ToLookupDatabaseUserResultOutput() LookupDatabaseUserResultOutput {
return o
}
func (o LookupDatabaseUserResultOutput) ToLookupDatabaseUserResultOutputWithContext(ctx context.Context) LookupDatabaseUserResultOutput {
return o
}
// Access certificate for TLS client authentication. (Kafka only)
func (o LookupDatabaseUserResultOutput) AccessCert() pulumi.StringOutput {
return o.ApplyT(func(v LookupDatabaseUserResult) string { return v.AccessCert }).(pulumi.StringOutput)
}
// Access key for TLS client authentication. (Kafka only)
func (o LookupDatabaseUserResultOutput) AccessKey() pulumi.StringOutput {
return o.ApplyT(func(v LookupDatabaseUserResult) string { return v.AccessKey }).(pulumi.StringOutput)
}
func (o LookupDatabaseUserResultOutput) ClusterId() pulumi.StringOutput {
return o.ApplyT(func(v LookupDatabaseUserResult) string { return v.ClusterId }).(pulumi.StringOutput)
}
// The provider-assigned unique ID for this managed resource.
func (o LookupDatabaseUserResultOutput) Id() pulumi.StringOutput {
return o.ApplyT(func(v LookupDatabaseUserResult) string { return v.Id }).(pulumi.StringOutput)
}
// The authentication method of the MySQL user. The value will be `mysqlNativePassword` or `cachingSha2Password`.
func (o LookupDatabaseUserResultOutput) MysqlAuthPlugin() pulumi.StringOutput {
return o.ApplyT(func(v LookupDatabaseUserResult) string { return v.MysqlAuthPlugin }).(pulumi.StringOutput)
}
func (o LookupDatabaseUserResultOutput) Name() pulumi.StringOutput {
return o.ApplyT(func(v LookupDatabaseUserResult) string { return v.Name }).(pulumi.StringOutput)
}
// The password of the database user. This will not be set for MongoDB users.
func (o LookupDatabaseUserResultOutput) Password() pulumi.StringOutput {
return o.ApplyT(func(v LookupDatabaseUserResult) string { return v.Password }).(pulumi.StringOutput)
}
// The role of the database user. The value will be either `primary` or `normal`.
func (o LookupDatabaseUserResultOutput) Role() pulumi.StringOutput {
return o.ApplyT(func(v LookupDatabaseUserResult) string { return v.Role }).(pulumi.StringOutput)
}
func (o LookupDatabaseUserResultOutput) Settings() GetDatabaseUserSettingArrayOutput {
return o.ApplyT(func(v LookupDatabaseUserResult) []GetDatabaseUserSetting { return v.Settings }).(GetDatabaseUserSettingArrayOutput)
}
func init() {
pulumi.RegisterOutputType(LookupDatabaseUserResultOutput{})
}