@pulumi/auth0 3.35.0-alpha.1766207726 → 3.35.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,155 @@
1
+ import * as pulumi from "@pulumi/pulumi";
2
+ import * as inputs from "./types/input";
3
+ import * as outputs from "./types/output";
4
+ /**
5
+ * Manages phone notification templates used for SMS and voice communications in Auth0.
6
+ *
7
+ * ## Example Usage
8
+ *
9
+ * ```typescript
10
+ * import * as pulumi from "@pulumi/pulumi";
11
+ * import * as auth0 from "@pulumi/auth0";
12
+ *
13
+ * // Phone Notification Template - OTP Enrollment
14
+ * // Configure the OTP enrollment phone notification template with SMS and voice support.
15
+ * const otpEnrollment = new auth0.BrandingPhoneNotificationTemplate("otp_enrollment", {
16
+ * type: "otp_enroll",
17
+ * disabled: false,
18
+ * content: {
19
+ * from: "+1234567890",
20
+ * body: {
21
+ * text: "Your enrollment code is: @{code}",
22
+ * voice: "Your enrollment code is @{code}",
23
+ * },
24
+ * },
25
+ * });
26
+ * // Phone Notification Template - OTP Verification
27
+ * // Configure the OTP verification phone notification template.
28
+ * const otpVerification = new auth0.BrandingPhoneNotificationTemplate("otp_verification", {
29
+ * type: "otp_verify",
30
+ * disabled: false,
31
+ * content: {
32
+ * from: "+1234567890",
33
+ * body: {
34
+ * text: "Your verification code is: @{code}",
35
+ * voice: "Your verification code is @{code}",
36
+ * },
37
+ * },
38
+ * });
39
+ * ```
40
+ *
41
+ * ## Import
42
+ *
43
+ * #!/bin/bash
44
+ *
45
+ * Example: Import an existing Auth0 phone notification template into Terraform state
46
+ *
47
+ * Replace TEMPLATE_ID with the actual template ID from your Auth0 tenant
48
+ *
49
+ * ```sh
50
+ * $ pulumi import auth0:index/brandingPhoneNotificationTemplate:BrandingPhoneNotificationTemplate otp_enrollment "tem_xxxxxxxxxxxxxxxxxxx"
51
+ * ```
52
+ */
53
+ export declare class BrandingPhoneNotificationTemplate extends pulumi.CustomResource {
54
+ /**
55
+ * Get an existing BrandingPhoneNotificationTemplate resource's state with the given name, ID, and optional extra
56
+ * properties used to qualify the lookup.
57
+ *
58
+ * @param name The _unique_ name of the resulting resource.
59
+ * @param id The _unique_ provider ID of the resource to lookup.
60
+ * @param state Any extra arguments used during the lookup.
61
+ * @param opts Optional settings to control the behavior of the CustomResource.
62
+ */
63
+ static get(name: string, id: pulumi.Input<pulumi.ID>, state?: BrandingPhoneNotificationTemplateState, opts?: pulumi.CustomResourceOptions): BrandingPhoneNotificationTemplate;
64
+ /**
65
+ * Returns true if the given object is an instance of BrandingPhoneNotificationTemplate. This is designed to work even
66
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
67
+ */
68
+ static isInstance(obj: any): obj is BrandingPhoneNotificationTemplate;
69
+ /**
70
+ * The channel of the phone notification template (e.g., `sms`, `voice`).
71
+ */
72
+ readonly channel: pulumi.Output<string>;
73
+ /**
74
+ * The content of the phone notification template.
75
+ */
76
+ readonly content: pulumi.Output<outputs.BrandingPhoneNotificationTemplateContent>;
77
+ /**
78
+ * Indicates whether the phone notification template is customizable.
79
+ */
80
+ readonly customizable: pulumi.Output<boolean>;
81
+ /**
82
+ * Indicates whether the phone notification template is disabled.
83
+ */
84
+ readonly disabled: pulumi.Output<boolean>;
85
+ /**
86
+ * The ID of the phone notification template.
87
+ */
88
+ readonly templateId: pulumi.Output<string>;
89
+ /**
90
+ * The tenant of the phone notification template.
91
+ */
92
+ readonly tenant: pulumi.Output<string>;
93
+ /**
94
+ * The type of the phone notification template.
95
+ */
96
+ readonly type: pulumi.Output<string>;
97
+ /**
98
+ * Create a BrandingPhoneNotificationTemplate resource with the given unique name, arguments, and options.
99
+ *
100
+ * @param name The _unique_ name of the resource.
101
+ * @param args The arguments to use to populate this resource's properties.
102
+ * @param opts A bag of options that control this resource's behavior.
103
+ */
104
+ constructor(name: string, args: BrandingPhoneNotificationTemplateArgs, opts?: pulumi.CustomResourceOptions);
105
+ }
106
+ /**
107
+ * Input properties used for looking up and filtering BrandingPhoneNotificationTemplate resources.
108
+ */
109
+ export interface BrandingPhoneNotificationTemplateState {
110
+ /**
111
+ * The channel of the phone notification template (e.g., `sms`, `voice`).
112
+ */
113
+ channel?: pulumi.Input<string>;
114
+ /**
115
+ * The content of the phone notification template.
116
+ */
117
+ content?: pulumi.Input<inputs.BrandingPhoneNotificationTemplateContent>;
118
+ /**
119
+ * Indicates whether the phone notification template is customizable.
120
+ */
121
+ customizable?: pulumi.Input<boolean>;
122
+ /**
123
+ * Indicates whether the phone notification template is disabled.
124
+ */
125
+ disabled?: pulumi.Input<boolean>;
126
+ /**
127
+ * The ID of the phone notification template.
128
+ */
129
+ templateId?: pulumi.Input<string>;
130
+ /**
131
+ * The tenant of the phone notification template.
132
+ */
133
+ tenant?: pulumi.Input<string>;
134
+ /**
135
+ * The type of the phone notification template.
136
+ */
137
+ type?: pulumi.Input<string>;
138
+ }
139
+ /**
140
+ * The set of arguments for constructing a BrandingPhoneNotificationTemplate resource.
141
+ */
142
+ export interface BrandingPhoneNotificationTemplateArgs {
143
+ /**
144
+ * The content of the phone notification template.
145
+ */
146
+ content?: pulumi.Input<inputs.BrandingPhoneNotificationTemplateContent>;
147
+ /**
148
+ * Indicates whether the phone notification template is disabled.
149
+ */
150
+ disabled?: pulumi.Input<boolean>;
151
+ /**
152
+ * The type of the phone notification template.
153
+ */
154
+ type: pulumi.Input<string>;
155
+ }
@@ -0,0 +1,113 @@
1
+ "use strict";
2
+ // *** WARNING: this file was generated by pulumi-language-nodejs. ***
3
+ // *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ exports.BrandingPhoneNotificationTemplate = void 0;
6
+ const pulumi = require("@pulumi/pulumi");
7
+ const utilities = require("./utilities");
8
+ /**
9
+ * Manages phone notification templates used for SMS and voice communications in Auth0.
10
+ *
11
+ * ## Example Usage
12
+ *
13
+ * ```typescript
14
+ * import * as pulumi from "@pulumi/pulumi";
15
+ * import * as auth0 from "@pulumi/auth0";
16
+ *
17
+ * // Phone Notification Template - OTP Enrollment
18
+ * // Configure the OTP enrollment phone notification template with SMS and voice support.
19
+ * const otpEnrollment = new auth0.BrandingPhoneNotificationTemplate("otp_enrollment", {
20
+ * type: "otp_enroll",
21
+ * disabled: false,
22
+ * content: {
23
+ * from: "+1234567890",
24
+ * body: {
25
+ * text: "Your enrollment code is: @{code}",
26
+ * voice: "Your enrollment code is @{code}",
27
+ * },
28
+ * },
29
+ * });
30
+ * // Phone Notification Template - OTP Verification
31
+ * // Configure the OTP verification phone notification template.
32
+ * const otpVerification = new auth0.BrandingPhoneNotificationTemplate("otp_verification", {
33
+ * type: "otp_verify",
34
+ * disabled: false,
35
+ * content: {
36
+ * from: "+1234567890",
37
+ * body: {
38
+ * text: "Your verification code is: @{code}",
39
+ * voice: "Your verification code is @{code}",
40
+ * },
41
+ * },
42
+ * });
43
+ * ```
44
+ *
45
+ * ## Import
46
+ *
47
+ * #!/bin/bash
48
+ *
49
+ * Example: Import an existing Auth0 phone notification template into Terraform state
50
+ *
51
+ * Replace TEMPLATE_ID with the actual template ID from your Auth0 tenant
52
+ *
53
+ * ```sh
54
+ * $ pulumi import auth0:index/brandingPhoneNotificationTemplate:BrandingPhoneNotificationTemplate otp_enrollment "tem_xxxxxxxxxxxxxxxxxxx"
55
+ * ```
56
+ */
57
+ class BrandingPhoneNotificationTemplate extends pulumi.CustomResource {
58
+ /**
59
+ * Get an existing BrandingPhoneNotificationTemplate resource's state with the given name, ID, and optional extra
60
+ * properties used to qualify the lookup.
61
+ *
62
+ * @param name The _unique_ name of the resulting resource.
63
+ * @param id The _unique_ provider ID of the resource to lookup.
64
+ * @param state Any extra arguments used during the lookup.
65
+ * @param opts Optional settings to control the behavior of the CustomResource.
66
+ */
67
+ static get(name, id, state, opts) {
68
+ return new BrandingPhoneNotificationTemplate(name, state, { ...opts, id: id });
69
+ }
70
+ /**
71
+ * Returns true if the given object is an instance of BrandingPhoneNotificationTemplate. This is designed to work even
72
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
73
+ */
74
+ static isInstance(obj) {
75
+ if (obj === undefined || obj === null) {
76
+ return false;
77
+ }
78
+ return obj['__pulumiType'] === BrandingPhoneNotificationTemplate.__pulumiType;
79
+ }
80
+ constructor(name, argsOrState, opts) {
81
+ let resourceInputs = {};
82
+ opts = opts || {};
83
+ if (opts.id) {
84
+ const state = argsOrState;
85
+ resourceInputs["channel"] = state?.channel;
86
+ resourceInputs["content"] = state?.content;
87
+ resourceInputs["customizable"] = state?.customizable;
88
+ resourceInputs["disabled"] = state?.disabled;
89
+ resourceInputs["templateId"] = state?.templateId;
90
+ resourceInputs["tenant"] = state?.tenant;
91
+ resourceInputs["type"] = state?.type;
92
+ }
93
+ else {
94
+ const args = argsOrState;
95
+ if (args?.type === undefined && !opts.urn) {
96
+ throw new Error("Missing required property 'type'");
97
+ }
98
+ resourceInputs["content"] = args?.content;
99
+ resourceInputs["disabled"] = args?.disabled;
100
+ resourceInputs["type"] = args?.type;
101
+ resourceInputs["channel"] = undefined /*out*/;
102
+ resourceInputs["customizable"] = undefined /*out*/;
103
+ resourceInputs["templateId"] = undefined /*out*/;
104
+ resourceInputs["tenant"] = undefined /*out*/;
105
+ }
106
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
107
+ super(BrandingPhoneNotificationTemplate.__pulumiType, name, resourceInputs, opts);
108
+ }
109
+ }
110
+ exports.BrandingPhoneNotificationTemplate = BrandingPhoneNotificationTemplate;
111
+ /** @internal */
112
+ BrandingPhoneNotificationTemplate.__pulumiType = 'auth0:index/brandingPhoneNotificationTemplate:BrandingPhoneNotificationTemplate';
113
+ //# sourceMappingURL=brandingPhoneNotificationTemplate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"brandingPhoneNotificationTemplate.js","sourceRoot":"","sources":["../brandingPhoneNotificationTemplate.ts"],"names":[],"mappings":";AAAA,sEAAsE;AACtE,iFAAiF;;;AAEjF,yCAAyC;AAGzC,yCAAyC;AAEzC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgDG;AACH,MAAa,iCAAkC,SAAQ,MAAM,CAAC,cAAc;IACxE;;;;;;;;OAQG;IACI,MAAM,CAAC,GAAG,CAAC,IAAY,EAAE,EAA2B,EAAE,KAA8C,EAAE,IAAmC;QAC5I,OAAO,IAAI,iCAAiC,CAAC,IAAI,EAAO,KAAK,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IACxF,CAAC;IAKD;;;OAGG;IACI,MAAM,CAAC,UAAU,CAAC,GAAQ;QAC7B,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI,EAAE;YACnC,OAAO,KAAK,CAAC;SAChB;QACD,OAAO,GAAG,CAAC,cAAc,CAAC,KAAK,iCAAiC,CAAC,YAAY,CAAC;IAClF,CAAC;IAuCD,YAAY,IAAY,EAAE,WAA4F,EAAE,IAAmC;QACvJ,IAAI,cAAc,GAAkB,EAAE,CAAC;QACvC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QAClB,IAAI,IAAI,CAAC,EAAE,EAAE;YACT,MAAM,KAAK,GAAG,WAAiE,CAAC;YAChF,cAAc,CAAC,SAAS,CAAC,GAAG,KAAK,EAAE,OAAO,CAAC;YAC3C,cAAc,CAAC,SAAS,CAAC,GAAG,KAAK,EAAE,OAAO,CAAC;YAC3C,cAAc,CAAC,cAAc,CAAC,GAAG,KAAK,EAAE,YAAY,CAAC;YACrD,cAAc,CAAC,UAAU,CAAC,GAAG,KAAK,EAAE,QAAQ,CAAC;YAC7C,cAAc,CAAC,YAAY,CAAC,GAAG,KAAK,EAAE,UAAU,CAAC;YACjD,cAAc,CAAC,QAAQ,CAAC,GAAG,KAAK,EAAE,MAAM,CAAC;YACzC,cAAc,CAAC,MAAM,CAAC,GAAG,KAAK,EAAE,IAAI,CAAC;SACxC;aAAM;YACH,MAAM,IAAI,GAAG,WAAgE,CAAC;YAC9E,IAAI,IAAI,EAAE,IAAI,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBACvC,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;aACvD;YACD,cAAc,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,OAAO,CAAC;YAC1C,cAAc,CAAC,UAAU,CAAC,GAAG,IAAI,EAAE,QAAQ,CAAC;YAC5C,cAAc,CAAC,MAAM,CAAC,GAAG,IAAI,EAAE,IAAI,CAAC;YACpC,cAAc,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;YAC9C,cAAc,CAAC,cAAc,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;YACnD,cAAc,CAAC,YAAY,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;YACjD,cAAc,CAAC,QAAQ,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;SAChD;QACD,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,CAAC,CAAC;QACnE,KAAK,CAAC,iCAAiC,CAAC,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;IACtF,CAAC;;AA5FL,8EA6FC;AA/EG,gBAAgB;AACO,8CAAY,GAAG,iFAAiF,CAAC"}
@@ -0,0 +1,183 @@
1
+ import * as pulumi from "@pulumi/pulumi";
2
+ import * as inputs from "./types/input";
3
+ import * as outputs from "./types/output";
4
+ /**
5
+ * With this resource, you can configure directory provisioning (directory sync) for `Google Workspace` Enterprise connections. This enables automatic user provisioning from the identity provider to Auth0.
6
+ *
7
+ * ## Example Usage
8
+ *
9
+ * ```typescript
10
+ * import * as pulumi from "@pulumi/pulumi";
11
+ * import * as auth0 from "@pulumi/auth0";
12
+ *
13
+ * const googleWorkspace = new auth0.Connection("google_workspace", {
14
+ * name: "google-workspace-connection",
15
+ * displayName: "Google Workspace",
16
+ * strategy: "google-apps",
17
+ * options: {
18
+ * clientId: "your-google-client-id",
19
+ * clientSecret: "your-google-client-secret",
20
+ * domain: "example.com",
21
+ * apiEnableUsers: true,
22
+ * },
23
+ * });
24
+ * // Configure directory provisioning with default settings
25
+ * const _default = new auth0.ConnectionDirectory("default", {connectionId: googleWorkspace.id});
26
+ * // Configure directory provisioning with custom mapping and auto-sync enabled
27
+ * const custom = new auth0.ConnectionDirectory("custom", {
28
+ * connectionId: googleWorkspace.id,
29
+ * synchronizeAutomatically: true,
30
+ * mappings: [
31
+ * {
32
+ * auth0: "email",
33
+ * idp: "primaryEmail",
34
+ * },
35
+ * {
36
+ * auth0: "family_name",
37
+ * idp: "name.familyName",
38
+ * },
39
+ * {
40
+ * auth0: "given_name",
41
+ * idp: "name.givenName",
42
+ * },
43
+ * {
44
+ * auth0: "external_id",
45
+ * idp: "id",
46
+ * },
47
+ * ],
48
+ * });
49
+ * ```
50
+ *
51
+ * ## Import
52
+ *
53
+ * ```sh
54
+ * $ pulumi import auth0:index/connectionDirectory:ConnectionDirectory custom "con_XXXXXXXXXXXXXX"
55
+ * ```
56
+ */
57
+ export declare class ConnectionDirectory extends pulumi.CustomResource {
58
+ /**
59
+ * Get an existing ConnectionDirectory resource's state with the given name, ID, and optional extra
60
+ * properties used to qualify the lookup.
61
+ *
62
+ * @param name The _unique_ name of the resulting resource.
63
+ * @param id The _unique_ provider ID of the resource to lookup.
64
+ * @param state Any extra arguments used during the lookup.
65
+ * @param opts Optional settings to control the behavior of the CustomResource.
66
+ */
67
+ static get(name: string, id: pulumi.Input<pulumi.ID>, state?: ConnectionDirectoryState, opts?: pulumi.CustomResourceOptions): ConnectionDirectory;
68
+ /**
69
+ * Returns true if the given object is an instance of ConnectionDirectory. This is designed to work even
70
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
71
+ */
72
+ static isInstance(obj: any): obj is ConnectionDirectory;
73
+ /**
74
+ * ID of the connection for this directory provisioning configuration.
75
+ */
76
+ readonly connectionId: pulumi.Output<string>;
77
+ /**
78
+ * Name of the connection for this directory provisioning configuration.
79
+ */
80
+ readonly connectionName: pulumi.Output<string>;
81
+ /**
82
+ * The timestamp at which the directory provisioning configuration was created.
83
+ */
84
+ readonly createdAt: pulumi.Output<string>;
85
+ /**
86
+ * The timestamp at which the connection was last synchronized.
87
+ */
88
+ readonly lastSynchronizationAt: pulumi.Output<string>;
89
+ /**
90
+ * The error message of the last synchronization, if any.
91
+ */
92
+ readonly lastSynchronizationError: pulumi.Output<string>;
93
+ /**
94
+ * The status of the last synchronization.
95
+ */
96
+ readonly lastSynchronizationStatus: pulumi.Output<string>;
97
+ /**
98
+ * Mapping between Auth0 attributes and IDP user attributes. Defaults to default mapping for the connection type if not specified.
99
+ */
100
+ readonly mappings: pulumi.Output<outputs.ConnectionDirectoryMapping[]>;
101
+ /**
102
+ * Strategy of the connection for this directory provisioning configuration.
103
+ */
104
+ readonly strategy: pulumi.Output<string>;
105
+ /**
106
+ * Whether periodic automatic synchronization is enabled. Defaults to false.
107
+ */
108
+ readonly synchronizeAutomatically: pulumi.Output<boolean>;
109
+ /**
110
+ * The timestamp at which the directory provisioning configuration was last updated.
111
+ */
112
+ readonly updatedAt: pulumi.Output<string>;
113
+ /**
114
+ * Create a ConnectionDirectory resource with the given unique name, arguments, and options.
115
+ *
116
+ * @param name The _unique_ name of the resource.
117
+ * @param args The arguments to use to populate this resource's properties.
118
+ * @param opts A bag of options that control this resource's behavior.
119
+ */
120
+ constructor(name: string, args: ConnectionDirectoryArgs, opts?: pulumi.CustomResourceOptions);
121
+ }
122
+ /**
123
+ * Input properties used for looking up and filtering ConnectionDirectory resources.
124
+ */
125
+ export interface ConnectionDirectoryState {
126
+ /**
127
+ * ID of the connection for this directory provisioning configuration.
128
+ */
129
+ connectionId?: pulumi.Input<string>;
130
+ /**
131
+ * Name of the connection for this directory provisioning configuration.
132
+ */
133
+ connectionName?: pulumi.Input<string>;
134
+ /**
135
+ * The timestamp at which the directory provisioning configuration was created.
136
+ */
137
+ createdAt?: pulumi.Input<string>;
138
+ /**
139
+ * The timestamp at which the connection was last synchronized.
140
+ */
141
+ lastSynchronizationAt?: pulumi.Input<string>;
142
+ /**
143
+ * The error message of the last synchronization, if any.
144
+ */
145
+ lastSynchronizationError?: pulumi.Input<string>;
146
+ /**
147
+ * The status of the last synchronization.
148
+ */
149
+ lastSynchronizationStatus?: pulumi.Input<string>;
150
+ /**
151
+ * Mapping between Auth0 attributes and IDP user attributes. Defaults to default mapping for the connection type if not specified.
152
+ */
153
+ mappings?: pulumi.Input<pulumi.Input<inputs.ConnectionDirectoryMapping>[]>;
154
+ /**
155
+ * Strategy of the connection for this directory provisioning configuration.
156
+ */
157
+ strategy?: pulumi.Input<string>;
158
+ /**
159
+ * Whether periodic automatic synchronization is enabled. Defaults to false.
160
+ */
161
+ synchronizeAutomatically?: pulumi.Input<boolean>;
162
+ /**
163
+ * The timestamp at which the directory provisioning configuration was last updated.
164
+ */
165
+ updatedAt?: pulumi.Input<string>;
166
+ }
167
+ /**
168
+ * The set of arguments for constructing a ConnectionDirectory resource.
169
+ */
170
+ export interface ConnectionDirectoryArgs {
171
+ /**
172
+ * ID of the connection for this directory provisioning configuration.
173
+ */
174
+ connectionId: pulumi.Input<string>;
175
+ /**
176
+ * Mapping between Auth0 attributes and IDP user attributes. Defaults to default mapping for the connection type if not specified.
177
+ */
178
+ mappings?: pulumi.Input<pulumi.Input<inputs.ConnectionDirectoryMapping>[]>;
179
+ /**
180
+ * Whether periodic automatic synchronization is enabled. Defaults to false.
181
+ */
182
+ synchronizeAutomatically?: pulumi.Input<boolean>;
183
+ }
@@ -0,0 +1,123 @@
1
+ "use strict";
2
+ // *** WARNING: this file was generated by pulumi-language-nodejs. ***
3
+ // *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ exports.ConnectionDirectory = void 0;
6
+ const pulumi = require("@pulumi/pulumi");
7
+ const utilities = require("./utilities");
8
+ /**
9
+ * With this resource, you can configure directory provisioning (directory sync) for `Google Workspace` Enterprise connections. This enables automatic user provisioning from the identity provider to Auth0.
10
+ *
11
+ * ## Example Usage
12
+ *
13
+ * ```typescript
14
+ * import * as pulumi from "@pulumi/pulumi";
15
+ * import * as auth0 from "@pulumi/auth0";
16
+ *
17
+ * const googleWorkspace = new auth0.Connection("google_workspace", {
18
+ * name: "google-workspace-connection",
19
+ * displayName: "Google Workspace",
20
+ * strategy: "google-apps",
21
+ * options: {
22
+ * clientId: "your-google-client-id",
23
+ * clientSecret: "your-google-client-secret",
24
+ * domain: "example.com",
25
+ * apiEnableUsers: true,
26
+ * },
27
+ * });
28
+ * // Configure directory provisioning with default settings
29
+ * const _default = new auth0.ConnectionDirectory("default", {connectionId: googleWorkspace.id});
30
+ * // Configure directory provisioning with custom mapping and auto-sync enabled
31
+ * const custom = new auth0.ConnectionDirectory("custom", {
32
+ * connectionId: googleWorkspace.id,
33
+ * synchronizeAutomatically: true,
34
+ * mappings: [
35
+ * {
36
+ * auth0: "email",
37
+ * idp: "primaryEmail",
38
+ * },
39
+ * {
40
+ * auth0: "family_name",
41
+ * idp: "name.familyName",
42
+ * },
43
+ * {
44
+ * auth0: "given_name",
45
+ * idp: "name.givenName",
46
+ * },
47
+ * {
48
+ * auth0: "external_id",
49
+ * idp: "id",
50
+ * },
51
+ * ],
52
+ * });
53
+ * ```
54
+ *
55
+ * ## Import
56
+ *
57
+ * ```sh
58
+ * $ pulumi import auth0:index/connectionDirectory:ConnectionDirectory custom "con_XXXXXXXXXXXXXX"
59
+ * ```
60
+ */
61
+ class ConnectionDirectory extends pulumi.CustomResource {
62
+ /**
63
+ * Get an existing ConnectionDirectory resource's state with the given name, ID, and optional extra
64
+ * properties used to qualify the lookup.
65
+ *
66
+ * @param name The _unique_ name of the resulting resource.
67
+ * @param id The _unique_ provider ID of the resource to lookup.
68
+ * @param state Any extra arguments used during the lookup.
69
+ * @param opts Optional settings to control the behavior of the CustomResource.
70
+ */
71
+ static get(name, id, state, opts) {
72
+ return new ConnectionDirectory(name, state, { ...opts, id: id });
73
+ }
74
+ /**
75
+ * Returns true if the given object is an instance of ConnectionDirectory. This is designed to work even
76
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
77
+ */
78
+ static isInstance(obj) {
79
+ if (obj === undefined || obj === null) {
80
+ return false;
81
+ }
82
+ return obj['__pulumiType'] === ConnectionDirectory.__pulumiType;
83
+ }
84
+ constructor(name, argsOrState, opts) {
85
+ let resourceInputs = {};
86
+ opts = opts || {};
87
+ if (opts.id) {
88
+ const state = argsOrState;
89
+ resourceInputs["connectionId"] = state?.connectionId;
90
+ resourceInputs["connectionName"] = state?.connectionName;
91
+ resourceInputs["createdAt"] = state?.createdAt;
92
+ resourceInputs["lastSynchronizationAt"] = state?.lastSynchronizationAt;
93
+ resourceInputs["lastSynchronizationError"] = state?.lastSynchronizationError;
94
+ resourceInputs["lastSynchronizationStatus"] = state?.lastSynchronizationStatus;
95
+ resourceInputs["mappings"] = state?.mappings;
96
+ resourceInputs["strategy"] = state?.strategy;
97
+ resourceInputs["synchronizeAutomatically"] = state?.synchronizeAutomatically;
98
+ resourceInputs["updatedAt"] = state?.updatedAt;
99
+ }
100
+ else {
101
+ const args = argsOrState;
102
+ if (args?.connectionId === undefined && !opts.urn) {
103
+ throw new Error("Missing required property 'connectionId'");
104
+ }
105
+ resourceInputs["connectionId"] = args?.connectionId;
106
+ resourceInputs["mappings"] = args?.mappings;
107
+ resourceInputs["synchronizeAutomatically"] = args?.synchronizeAutomatically;
108
+ resourceInputs["connectionName"] = undefined /*out*/;
109
+ resourceInputs["createdAt"] = undefined /*out*/;
110
+ resourceInputs["lastSynchronizationAt"] = undefined /*out*/;
111
+ resourceInputs["lastSynchronizationError"] = undefined /*out*/;
112
+ resourceInputs["lastSynchronizationStatus"] = undefined /*out*/;
113
+ resourceInputs["strategy"] = undefined /*out*/;
114
+ resourceInputs["updatedAt"] = undefined /*out*/;
115
+ }
116
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
117
+ super(ConnectionDirectory.__pulumiType, name, resourceInputs, opts);
118
+ }
119
+ }
120
+ exports.ConnectionDirectory = ConnectionDirectory;
121
+ /** @internal */
122
+ ConnectionDirectory.__pulumiType = 'auth0:index/connectionDirectory:ConnectionDirectory';
123
+ //# sourceMappingURL=connectionDirectory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connectionDirectory.js","sourceRoot":"","sources":["../connectionDirectory.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,95 @@
1
+ import * as pulumi from "@pulumi/pulumi";
2
+ import * as outputs from "./types/output";
3
+ /**
4
+ * Data source to retrieve a specific Auth0 Phone Notification Template by `templateId`.
5
+ *
6
+ * ## Example Usage
7
+ *
8
+ * ```typescript
9
+ * import * as pulumi from "@pulumi/pulumi";
10
+ * import * as auth0 from "@pulumi/auth0";
11
+ *
12
+ * // Data Source Example: Retrieve Auth0 Phone Notification Templates
13
+ * // This example shows how to fetch existing phone notification templates from your Auth0 tenant
14
+ * // Retrieve the OTP enrollment template
15
+ * const otpEnrollment = auth0.getBrandingPhoneNotificationTemplate({
16
+ * templateId: "tem_xxxxxxxxxxxxxxxxx",
17
+ * });
18
+ * export const otpEnrollmentId = otpEnrollment.then(otpEnrollment => otpEnrollment.id);
19
+ * ```
20
+ */
21
+ export declare function getBrandingPhoneNotificationTemplate(args: GetBrandingPhoneNotificationTemplateArgs, opts?: pulumi.InvokeOptions): Promise<GetBrandingPhoneNotificationTemplateResult>;
22
+ /**
23
+ * A collection of arguments for invoking getBrandingPhoneNotificationTemplate.
24
+ */
25
+ export interface GetBrandingPhoneNotificationTemplateArgs {
26
+ /**
27
+ * The ID of the Phone Notification Template.
28
+ */
29
+ templateId: string;
30
+ }
31
+ /**
32
+ * A collection of values returned by getBrandingPhoneNotificationTemplate.
33
+ */
34
+ export interface GetBrandingPhoneNotificationTemplateResult {
35
+ /**
36
+ * The channel of the phone notification template (e.g., `sms`, `voice`).
37
+ */
38
+ readonly channel: string;
39
+ /**
40
+ * The content of the phone notification template.
41
+ */
42
+ readonly contents: outputs.GetBrandingPhoneNotificationTemplateContent[];
43
+ /**
44
+ * Indicates whether the phone notification template is customizable.
45
+ */
46
+ readonly customizable: boolean;
47
+ /**
48
+ * Indicates whether the phone notification template is disabled.
49
+ */
50
+ readonly disabled: boolean;
51
+ /**
52
+ * The provider-assigned unique ID for this managed resource.
53
+ */
54
+ readonly id: string;
55
+ /**
56
+ * The ID of the Phone Notification Template.
57
+ */
58
+ readonly templateId: string;
59
+ /**
60
+ * The tenant of the phone notification template.
61
+ */
62
+ readonly tenant: string;
63
+ /**
64
+ * The type of the phone notification template.
65
+ */
66
+ readonly type: string;
67
+ }
68
+ /**
69
+ * Data source to retrieve a specific Auth0 Phone Notification Template by `templateId`.
70
+ *
71
+ * ## Example Usage
72
+ *
73
+ * ```typescript
74
+ * import * as pulumi from "@pulumi/pulumi";
75
+ * import * as auth0 from "@pulumi/auth0";
76
+ *
77
+ * // Data Source Example: Retrieve Auth0 Phone Notification Templates
78
+ * // This example shows how to fetch existing phone notification templates from your Auth0 tenant
79
+ * // Retrieve the OTP enrollment template
80
+ * const otpEnrollment = auth0.getBrandingPhoneNotificationTemplate({
81
+ * templateId: "tem_xxxxxxxxxxxxxxxxx",
82
+ * });
83
+ * export const otpEnrollmentId = otpEnrollment.then(otpEnrollment => otpEnrollment.id);
84
+ * ```
85
+ */
86
+ export declare function getBrandingPhoneNotificationTemplateOutput(args: GetBrandingPhoneNotificationTemplateOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetBrandingPhoneNotificationTemplateResult>;
87
+ /**
88
+ * A collection of arguments for invoking getBrandingPhoneNotificationTemplate.
89
+ */
90
+ export interface GetBrandingPhoneNotificationTemplateOutputArgs {
91
+ /**
92
+ * The ID of the Phone Notification Template.
93
+ */
94
+ templateId: pulumi.Input<string>;
95
+ }