@pulumi/juniper-mist 0.8.0 → 0.8.1

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,151 @@
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.NacPortal = void 0;
6
+ const pulumi = require("@pulumi/pulumi");
7
+ const utilities = require("../utilities");
8
+ /**
9
+ * This resource manages Org NAC Portals.
10
+ *
11
+ * NAC Portal configuration defines the authentication portal for network access control.
12
+ *
13
+ * ## Example Usage
14
+ *
15
+ * ```typescript
16
+ * import * as pulumi from "@pulumi/pulumi";
17
+ * import * as junipermist from "@pulumi/juniper-mist";
18
+ *
19
+ * const guestPortal = new junipermist.org.NacPortal("guest_portal", {
20
+ * orgId: terraformTest.id,
21
+ * name: "Guest Portal",
22
+ * type: "marvis_client",
23
+ * accessType: "wireless+wired",
24
+ * ssid: "Guest-Network",
25
+ * certExpireTime: 365,
26
+ * eapType: "wpa3",
27
+ * enableTelemetry: true,
28
+ * expiryNotificationTime: 30,
29
+ * notifyExpiry: true,
30
+ * tos: "By using this network, you agree to our terms of service and privacy policy.",
31
+ * additionalCacerts: [`-----BEGIN CERTIFICATE-----
32
+ * MIIC...certificate...content
33
+ * -----END CERTIFICATE-----`],
34
+ * additionalNacServerNames: [
35
+ * "nac1.example.com",
36
+ * "nac2.example.com",
37
+ * ],
38
+ * portal: {
39
+ * auth: "multi",
40
+ * expire: 43200,
41
+ * externalPortalUrl: "https://portal.example.com/external",
42
+ * forceReconnect: false,
43
+ * forward: true,
44
+ * forwardUrl: "https://example.com/portal/welcome",
45
+ * maxNumDevices: 10,
46
+ * privacy: true,
47
+ * },
48
+ * sso: {
49
+ * idpCert: `-----BEGIN CERTIFICATE-----
50
+ * MIIC...idp...cert
51
+ * -----END CERTIFICATE-----`,
52
+ * idpSignAlgo: "sha384",
53
+ * idpSsoUrl: "https://idp.example.com/saml/sso",
54
+ * issuer: "https://idp.example.com",
55
+ * nameidFormat: "urn:oasis:names:tc:SAML:2.0:nameid-format:persistent",
56
+ * useSsoRoleForCert: false,
57
+ * ssoRoleMatchings: [
58
+ * {
59
+ * match: "Administrator",
60
+ * assigned: "full-access",
61
+ * },
62
+ * {
63
+ * match: "Manager",
64
+ * assigned: "manager-access",
65
+ * },
66
+ * {
67
+ * match: "Employee",
68
+ * assigned: "employee-access",
69
+ * },
70
+ * {
71
+ * match: "Guest",
72
+ * assigned: "guest-access",
73
+ * },
74
+ * ],
75
+ * },
76
+ * });
77
+ * ```
78
+ */
79
+ class NacPortal extends pulumi.CustomResource {
80
+ /**
81
+ * Get an existing NacPortal resource's state with the given name, ID, and optional extra
82
+ * properties used to qualify the lookup.
83
+ *
84
+ * @param name The _unique_ name of the resulting resource.
85
+ * @param id The _unique_ provider ID of the resource to lookup.
86
+ * @param state Any extra arguments used during the lookup.
87
+ * @param opts Optional settings to control the behavior of the CustomResource.
88
+ */
89
+ static get(name, id, state, opts) {
90
+ return new NacPortal(name, state, { ...opts, id: id });
91
+ }
92
+ /**
93
+ * Returns true if the given object is an instance of NacPortal. This is designed to work even
94
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
95
+ */
96
+ static isInstance(obj) {
97
+ if (obj === undefined || obj === null) {
98
+ return false;
99
+ }
100
+ return obj['__pulumiType'] === NacPortal.__pulumiType;
101
+ }
102
+ constructor(name, argsOrState, opts) {
103
+ let resourceInputs = {};
104
+ opts = opts || {};
105
+ if (opts.id) {
106
+ const state = argsOrState;
107
+ resourceInputs["accessType"] = state?.accessType;
108
+ resourceInputs["additionalCacerts"] = state?.additionalCacerts;
109
+ resourceInputs["additionalNacServerNames"] = state?.additionalNacServerNames;
110
+ resourceInputs["certExpireTime"] = state?.certExpireTime;
111
+ resourceInputs["eapType"] = state?.eapType;
112
+ resourceInputs["enableTelemetry"] = state?.enableTelemetry;
113
+ resourceInputs["expiryNotificationTime"] = state?.expiryNotificationTime;
114
+ resourceInputs["name"] = state?.name;
115
+ resourceInputs["notifyExpiry"] = state?.notifyExpiry;
116
+ resourceInputs["orgId"] = state?.orgId;
117
+ resourceInputs["portal"] = state?.portal;
118
+ resourceInputs["ssid"] = state?.ssid;
119
+ resourceInputs["sso"] = state?.sso;
120
+ resourceInputs["tos"] = state?.tos;
121
+ resourceInputs["type"] = state?.type;
122
+ }
123
+ else {
124
+ const args = argsOrState;
125
+ if (args?.orgId === undefined && !opts.urn) {
126
+ throw new Error("Missing required property 'orgId'");
127
+ }
128
+ resourceInputs["accessType"] = args?.accessType;
129
+ resourceInputs["additionalCacerts"] = args?.additionalCacerts;
130
+ resourceInputs["additionalNacServerNames"] = args?.additionalNacServerNames;
131
+ resourceInputs["certExpireTime"] = args?.certExpireTime;
132
+ resourceInputs["eapType"] = args?.eapType;
133
+ resourceInputs["enableTelemetry"] = args?.enableTelemetry;
134
+ resourceInputs["expiryNotificationTime"] = args?.expiryNotificationTime;
135
+ resourceInputs["name"] = args?.name;
136
+ resourceInputs["notifyExpiry"] = args?.notifyExpiry;
137
+ resourceInputs["orgId"] = args?.orgId;
138
+ resourceInputs["portal"] = args?.portal;
139
+ resourceInputs["ssid"] = args?.ssid;
140
+ resourceInputs["sso"] = args?.sso;
141
+ resourceInputs["tos"] = args?.tos;
142
+ resourceInputs["type"] = args?.type;
143
+ }
144
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
145
+ super(NacPortal.__pulumiType, name, resourceInputs, opts);
146
+ }
147
+ }
148
+ exports.NacPortal = NacPortal;
149
+ /** @internal */
150
+ NacPortal.__pulumiType = 'junipermist:org/nacPortal:NacPortal';
151
+ //# sourceMappingURL=nacPortal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nacPortal.js","sourceRoot":"","sources":["../../org/nacPortal.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,66 @@
1
+ import * as pulumi from "@pulumi/pulumi";
2
+ /**
3
+ * This resource is used to upload a NAC Portal background image.
4
+ */
5
+ export declare class NacPortalImage extends pulumi.CustomResource {
6
+ /**
7
+ * Get an existing NacPortalImage resource's state with the given name, ID, and optional extra
8
+ * properties used to qualify the lookup.
9
+ *
10
+ * @param name The _unique_ name of the resulting resource.
11
+ * @param id The _unique_ provider ID of the resource to lookup.
12
+ * @param state Any extra arguments used during the lookup.
13
+ * @param opts Optional settings to control the behavior of the CustomResource.
14
+ */
15
+ static get(name: string, id: pulumi.Input<pulumi.ID>, state?: NacPortalImageState, opts?: pulumi.CustomResourceOptions): NacPortalImage;
16
+ /**
17
+ * Returns true if the given object is an instance of NacPortalImage. This is designed to work even
18
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
19
+ */
20
+ static isInstance(obj: any): obj is NacPortalImage;
21
+ /**
22
+ * path to the background image file. File must be a `jpeg`, `jpg` or `png` image`
23
+ */
24
+ readonly file: pulumi.Output<string>;
25
+ /**
26
+ * Org NAC Portal ID
27
+ */
28
+ readonly nacportalId: pulumi.Output<string>;
29
+ readonly orgId: pulumi.Output<string>;
30
+ /**
31
+ * Create a NacPortalImage resource with the given unique name, arguments, and options.
32
+ *
33
+ * @param name The _unique_ name of the resource.
34
+ * @param args The arguments to use to populate this resource's properties.
35
+ * @param opts A bag of options that control this resource's behavior.
36
+ */
37
+ constructor(name: string, args: NacPortalImageArgs, opts?: pulumi.CustomResourceOptions);
38
+ }
39
+ /**
40
+ * Input properties used for looking up and filtering NacPortalImage resources.
41
+ */
42
+ export interface NacPortalImageState {
43
+ /**
44
+ * path to the background image file. File must be a `jpeg`, `jpg` or `png` image`
45
+ */
46
+ file?: pulumi.Input<string>;
47
+ /**
48
+ * Org NAC Portal ID
49
+ */
50
+ nacportalId?: pulumi.Input<string>;
51
+ orgId?: pulumi.Input<string>;
52
+ }
53
+ /**
54
+ * The set of arguments for constructing a NacPortalImage resource.
55
+ */
56
+ export interface NacPortalImageArgs {
57
+ /**
58
+ * path to the background image file. File must be a `jpeg`, `jpg` or `png` image`
59
+ */
60
+ file: pulumi.Input<string>;
61
+ /**
62
+ * Org NAC Portal ID
63
+ */
64
+ nacportalId: pulumi.Input<string>;
65
+ orgId: pulumi.Input<string>;
66
+ }
@@ -0,0 +1,65 @@
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.NacPortalImage = void 0;
6
+ const pulumi = require("@pulumi/pulumi");
7
+ const utilities = require("../utilities");
8
+ /**
9
+ * This resource is used to upload a NAC Portal background image.
10
+ */
11
+ class NacPortalImage extends pulumi.CustomResource {
12
+ /**
13
+ * Get an existing NacPortalImage resource's state with the given name, ID, and optional extra
14
+ * properties used to qualify the lookup.
15
+ *
16
+ * @param name The _unique_ name of the resulting resource.
17
+ * @param id The _unique_ provider ID of the resource to lookup.
18
+ * @param state Any extra arguments used during the lookup.
19
+ * @param opts Optional settings to control the behavior of the CustomResource.
20
+ */
21
+ static get(name, id, state, opts) {
22
+ return new NacPortalImage(name, state, { ...opts, id: id });
23
+ }
24
+ /**
25
+ * Returns true if the given object is an instance of NacPortalImage. This is designed to work even
26
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
27
+ */
28
+ static isInstance(obj) {
29
+ if (obj === undefined || obj === null) {
30
+ return false;
31
+ }
32
+ return obj['__pulumiType'] === NacPortalImage.__pulumiType;
33
+ }
34
+ constructor(name, argsOrState, opts) {
35
+ let resourceInputs = {};
36
+ opts = opts || {};
37
+ if (opts.id) {
38
+ const state = argsOrState;
39
+ resourceInputs["file"] = state?.file;
40
+ resourceInputs["nacportalId"] = state?.nacportalId;
41
+ resourceInputs["orgId"] = state?.orgId;
42
+ }
43
+ else {
44
+ const args = argsOrState;
45
+ if (args?.file === undefined && !opts.urn) {
46
+ throw new Error("Missing required property 'file'");
47
+ }
48
+ if (args?.nacportalId === undefined && !opts.urn) {
49
+ throw new Error("Missing required property 'nacportalId'");
50
+ }
51
+ if (args?.orgId === undefined && !opts.urn) {
52
+ throw new Error("Missing required property 'orgId'");
53
+ }
54
+ resourceInputs["file"] = args?.file;
55
+ resourceInputs["nacportalId"] = args?.nacportalId;
56
+ resourceInputs["orgId"] = args?.orgId;
57
+ }
58
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
59
+ super(NacPortalImage.__pulumiType, name, resourceInputs, opts);
60
+ }
61
+ }
62
+ exports.NacPortalImage = NacPortalImage;
63
+ /** @internal */
64
+ NacPortalImage.__pulumiType = 'junipermist:org/nacPortalImage:NacPortalImage';
65
+ //# sourceMappingURL=nacPortalImage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nacPortalImage.js","sourceRoot":"","sources":["../../org/nacPortalImage.ts"],"names":[],"mappings":";AAAA,sEAAsE;AACtE,iFAAiF;;;AAEjF,yCAAyC;AACzC,0CAA0C;AAE1C;;GAEG;AACH,MAAa,cAAe,SAAQ,MAAM,CAAC,cAAc;IACrD;;;;;;;;OAQG;IACI,MAAM,CAAC,GAAG,CAAC,IAAY,EAAE,EAA2B,EAAE,KAA2B,EAAE,IAAmC;QACzH,OAAO,IAAI,cAAc,CAAC,IAAI,EAAO,KAAK,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IACrE,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,cAAc,CAAC,YAAY,CAAC;IAC/D,CAAC;IAoBD,YAAY,IAAY,EAAE,WAAsD,EAAE,IAAmC;QACjH,IAAI,cAAc,GAAkB,EAAE,CAAC;QACvC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QAClB,IAAI,IAAI,CAAC,EAAE,EAAE;YACT,MAAM,KAAK,GAAG,WAA8C,CAAC;YAC7D,cAAc,CAAC,MAAM,CAAC,GAAG,KAAK,EAAE,IAAI,CAAC;YACrC,cAAc,CAAC,aAAa,CAAC,GAAG,KAAK,EAAE,WAAW,CAAC;YACnD,cAAc,CAAC,OAAO,CAAC,GAAG,KAAK,EAAE,KAAK,CAAC;SAC1C;aAAM;YACH,MAAM,IAAI,GAAG,WAA6C,CAAC;YAC3D,IAAI,IAAI,EAAE,IAAI,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBACvC,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;aACvD;YACD,IAAI,IAAI,EAAE,WAAW,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBAC9C,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;aAC9D;YACD,IAAI,IAAI,EAAE,KAAK,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBACxC,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;aACxD;YACD,cAAc,CAAC,MAAM,CAAC,GAAG,IAAI,EAAE,IAAI,CAAC;YACpC,cAAc,CAAC,aAAa,CAAC,GAAG,IAAI,EAAE,WAAW,CAAC;YAClD,cAAc,CAAC,OAAO,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC;SACzC;QACD,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,CAAC,CAAC;QACnE,KAAK,CAAC,cAAc,CAAC,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;IACnE,CAAC;;AAvEL,wCAwEC;AA1DG,gBAAgB;AACO,2BAAY,GAAG,+CAA+C,CAAC"}
@@ -0,0 +1,136 @@
1
+ import * as pulumi from "@pulumi/pulumi";
2
+ /**
3
+ * This resource is used to customize the NAC Portal.
4
+ *
5
+ * The NAC Portal Template can be used to define:
6
+ *
7
+ * * The portal alignment, color scheme, and logo
8
+ *
9
+ * * , and whether to display the "Powered by Juniper Mist" footer.
10
+ *
11
+ * **Notes:**
12
+ *
13
+ * * There is no feedback from the API, so there is no possibility to validate the changes. The resource state is directly generated based on the resource plan. Deleting this resource will revert the NAC Portal Template to its default values. Once removed from state, it is possible to create a new one, which will replace the previous template.
14
+ *
15
+ * ## Example Usage
16
+ *
17
+ * ```typescript
18
+ * import * as pulumi from "@pulumi/pulumi";
19
+ * import * as junipermist from "@pulumi/juniper-mist";
20
+ *
21
+ * // Create a NAC Portal first
22
+ * const guestPortal = new junipermist.org.NacPortal("guest_portal", {
23
+ * orgId: terraformTest.id,
24
+ * name: "Guest Portal",
25
+ * type: "guest_portal",
26
+ * accessType: "wireless",
27
+ * ssid: "Guest-Network",
28
+ * });
29
+ * // Example 1: Basic NAC Portal Template with centered alignment
30
+ * const centeredTemplate = new junipermist.org.NacPortalTemplate("centered_template", {
31
+ * orgId: terraformTest.id,
32
+ * nacportalId: guestPortal.id,
33
+ * alignment: "center",
34
+ * color: "#1074bc",
35
+ * poweredBy: false,
36
+ * });
37
+ * // Example 2: NAC Portal Template with logo and left alignment
38
+ * const logoTemplate = new junipermist.org.NacPortalTemplate("logo_template", {
39
+ * orgId: terraformTest.id,
40
+ * nacportalId: guestPortal.id,
41
+ * alignment: "left",
42
+ * color: "#ff6600",
43
+ * logo: "logo.png",
44
+ * poweredBy: true,
45
+ * });
46
+ * ```
47
+ */
48
+ export declare class NacPortalTemplate extends pulumi.CustomResource {
49
+ /**
50
+ * Get an existing NacPortalTemplate resource's state with the given name, ID, and optional extra
51
+ * properties used to qualify the lookup.
52
+ *
53
+ * @param name The _unique_ name of the resulting resource.
54
+ * @param id The _unique_ provider ID of the resource to lookup.
55
+ * @param state Any extra arguments used during the lookup.
56
+ * @param opts Optional settings to control the behavior of the CustomResource.
57
+ */
58
+ static get(name: string, id: pulumi.Input<pulumi.ID>, state?: NacPortalTemplateState, opts?: pulumi.CustomResourceOptions): NacPortalTemplate;
59
+ /**
60
+ * Returns true if the given object is an instance of NacPortalTemplate. This is designed to work even
61
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
62
+ */
63
+ static isInstance(obj: any): obj is NacPortalTemplate;
64
+ /**
65
+ * defines alignment on portal. enum: `center`, `left`, `right`
66
+ */
67
+ readonly alignment: pulumi.Output<string>;
68
+ readonly color: pulumi.Output<string>;
69
+ /**
70
+ * path to the logo image file. File must be a `png` image less than 100kB and image dimension must be less 500px x 200px (width x height).
71
+ */
72
+ readonly logo: pulumi.Output<string | undefined>;
73
+ /**
74
+ * Org NAC Portal ID
75
+ */
76
+ readonly nacportalId: pulumi.Output<string>;
77
+ readonly orgId: pulumi.Output<string>;
78
+ /**
79
+ * Whether to hide "Powered by Juniper Mist" and email footers
80
+ */
81
+ readonly poweredBy: pulumi.Output<boolean>;
82
+ /**
83
+ * Create a NacPortalTemplate resource with the given unique name, arguments, and options.
84
+ *
85
+ * @param name The _unique_ name of the resource.
86
+ * @param args The arguments to use to populate this resource's properties.
87
+ * @param opts A bag of options that control this resource's behavior.
88
+ */
89
+ constructor(name: string, args: NacPortalTemplateArgs, opts?: pulumi.CustomResourceOptions);
90
+ }
91
+ /**
92
+ * Input properties used for looking up and filtering NacPortalTemplate resources.
93
+ */
94
+ export interface NacPortalTemplateState {
95
+ /**
96
+ * defines alignment on portal. enum: `center`, `left`, `right`
97
+ */
98
+ alignment?: pulumi.Input<string>;
99
+ color?: pulumi.Input<string>;
100
+ /**
101
+ * path to the logo image file. File must be a `png` image less than 100kB and image dimension must be less 500px x 200px (width x height).
102
+ */
103
+ logo?: pulumi.Input<string>;
104
+ /**
105
+ * Org NAC Portal ID
106
+ */
107
+ nacportalId?: pulumi.Input<string>;
108
+ orgId?: pulumi.Input<string>;
109
+ /**
110
+ * Whether to hide "Powered by Juniper Mist" and email footers
111
+ */
112
+ poweredBy?: pulumi.Input<boolean>;
113
+ }
114
+ /**
115
+ * The set of arguments for constructing a NacPortalTemplate resource.
116
+ */
117
+ export interface NacPortalTemplateArgs {
118
+ /**
119
+ * defines alignment on portal. enum: `center`, `left`, `right`
120
+ */
121
+ alignment?: pulumi.Input<string>;
122
+ color?: pulumi.Input<string>;
123
+ /**
124
+ * path to the logo image file. File must be a `png` image less than 100kB and image dimension must be less 500px x 200px (width x height).
125
+ */
126
+ logo?: pulumi.Input<string>;
127
+ /**
128
+ * Org NAC Portal ID
129
+ */
130
+ nacportalId: pulumi.Input<string>;
131
+ orgId: pulumi.Input<string>;
132
+ /**
133
+ * Whether to hide "Powered by Juniper Mist" and email footers
134
+ */
135
+ poweredBy?: pulumi.Input<boolean>;
136
+ }
@@ -0,0 +1,111 @@
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.NacPortalTemplate = void 0;
6
+ const pulumi = require("@pulumi/pulumi");
7
+ const utilities = require("../utilities");
8
+ /**
9
+ * This resource is used to customize the NAC Portal.
10
+ *
11
+ * The NAC Portal Template can be used to define:
12
+ *
13
+ * * The portal alignment, color scheme, and logo
14
+ *
15
+ * * , and whether to display the "Powered by Juniper Mist" footer.
16
+ *
17
+ * **Notes:**
18
+ *
19
+ * * There is no feedback from the API, so there is no possibility to validate the changes. The resource state is directly generated based on the resource plan. Deleting this resource will revert the NAC Portal Template to its default values. Once removed from state, it is possible to create a new one, which will replace the previous template.
20
+ *
21
+ * ## Example Usage
22
+ *
23
+ * ```typescript
24
+ * import * as pulumi from "@pulumi/pulumi";
25
+ * import * as junipermist from "@pulumi/juniper-mist";
26
+ *
27
+ * // Create a NAC Portal first
28
+ * const guestPortal = new junipermist.org.NacPortal("guest_portal", {
29
+ * orgId: terraformTest.id,
30
+ * name: "Guest Portal",
31
+ * type: "guest_portal",
32
+ * accessType: "wireless",
33
+ * ssid: "Guest-Network",
34
+ * });
35
+ * // Example 1: Basic NAC Portal Template with centered alignment
36
+ * const centeredTemplate = new junipermist.org.NacPortalTemplate("centered_template", {
37
+ * orgId: terraformTest.id,
38
+ * nacportalId: guestPortal.id,
39
+ * alignment: "center",
40
+ * color: "#1074bc",
41
+ * poweredBy: false,
42
+ * });
43
+ * // Example 2: NAC Portal Template with logo and left alignment
44
+ * const logoTemplate = new junipermist.org.NacPortalTemplate("logo_template", {
45
+ * orgId: terraformTest.id,
46
+ * nacportalId: guestPortal.id,
47
+ * alignment: "left",
48
+ * color: "#ff6600",
49
+ * logo: "logo.png",
50
+ * poweredBy: true,
51
+ * });
52
+ * ```
53
+ */
54
+ class NacPortalTemplate extends pulumi.CustomResource {
55
+ /**
56
+ * Get an existing NacPortalTemplate resource's state with the given name, ID, and optional extra
57
+ * properties used to qualify the lookup.
58
+ *
59
+ * @param name The _unique_ name of the resulting resource.
60
+ * @param id The _unique_ provider ID of the resource to lookup.
61
+ * @param state Any extra arguments used during the lookup.
62
+ * @param opts Optional settings to control the behavior of the CustomResource.
63
+ */
64
+ static get(name, id, state, opts) {
65
+ return new NacPortalTemplate(name, state, { ...opts, id: id });
66
+ }
67
+ /**
68
+ * Returns true if the given object is an instance of NacPortalTemplate. This is designed to work even
69
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
70
+ */
71
+ static isInstance(obj) {
72
+ if (obj === undefined || obj === null) {
73
+ return false;
74
+ }
75
+ return obj['__pulumiType'] === NacPortalTemplate.__pulumiType;
76
+ }
77
+ constructor(name, argsOrState, opts) {
78
+ let resourceInputs = {};
79
+ opts = opts || {};
80
+ if (opts.id) {
81
+ const state = argsOrState;
82
+ resourceInputs["alignment"] = state?.alignment;
83
+ resourceInputs["color"] = state?.color;
84
+ resourceInputs["logo"] = state?.logo;
85
+ resourceInputs["nacportalId"] = state?.nacportalId;
86
+ resourceInputs["orgId"] = state?.orgId;
87
+ resourceInputs["poweredBy"] = state?.poweredBy;
88
+ }
89
+ else {
90
+ const args = argsOrState;
91
+ if (args?.nacportalId === undefined && !opts.urn) {
92
+ throw new Error("Missing required property 'nacportalId'");
93
+ }
94
+ if (args?.orgId === undefined && !opts.urn) {
95
+ throw new Error("Missing required property 'orgId'");
96
+ }
97
+ resourceInputs["alignment"] = args?.alignment;
98
+ resourceInputs["color"] = args?.color;
99
+ resourceInputs["logo"] = args?.logo;
100
+ resourceInputs["nacportalId"] = args?.nacportalId;
101
+ resourceInputs["orgId"] = args?.orgId;
102
+ resourceInputs["poweredBy"] = args?.poweredBy;
103
+ }
104
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
105
+ super(NacPortalTemplate.__pulumiType, name, resourceInputs, opts);
106
+ }
107
+ }
108
+ exports.NacPortalTemplate = NacPortalTemplate;
109
+ /** @internal */
110
+ NacPortalTemplate.__pulumiType = 'junipermist:org/nacPortalTemplate:NacPortalTemplate';
111
+ //# sourceMappingURL=nacPortalTemplate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nacPortalTemplate.js","sourceRoot":"","sources":["../../org/nacPortalTemplate.ts"],"names":[],"mappings":";AAAA,sEAAsE;AACtE,iFAAiF;;;AAEjF,yCAAyC;AACzC,0CAA0C;AAE1C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AACH,MAAa,iBAAkB,SAAQ,MAAM,CAAC,cAAc;IACxD;;;;;;;;OAQG;IACI,MAAM,CAAC,GAAG,CAAC,IAAY,EAAE,EAA2B,EAAE,KAA8B,EAAE,IAAmC;QAC5H,OAAO,IAAI,iBAAiB,CAAC,IAAI,EAAO,KAAK,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IACxE,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,iBAAiB,CAAC,YAAY,CAAC;IAClE,CAAC;IA6BD,YAAY,IAAY,EAAE,WAA4D,EAAE,IAAmC;QACvH,IAAI,cAAc,GAAkB,EAAE,CAAC;QACvC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QAClB,IAAI,IAAI,CAAC,EAAE,EAAE;YACT,MAAM,KAAK,GAAG,WAAiD,CAAC;YAChE,cAAc,CAAC,WAAW,CAAC,GAAG,KAAK,EAAE,SAAS,CAAC;YAC/C,cAAc,CAAC,OAAO,CAAC,GAAG,KAAK,EAAE,KAAK,CAAC;YACvC,cAAc,CAAC,MAAM,CAAC,GAAG,KAAK,EAAE,IAAI,CAAC;YACrC,cAAc,CAAC,aAAa,CAAC,GAAG,KAAK,EAAE,WAAW,CAAC;YACnD,cAAc,CAAC,OAAO,CAAC,GAAG,KAAK,EAAE,KAAK,CAAC;YACvC,cAAc,CAAC,WAAW,CAAC,GAAG,KAAK,EAAE,SAAS,CAAC;SAClD;aAAM;YACH,MAAM,IAAI,GAAG,WAAgD,CAAC;YAC9D,IAAI,IAAI,EAAE,WAAW,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBAC9C,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;aAC9D;YACD,IAAI,IAAI,EAAE,KAAK,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBACxC,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;aACxD;YACD,cAAc,CAAC,WAAW,CAAC,GAAG,IAAI,EAAE,SAAS,CAAC;YAC9C,cAAc,CAAC,OAAO,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC;YACtC,cAAc,CAAC,MAAM,CAAC,GAAG,IAAI,EAAE,IAAI,CAAC;YACpC,cAAc,CAAC,aAAa,CAAC,GAAG,IAAI,EAAE,WAAW,CAAC;YAClD,cAAc,CAAC,OAAO,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC;YACtC,cAAc,CAAC,WAAW,CAAC,GAAG,IAAI,EAAE,SAAS,CAAC;SACjD;QACD,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,CAAC,CAAC;QACnE,KAAK,CAAC,iBAAiB,CAAC,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;IACtE,CAAC;;AAnFL,8CAoFC;AAtEG,gBAAgB;AACO,8BAAY,GAAG,qDAAqD,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pulumi/juniper-mist",
3
- "version": "0.8.0",
3
+ "version": "0.8.1",
4
4
  "description": "A Pulumi package for creating and managing Juniper Mist resources.",
5
5
  "keywords": [
6
6
  "pulumi",
@@ -25,7 +25,7 @@
25
25
  "pulumi": {
26
26
  "resource": true,
27
27
  "name": "junipermist",
28
- "version": "0.8.0",
28
+ "version": "0.8.1",
29
29
  "server": "github://api.github.com/pulumi/pulumi-junipermist"
30
30
  }
31
31
  }