-
Notifications
You must be signed in to change notification settings - Fork 7
/
provider.go
175 lines (148 loc) · 7.58 KB
/
provider.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
171
172
173
174
175
// 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 auth0
import (
"context"
"reflect"
"github.com/pulumi/pulumi-auth0/sdk/v2/go/auth0/internal"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/pulumi/pulumi/sdk/v3/go/pulumix"
)
// The provider type for the auth0 package. By default, resources use package-wide configuration
// settings, however an explicit `Provider` instance may be created and passed during resource
// construction to achieve fine-grained programmatic control over provider settings. See the
// [documentation](https://www.pulumi.com/docs/reference/programming-model/#providers) for more information.
type Provider struct {
pulumi.ProviderResourceState
// Your Auth0 [management api access
// token](https://auth0.com/docs/security/tokens/access-tokens/management-api-access-tokens). It can also be sourced from
// the `AUTH0_API_TOKEN` environment variable. It can be used instead of `client_id` + `client_secret`. If both are
// specified, `api_token` will be used over `client_id` + `client_secret` fields.
ApiToken pulumi.StringPtrOutput `pulumi:"apiToken"`
// Your Auth0 audience when using a custom domain. It can also be sourced from the `AUTH0_AUDIENCE` environment variable.
Audience pulumi.StringPtrOutput `pulumi:"audience"`
// Your Auth0 client ID. It can also be sourced from the `AUTH0_CLIENT_ID` environment variable.
ClientId pulumi.StringPtrOutput `pulumi:"clientId"`
// Your Auth0 client secret. It can also be sourced from the `AUTH0_CLIENT_SECRET` environment variable.
ClientSecret pulumi.StringPtrOutput `pulumi:"clientSecret"`
// Your Auth0 domain name. It can also be sourced from the `AUTH0_DOMAIN` environment variable.
Domain pulumi.StringPtrOutput `pulumi:"domain"`
}
// NewProvider registers a new resource with the given unique name, arguments, and options.
func NewProvider(ctx *pulumi.Context,
name string, args *ProviderArgs, opts ...pulumi.ResourceOption) (*Provider, error) {
if args == nil {
args = &ProviderArgs{}
}
if args.Debug == nil {
if d := internal.GetEnvOrDefault(nil, internal.ParseEnvBool, "AUTH0_DEBUG"); d != nil {
args.Debug = pulumi.BoolPtr(d.(bool))
}
}
opts = internal.PkgResourceDefaultOpts(opts)
var resource Provider
err := ctx.RegisterResource("pulumi:providers:auth0", name, args, &resource, opts...)
if err != nil {
return nil, err
}
return &resource, nil
}
type providerArgs struct {
// Your Auth0 [management api access
// token](https://auth0.com/docs/security/tokens/access-tokens/management-api-access-tokens). It can also be sourced from
// the `AUTH0_API_TOKEN` environment variable. It can be used instead of `client_id` + `client_secret`. If both are
// specified, `api_token` will be used over `client_id` + `client_secret` fields.
ApiToken *string `pulumi:"apiToken"`
// Your Auth0 audience when using a custom domain. It can also be sourced from the `AUTH0_AUDIENCE` environment variable.
Audience *string `pulumi:"audience"`
// Your Auth0 client ID. It can also be sourced from the `AUTH0_CLIENT_ID` environment variable.
ClientId *string `pulumi:"clientId"`
// Your Auth0 client secret. It can also be sourced from the `AUTH0_CLIENT_SECRET` environment variable.
ClientSecret *string `pulumi:"clientSecret"`
// Indicates whether to turn on debug mode.
Debug *bool `pulumi:"debug"`
// Your Auth0 domain name. It can also be sourced from the `AUTH0_DOMAIN` environment variable.
Domain *string `pulumi:"domain"`
}
// The set of arguments for constructing a Provider resource.
type ProviderArgs struct {
// Your Auth0 [management api access
// token](https://auth0.com/docs/security/tokens/access-tokens/management-api-access-tokens). It can also be sourced from
// the `AUTH0_API_TOKEN` environment variable. It can be used instead of `client_id` + `client_secret`. If both are
// specified, `api_token` will be used over `client_id` + `client_secret` fields.
ApiToken pulumi.StringPtrInput
// Your Auth0 audience when using a custom domain. It can also be sourced from the `AUTH0_AUDIENCE` environment variable.
Audience pulumi.StringPtrInput
// Your Auth0 client ID. It can also be sourced from the `AUTH0_CLIENT_ID` environment variable.
ClientId pulumi.StringPtrInput
// Your Auth0 client secret. It can also be sourced from the `AUTH0_CLIENT_SECRET` environment variable.
ClientSecret pulumi.StringPtrInput
// Indicates whether to turn on debug mode.
Debug pulumi.BoolPtrInput
// Your Auth0 domain name. It can also be sourced from the `AUTH0_DOMAIN` environment variable.
Domain pulumi.StringPtrInput
}
func (ProviderArgs) ElementType() reflect.Type {
return reflect.TypeOf((*providerArgs)(nil)).Elem()
}
type ProviderInput interface {
pulumi.Input
ToProviderOutput() ProviderOutput
ToProviderOutputWithContext(ctx context.Context) ProviderOutput
}
func (*Provider) ElementType() reflect.Type {
return reflect.TypeOf((**Provider)(nil)).Elem()
}
func (i *Provider) ToProviderOutput() ProviderOutput {
return i.ToProviderOutputWithContext(context.Background())
}
func (i *Provider) ToProviderOutputWithContext(ctx context.Context) ProviderOutput {
return pulumi.ToOutputWithContext(ctx, i).(ProviderOutput)
}
func (i *Provider) ToOutput(ctx context.Context) pulumix.Output[*Provider] {
return pulumix.Output[*Provider]{
OutputState: i.ToProviderOutputWithContext(ctx).OutputState,
}
}
type ProviderOutput struct{ *pulumi.OutputState }
func (ProviderOutput) ElementType() reflect.Type {
return reflect.TypeOf((**Provider)(nil)).Elem()
}
func (o ProviderOutput) ToProviderOutput() ProviderOutput {
return o
}
func (o ProviderOutput) ToProviderOutputWithContext(ctx context.Context) ProviderOutput {
return o
}
func (o ProviderOutput) ToOutput(ctx context.Context) pulumix.Output[*Provider] {
return pulumix.Output[*Provider]{
OutputState: o.OutputState,
}
}
// Your Auth0 [management api access
// token](https://auth0.com/docs/security/tokens/access-tokens/management-api-access-tokens). It can also be sourced from
// the `AUTH0_API_TOKEN` environment variable. It can be used instead of `client_id` + `client_secret`. If both are
// specified, `api_token` will be used over `client_id` + `client_secret` fields.
func (o ProviderOutput) ApiToken() pulumi.StringPtrOutput {
return o.ApplyT(func(v *Provider) pulumi.StringPtrOutput { return v.ApiToken }).(pulumi.StringPtrOutput)
}
// Your Auth0 audience when using a custom domain. It can also be sourced from the `AUTH0_AUDIENCE` environment variable.
func (o ProviderOutput) Audience() pulumi.StringPtrOutput {
return o.ApplyT(func(v *Provider) pulumi.StringPtrOutput { return v.Audience }).(pulumi.StringPtrOutput)
}
// Your Auth0 client ID. It can also be sourced from the `AUTH0_CLIENT_ID` environment variable.
func (o ProviderOutput) ClientId() pulumi.StringPtrOutput {
return o.ApplyT(func(v *Provider) pulumi.StringPtrOutput { return v.ClientId }).(pulumi.StringPtrOutput)
}
// Your Auth0 client secret. It can also be sourced from the `AUTH0_CLIENT_SECRET` environment variable.
func (o ProviderOutput) ClientSecret() pulumi.StringPtrOutput {
return o.ApplyT(func(v *Provider) pulumi.StringPtrOutput { return v.ClientSecret }).(pulumi.StringPtrOutput)
}
// Your Auth0 domain name. It can also be sourced from the `AUTH0_DOMAIN` environment variable.
func (o ProviderOutput) Domain() pulumi.StringPtrOutput {
return o.ApplyT(func(v *Provider) pulumi.StringPtrOutput { return v.Domain }).(pulumi.StringPtrOutput)
}
func init() {
pulumi.RegisterInputType(reflect.TypeOf((*ProviderInput)(nil)).Elem(), &Provider{})
pulumi.RegisterOutputType(ProviderOutput{})
}