@pulumi/okta 5.3.0-alpha.1759905974 → 6.0.0-alpha.1759958808

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.
Files changed (99) hide show
  1. package/campaign.d.ts +179 -0
  2. package/campaign.js +87 -0
  3. package/campaign.js.map +1 -0
  4. package/endUserMyRequests.d.ts +77 -0
  5. package/endUserMyRequests.js +63 -0
  6. package/endUserMyRequests.js.map +1 -0
  7. package/entitlement.d.ts +155 -0
  8. package/entitlement.js +92 -0
  9. package/entitlement.js.map +1 -0
  10. package/entitlementBundle.d.ts +128 -0
  11. package/entitlementBundle.js +77 -0
  12. package/entitlementBundle.js.map +1 -0
  13. package/getCampaign.d.ts +91 -0
  14. package/getCampaign.js +68 -0
  15. package/getCampaign.js.map +1 -0
  16. package/getCatalogEntryDefault.d.ts +86 -0
  17. package/getCatalogEntryDefault.js +50 -0
  18. package/getCatalogEntryDefault.js.map +1 -0
  19. package/getCatalogEntryUserAccessRequestFields.d.ts +30 -0
  20. package/getCatalogEntryUserAccessRequestFields.js +26 -0
  21. package/getCatalogEntryUserAccessRequestFields.js.map +1 -0
  22. package/getEndUserMyRequests.d.ts +183 -0
  23. package/getEndUserMyRequests.js +134 -0
  24. package/getEndUserMyRequests.js.map +1 -0
  25. package/getEntitlement.d.ts +71 -0
  26. package/getEntitlement.js +54 -0
  27. package/getEntitlement.js.map +1 -0
  28. package/getEntitlementBundle.d.ts +116 -0
  29. package/getEntitlementBundle.js +54 -0
  30. package/getEntitlementBundle.js.map +1 -0
  31. package/getPrincipalEntitlements.d.ts +63 -0
  32. package/getPrincipalEntitlements.js +34 -0
  33. package/getPrincipalEntitlements.js.map +1 -0
  34. package/getPrincipalRateLimits.d.ts +91 -0
  35. package/getPrincipalRateLimits.js +50 -0
  36. package/getPrincipalRateLimits.js.map +1 -0
  37. package/getRateLimitAdminNotificationSettings.d.ts +40 -0
  38. package/getRateLimitAdminNotificationSettings.js +42 -0
  39. package/getRateLimitAdminNotificationSettings.js.map +1 -0
  40. package/getRateLimitWarningThresholdPercentage.d.ts +40 -0
  41. package/getRateLimitWarningThresholdPercentage.js +42 -0
  42. package/getRateLimitWarningThresholdPercentage.js.map +1 -0
  43. package/getRequestCondition.d.ts +108 -0
  44. package/getRequestCondition.js +58 -0
  45. package/getRequestCondition.js.map +1 -0
  46. package/getRequestSequence.d.ts +88 -0
  47. package/getRequestSequence.js +54 -0
  48. package/getRequestSequence.js.map +1 -0
  49. package/getRequestSettingOrganization.d.ts +51 -0
  50. package/getRequestSettingOrganization.js +48 -0
  51. package/getRequestSettingOrganization.js.map +1 -0
  52. package/getRequestSettingResource.d.ts +98 -0
  53. package/getRequestSettingResource.js +38 -0
  54. package/getRequestSettingResource.js.map +1 -0
  55. package/getRequestV2.d.ts +37 -0
  56. package/getRequestV2.js +28 -0
  57. package/getRequestV2.js.map +1 -0
  58. package/getReview.d.ts +154 -0
  59. package/getReview.js +84 -0
  60. package/getReview.js.map +1 -0
  61. package/index.d.ts +87 -0
  62. package/index.js +117 -3
  63. package/index.js.map +1 -1
  64. package/package.json +3 -3
  65. package/principalRateLimits.d.ts +124 -0
  66. package/principalRateLimits.js +71 -0
  67. package/principalRateLimits.js.map +1 -0
  68. package/rateLimitAdminNotificationSettings.d.ts +66 -0
  69. package/rateLimitAdminNotificationSettings.js +70 -0
  70. package/rateLimitAdminNotificationSettings.js.map +1 -0
  71. package/rateLimitWarningThresholdPercentage.d.ts +65 -0
  72. package/rateLimitWarningThresholdPercentage.js +69 -0
  73. package/rateLimitWarningThresholdPercentage.js.map +1 -0
  74. package/rateLimiting.d.ts +11 -43
  75. package/rateLimiting.js +6 -24
  76. package/rateLimiting.js.map +1 -1
  77. package/realm.d.ts +3 -3
  78. package/realm.js +0 -3
  79. package/realm.js.map +1 -1
  80. package/requestCondition.d.ts +165 -0
  81. package/requestCondition.js +88 -0
  82. package/requestCondition.js.map +1 -0
  83. package/requestSequence.d.ts +113 -0
  84. package/requestSequence.js +86 -0
  85. package/requestSequence.js.map +1 -0
  86. package/requestSettingOrganization.d.ts +69 -0
  87. package/requestSettingOrganization.js +63 -0
  88. package/requestSettingOrganization.js.map +1 -0
  89. package/requestSettingResource.d.ts +83 -0
  90. package/requestSettingResource.js +65 -0
  91. package/requestSettingResource.js.map +1 -0
  92. package/requestV2.d.ts +170 -0
  93. package/requestV2.js +77 -0
  94. package/requestV2.js.map +1 -0
  95. package/review.d.ts +172 -0
  96. package/review.js +109 -0
  97. package/review.js.map +1 -0
  98. package/types/input.d.ts +2156 -147
  99. package/types/output.d.ts +1263 -2
package/campaign.d.ts ADDED
@@ -0,0 +1,179 @@
1
+ import * as pulumi from "@pulumi/pulumi";
2
+ import * as inputs from "./types/input";
3
+ import * as outputs from "./types/output";
4
+ /**
5
+ * Manages Campaign. This resource allows you to create and configure an Okta [Campaign](https://developer.okta.com/docs/api/iga/openapi/governance.api/tag/Campaigns/).
6
+ *
7
+ * ## Example Usage
8
+ *
9
+ * ```typescript
10
+ * import * as pulumi from "@pulumi/pulumi";
11
+ * import * as okta from "@pulumi/okta";
12
+ *
13
+ * const example = new okta.Campaign("example", {name: "example"});
14
+ * ```
15
+ *
16
+ * ## Import
17
+ *
18
+ * ```sh
19
+ * $ pulumi import okta:index/campaign:Campaign example <campaign_id>
20
+ * ```
21
+ */
22
+ export declare class Campaign extends pulumi.CustomResource {
23
+ /**
24
+ * Get an existing Campaign resource's state with the given name, ID, and optional extra
25
+ * properties used to qualify the lookup.
26
+ *
27
+ * @param name The _unique_ name of the resulting resource.
28
+ * @param id The _unique_ provider ID of the resource to lookup.
29
+ * @param state Any extra arguments used during the lookup.
30
+ * @param opts Optional settings to control the behavior of the CustomResource.
31
+ */
32
+ static get(name: string, id: pulumi.Input<pulumi.ID>, state?: CampaignState, opts?: pulumi.CustomResourceOptions): Campaign;
33
+ /**
34
+ * Returns true if the given object is an instance of Campaign. This is designed to work even
35
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
36
+ */
37
+ static isInstance(obj: any): obj is Campaign;
38
+ /**
39
+ * Indicates the minimum required SKU to manage the campaign. Enum: "BASIC", "PREMIUM".
40
+ */
41
+ readonly campaignTier: pulumi.Output<string | undefined>;
42
+ /**
43
+ * Identifies if it is a resource campaign or a user campaign. By default, it is "RESOURCE". Enum: "RESOURCE", "USER".
44
+ */
45
+ readonly campaignType: pulumi.Output<string>;
46
+ /**
47
+ * Human readable description.
48
+ */
49
+ readonly description: pulumi.Output<string | undefined>;
50
+ /**
51
+ * Name of the campaign
52
+ */
53
+ readonly name: pulumi.Output<string>;
54
+ readonly notificationSettings: pulumi.Output<outputs.CampaignNotificationSettings | undefined>;
55
+ /**
56
+ * User scope specific settings
57
+ */
58
+ readonly principalScopeSettings: pulumi.Output<outputs.CampaignPrincipalScopeSettings | undefined>;
59
+ /**
60
+ * Specify the action to be taken after a reviewer makes a decision to APPROVE or REVOKE the access, or if the campaign was CLOSED and there was no response from the reviewer.
61
+ */
62
+ readonly remediationSettings: pulumi.Output<outputs.CampaignRemediationSettings | undefined>;
63
+ /**
64
+ * Resource specific properties.
65
+ */
66
+ readonly resourceSettings: pulumi.Output<outputs.CampaignResourceSettings | undefined>;
67
+ /**
68
+ * Identifies the kind of reviewer for Access Certification.
69
+ */
70
+ readonly reviewerSettings: pulumi.Output<outputs.CampaignReviewerSettings | undefined>;
71
+ /**
72
+ * Scheduler specific settings.
73
+ */
74
+ readonly scheduleSettings: pulumi.Output<outputs.CampaignScheduleSettings | undefined>;
75
+ /**
76
+ * If true, skip remediation when ending the campaign (only applicable if remediationSetting.noResponse=DENY).
77
+ */
78
+ readonly skipRemediation: pulumi.Output<boolean | undefined>;
79
+ /**
80
+ * Create a Campaign resource with the given unique name, arguments, and options.
81
+ *
82
+ * @param name The _unique_ name of the resource.
83
+ * @param args The arguments to use to populate this resource's properties.
84
+ * @param opts A bag of options that control this resource's behavior.
85
+ */
86
+ constructor(name: string, args?: CampaignArgs, opts?: pulumi.CustomResourceOptions);
87
+ }
88
+ /**
89
+ * Input properties used for looking up and filtering Campaign resources.
90
+ */
91
+ export interface CampaignState {
92
+ /**
93
+ * Indicates the minimum required SKU to manage the campaign. Enum: "BASIC", "PREMIUM".
94
+ */
95
+ campaignTier?: pulumi.Input<string>;
96
+ /**
97
+ * Identifies if it is a resource campaign or a user campaign. By default, it is "RESOURCE". Enum: "RESOURCE", "USER".
98
+ */
99
+ campaignType?: pulumi.Input<string>;
100
+ /**
101
+ * Human readable description.
102
+ */
103
+ description?: pulumi.Input<string>;
104
+ /**
105
+ * Name of the campaign
106
+ */
107
+ name?: pulumi.Input<string>;
108
+ notificationSettings?: pulumi.Input<inputs.CampaignNotificationSettings>;
109
+ /**
110
+ * User scope specific settings
111
+ */
112
+ principalScopeSettings?: pulumi.Input<inputs.CampaignPrincipalScopeSettings>;
113
+ /**
114
+ * Specify the action to be taken after a reviewer makes a decision to APPROVE or REVOKE the access, or if the campaign was CLOSED and there was no response from the reviewer.
115
+ */
116
+ remediationSettings?: pulumi.Input<inputs.CampaignRemediationSettings>;
117
+ /**
118
+ * Resource specific properties.
119
+ */
120
+ resourceSettings?: pulumi.Input<inputs.CampaignResourceSettings>;
121
+ /**
122
+ * Identifies the kind of reviewer for Access Certification.
123
+ */
124
+ reviewerSettings?: pulumi.Input<inputs.CampaignReviewerSettings>;
125
+ /**
126
+ * Scheduler specific settings.
127
+ */
128
+ scheduleSettings?: pulumi.Input<inputs.CampaignScheduleSettings>;
129
+ /**
130
+ * If true, skip remediation when ending the campaign (only applicable if remediationSetting.noResponse=DENY).
131
+ */
132
+ skipRemediation?: pulumi.Input<boolean>;
133
+ }
134
+ /**
135
+ * The set of arguments for constructing a Campaign resource.
136
+ */
137
+ export interface CampaignArgs {
138
+ /**
139
+ * Indicates the minimum required SKU to manage the campaign. Enum: "BASIC", "PREMIUM".
140
+ */
141
+ campaignTier?: pulumi.Input<string>;
142
+ /**
143
+ * Identifies if it is a resource campaign or a user campaign. By default, it is "RESOURCE". Enum: "RESOURCE", "USER".
144
+ */
145
+ campaignType?: pulumi.Input<string>;
146
+ /**
147
+ * Human readable description.
148
+ */
149
+ description?: pulumi.Input<string>;
150
+ /**
151
+ * Name of the campaign
152
+ */
153
+ name?: pulumi.Input<string>;
154
+ notificationSettings?: pulumi.Input<inputs.CampaignNotificationSettings>;
155
+ /**
156
+ * User scope specific settings
157
+ */
158
+ principalScopeSettings?: pulumi.Input<inputs.CampaignPrincipalScopeSettings>;
159
+ /**
160
+ * Specify the action to be taken after a reviewer makes a decision to APPROVE or REVOKE the access, or if the campaign was CLOSED and there was no response from the reviewer.
161
+ */
162
+ remediationSettings?: pulumi.Input<inputs.CampaignRemediationSettings>;
163
+ /**
164
+ * Resource specific properties.
165
+ */
166
+ resourceSettings?: pulumi.Input<inputs.CampaignResourceSettings>;
167
+ /**
168
+ * Identifies the kind of reviewer for Access Certification.
169
+ */
170
+ reviewerSettings?: pulumi.Input<inputs.CampaignReviewerSettings>;
171
+ /**
172
+ * Scheduler specific settings.
173
+ */
174
+ scheduleSettings?: pulumi.Input<inputs.CampaignScheduleSettings>;
175
+ /**
176
+ * If true, skip remediation when ending the campaign (only applicable if remediationSetting.noResponse=DENY).
177
+ */
178
+ skipRemediation?: pulumi.Input<boolean>;
179
+ }
package/campaign.js ADDED
@@ -0,0 +1,87 @@
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.Campaign = void 0;
6
+ const pulumi = require("@pulumi/pulumi");
7
+ const utilities = require("./utilities");
8
+ /**
9
+ * Manages Campaign. This resource allows you to create and configure an Okta [Campaign](https://developer.okta.com/docs/api/iga/openapi/governance.api/tag/Campaigns/).
10
+ *
11
+ * ## Example Usage
12
+ *
13
+ * ```typescript
14
+ * import * as pulumi from "@pulumi/pulumi";
15
+ * import * as okta from "@pulumi/okta";
16
+ *
17
+ * const example = new okta.Campaign("example", {name: "example"});
18
+ * ```
19
+ *
20
+ * ## Import
21
+ *
22
+ * ```sh
23
+ * $ pulumi import okta:index/campaign:Campaign example <campaign_id>
24
+ * ```
25
+ */
26
+ class Campaign extends pulumi.CustomResource {
27
+ /**
28
+ * Get an existing Campaign resource's state with the given name, ID, and optional extra
29
+ * properties used to qualify the lookup.
30
+ *
31
+ * @param name The _unique_ name of the resulting resource.
32
+ * @param id The _unique_ provider ID of the resource to lookup.
33
+ * @param state Any extra arguments used during the lookup.
34
+ * @param opts Optional settings to control the behavior of the CustomResource.
35
+ */
36
+ static get(name, id, state, opts) {
37
+ return new Campaign(name, state, { ...opts, id: id });
38
+ }
39
+ /**
40
+ * Returns true if the given object is an instance of Campaign. This is designed to work even
41
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
42
+ */
43
+ static isInstance(obj) {
44
+ if (obj === undefined || obj === null) {
45
+ return false;
46
+ }
47
+ return obj['__pulumiType'] === Campaign.__pulumiType;
48
+ }
49
+ constructor(name, argsOrState, opts) {
50
+ let resourceInputs = {};
51
+ opts = opts || {};
52
+ if (opts.id) {
53
+ const state = argsOrState;
54
+ resourceInputs["campaignTier"] = state?.campaignTier;
55
+ resourceInputs["campaignType"] = state?.campaignType;
56
+ resourceInputs["description"] = state?.description;
57
+ resourceInputs["name"] = state?.name;
58
+ resourceInputs["notificationSettings"] = state?.notificationSettings;
59
+ resourceInputs["principalScopeSettings"] = state?.principalScopeSettings;
60
+ resourceInputs["remediationSettings"] = state?.remediationSettings;
61
+ resourceInputs["resourceSettings"] = state?.resourceSettings;
62
+ resourceInputs["reviewerSettings"] = state?.reviewerSettings;
63
+ resourceInputs["scheduleSettings"] = state?.scheduleSettings;
64
+ resourceInputs["skipRemediation"] = state?.skipRemediation;
65
+ }
66
+ else {
67
+ const args = argsOrState;
68
+ resourceInputs["campaignTier"] = args?.campaignTier;
69
+ resourceInputs["campaignType"] = args?.campaignType;
70
+ resourceInputs["description"] = args?.description;
71
+ resourceInputs["name"] = args?.name;
72
+ resourceInputs["notificationSettings"] = args?.notificationSettings;
73
+ resourceInputs["principalScopeSettings"] = args?.principalScopeSettings;
74
+ resourceInputs["remediationSettings"] = args?.remediationSettings;
75
+ resourceInputs["resourceSettings"] = args?.resourceSettings;
76
+ resourceInputs["reviewerSettings"] = args?.reviewerSettings;
77
+ resourceInputs["scheduleSettings"] = args?.scheduleSettings;
78
+ resourceInputs["skipRemediation"] = args?.skipRemediation;
79
+ }
80
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
81
+ super(Campaign.__pulumiType, name, resourceInputs, opts);
82
+ }
83
+ }
84
+ exports.Campaign = Campaign;
85
+ /** @internal */
86
+ Campaign.__pulumiType = 'okta:index/campaign:Campaign';
87
+ //# sourceMappingURL=campaign.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"campaign.js","sourceRoot":"","sources":["../campaign.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,77 @@
1
+ import * as pulumi from "@pulumi/pulumi";
2
+ import * as inputs from "./types/input";
3
+ import * as outputs from "./types/output";
4
+ /**
5
+ * ## Import
6
+ *
7
+ * ```sh
8
+ * $ pulumi import okta:index/endUserMyRequests:EndUserMyRequests example <request_id/entry_id>
9
+ * ```
10
+ */
11
+ export declare class EndUserMyRequests extends pulumi.CustomResource {
12
+ /**
13
+ * Get an existing EndUserMyRequests 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: string, id: pulumi.Input<pulumi.ID>, state?: EndUserMyRequestsState, opts?: pulumi.CustomResourceOptions): EndUserMyRequests;
22
+ /**
23
+ * Returns true if the given object is an instance of EndUserMyRequests. This is designed to work even
24
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
25
+ */
26
+ static isInstance(obj: any): obj is EndUserMyRequests;
27
+ /**
28
+ * The ID of the catalog entry for which the request is being made.
29
+ */
30
+ readonly entryId: pulumi.Output<string>;
31
+ /**
32
+ * The requester input fields required by the approval system. Note: The fields required are determined by the approval system.
33
+ */
34
+ readonly requesterFieldValues: pulumi.Output<outputs.EndUserMyRequestsRequesterFieldValue[] | undefined>;
35
+ /**
36
+ * The status of the request. Possible values include: `APPROVED`, `CANCELED`, `DENIED`, `EXPIRED`, `PENDING`, `REJECTED`, `SUBMITTED`
37
+ */
38
+ readonly status: pulumi.Output<string>;
39
+ /**
40
+ * Create a EndUserMyRequests resource with the given unique name, arguments, and options.
41
+ *
42
+ * @param name The _unique_ name of the resource.
43
+ * @param args The arguments to use to populate this resource's properties.
44
+ * @param opts A bag of options that control this resource's behavior.
45
+ */
46
+ constructor(name: string, args: EndUserMyRequestsArgs, opts?: pulumi.CustomResourceOptions);
47
+ }
48
+ /**
49
+ * Input properties used for looking up and filtering EndUserMyRequests resources.
50
+ */
51
+ export interface EndUserMyRequestsState {
52
+ /**
53
+ * The ID of the catalog entry for which the request is being made.
54
+ */
55
+ entryId?: pulumi.Input<string>;
56
+ /**
57
+ * The requester input fields required by the approval system. Note: The fields required are determined by the approval system.
58
+ */
59
+ requesterFieldValues?: pulumi.Input<pulumi.Input<inputs.EndUserMyRequestsRequesterFieldValue>[]>;
60
+ /**
61
+ * The status of the request. Possible values include: `APPROVED`, `CANCELED`, `DENIED`, `EXPIRED`, `PENDING`, `REJECTED`, `SUBMITTED`
62
+ */
63
+ status?: pulumi.Input<string>;
64
+ }
65
+ /**
66
+ * The set of arguments for constructing a EndUserMyRequests resource.
67
+ */
68
+ export interface EndUserMyRequestsArgs {
69
+ /**
70
+ * The ID of the catalog entry for which the request is being made.
71
+ */
72
+ entryId: pulumi.Input<string>;
73
+ /**
74
+ * The requester input fields required by the approval system. Note: The fields required are determined by the approval system.
75
+ */
76
+ requesterFieldValues?: pulumi.Input<pulumi.Input<inputs.EndUserMyRequestsRequesterFieldValue>[]>;
77
+ }
@@ -0,0 +1,63 @@
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.EndUserMyRequests = void 0;
6
+ const pulumi = require("@pulumi/pulumi");
7
+ const utilities = require("./utilities");
8
+ /**
9
+ * ## Import
10
+ *
11
+ * ```sh
12
+ * $ pulumi import okta:index/endUserMyRequests:EndUserMyRequests example <request_id/entry_id>
13
+ * ```
14
+ */
15
+ class EndUserMyRequests extends pulumi.CustomResource {
16
+ /**
17
+ * Get an existing EndUserMyRequests resource's state with the given name, ID, and optional extra
18
+ * properties used to qualify the lookup.
19
+ *
20
+ * @param name The _unique_ name of the resulting resource.
21
+ * @param id The _unique_ provider ID of the resource to lookup.
22
+ * @param state Any extra arguments used during the lookup.
23
+ * @param opts Optional settings to control the behavior of the CustomResource.
24
+ */
25
+ static get(name, id, state, opts) {
26
+ return new EndUserMyRequests(name, state, { ...opts, id: id });
27
+ }
28
+ /**
29
+ * Returns true if the given object is an instance of EndUserMyRequests. This is designed to work even
30
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
31
+ */
32
+ static isInstance(obj) {
33
+ if (obj === undefined || obj === null) {
34
+ return false;
35
+ }
36
+ return obj['__pulumiType'] === EndUserMyRequests.__pulumiType;
37
+ }
38
+ constructor(name, argsOrState, opts) {
39
+ let resourceInputs = {};
40
+ opts = opts || {};
41
+ if (opts.id) {
42
+ const state = argsOrState;
43
+ resourceInputs["entryId"] = state?.entryId;
44
+ resourceInputs["requesterFieldValues"] = state?.requesterFieldValues;
45
+ resourceInputs["status"] = state?.status;
46
+ }
47
+ else {
48
+ const args = argsOrState;
49
+ if (args?.entryId === undefined && !opts.urn) {
50
+ throw new Error("Missing required property 'entryId'");
51
+ }
52
+ resourceInputs["entryId"] = args?.entryId;
53
+ resourceInputs["requesterFieldValues"] = args?.requesterFieldValues;
54
+ resourceInputs["status"] = undefined /*out*/;
55
+ }
56
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
57
+ super(EndUserMyRequests.__pulumiType, name, resourceInputs, opts);
58
+ }
59
+ }
60
+ exports.EndUserMyRequests = EndUserMyRequests;
61
+ /** @internal */
62
+ EndUserMyRequests.__pulumiType = 'okta:index/endUserMyRequests:EndUserMyRequests';
63
+ //# sourceMappingURL=endUserMyRequests.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"endUserMyRequests.js","sourceRoot":"","sources":["../endUserMyRequests.ts"],"names":[],"mappings":";AAAA,sEAAsE;AACtE,iFAAiF;;;AAEjF,yCAAyC;AAGzC,yCAAyC;AAEzC;;;;;;GAMG;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;IAuBD,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,SAAS,CAAC,GAAG,KAAK,EAAE,OAAO,CAAC;YAC3C,cAAc,CAAC,sBAAsB,CAAC,GAAG,KAAK,EAAE,oBAAoB,CAAC;YACrE,cAAc,CAAC,QAAQ,CAAC,GAAG,KAAK,EAAE,MAAM,CAAC;SAC5C;aAAM;YACH,MAAM,IAAI,GAAG,WAAgD,CAAC;YAC9D,IAAI,IAAI,EAAE,OAAO,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBAC1C,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;aAC1D;YACD,cAAc,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,OAAO,CAAC;YAC1C,cAAc,CAAC,sBAAsB,CAAC,GAAG,IAAI,EAAE,oBAAoB,CAAC;YACpE,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,iBAAiB,CAAC,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;IACtE,CAAC;;AApEL,8CAqEC;AAvDG,gBAAgB;AACO,8BAAY,GAAG,gDAAgD,CAAC"}
@@ -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 Entitlement. This resource allows you to create and configure an Okta [Entitlement](https://developer.okta.com/docs/api/iga/openapi/governance.api/tag/Entitlements/).
6
+ *
7
+ * ## Example Usage
8
+ *
9
+ * ```typescript
10
+ * import * as pulumi from "@pulumi/pulumi";
11
+ * import * as okta from "@pulumi/okta";
12
+ *
13
+ * const example = new okta.Entitlement("example", {name: "example"});
14
+ * ```
15
+ *
16
+ * ## Import
17
+ *
18
+ * ```sh
19
+ * $ pulumi import okta:index/entitlement:Entitlement example <entitlement_id>
20
+ * ```
21
+ */
22
+ export declare class Entitlement extends pulumi.CustomResource {
23
+ /**
24
+ * Get an existing Entitlement resource's state with the given name, ID, and optional extra
25
+ * properties used to qualify the lookup.
26
+ *
27
+ * @param name The _unique_ name of the resulting resource.
28
+ * @param id The _unique_ provider ID of the resource to lookup.
29
+ * @param state Any extra arguments used during the lookup.
30
+ * @param opts Optional settings to control the behavior of the CustomResource.
31
+ */
32
+ static get(name: string, id: pulumi.Input<pulumi.ID>, state?: EntitlementState, opts?: pulumi.CustomResourceOptions): Entitlement;
33
+ /**
34
+ * Returns true if the given object is an instance of Entitlement. This is designed to work even
35
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
36
+ */
37
+ static isInstance(obj: any): obj is Entitlement;
38
+ /**
39
+ * The data type of the entitlement property. If the entitlement property is multivalued, the data type is replaced with an array. Enum: "array", "string".
40
+ */
41
+ readonly dataType: pulumi.Output<string>;
42
+ /**
43
+ * The description of an entitlement property.
44
+ */
45
+ readonly description: pulumi.Output<string | undefined>;
46
+ /**
47
+ * The value of an entitlement property.
48
+ */
49
+ readonly externalValue: pulumi.Output<string>;
50
+ /**
51
+ * The property that determines if the entitlement property can hold multiple values.
52
+ */
53
+ readonly multiValue: pulumi.Output<boolean>;
54
+ /**
55
+ * The display name for an entitlement property.
56
+ */
57
+ readonly name: pulumi.Output<string>;
58
+ /**
59
+ * Representation of a resource
60
+ */
61
+ readonly parent: pulumi.Output<outputs.EntitlementParent | undefined>;
62
+ /**
63
+ * The Okta app instance, in ORN format.
64
+ */
65
+ readonly parentResourceOrn: pulumi.Output<string>;
66
+ /**
67
+ * The value of the entitlement property.
68
+ */
69
+ readonly value: pulumi.Output<string | undefined>;
70
+ readonly values: pulumi.Output<outputs.EntitlementValue[] | undefined>;
71
+ /**
72
+ * Create a Entitlement resource with the given unique name, arguments, and options.
73
+ *
74
+ * @param name The _unique_ name of the resource.
75
+ * @param args The arguments to use to populate this resource's properties.
76
+ * @param opts A bag of options that control this resource's behavior.
77
+ */
78
+ constructor(name: string, args: EntitlementArgs, opts?: pulumi.CustomResourceOptions);
79
+ }
80
+ /**
81
+ * Input properties used for looking up and filtering Entitlement resources.
82
+ */
83
+ export interface EntitlementState {
84
+ /**
85
+ * The data type of the entitlement property. If the entitlement property is multivalued, the data type is replaced with an array. Enum: "array", "string".
86
+ */
87
+ dataType?: pulumi.Input<string>;
88
+ /**
89
+ * The description of an entitlement property.
90
+ */
91
+ description?: pulumi.Input<string>;
92
+ /**
93
+ * The value of an entitlement property.
94
+ */
95
+ externalValue?: pulumi.Input<string>;
96
+ /**
97
+ * The property that determines if the entitlement property can hold multiple values.
98
+ */
99
+ multiValue?: pulumi.Input<boolean>;
100
+ /**
101
+ * The display name for an entitlement property.
102
+ */
103
+ name?: pulumi.Input<string>;
104
+ /**
105
+ * Representation of a resource
106
+ */
107
+ parent?: pulumi.Input<inputs.EntitlementParent>;
108
+ /**
109
+ * The Okta app instance, in ORN format.
110
+ */
111
+ parentResourceOrn?: pulumi.Input<string>;
112
+ /**
113
+ * The value of the entitlement property.
114
+ */
115
+ value?: pulumi.Input<string>;
116
+ values?: pulumi.Input<pulumi.Input<inputs.EntitlementValue>[]>;
117
+ }
118
+ /**
119
+ * The set of arguments for constructing a Entitlement resource.
120
+ */
121
+ export interface EntitlementArgs {
122
+ /**
123
+ * The data type of the entitlement property. If the entitlement property is multivalued, the data type is replaced with an array. Enum: "array", "string".
124
+ */
125
+ dataType: pulumi.Input<string>;
126
+ /**
127
+ * The description of an entitlement property.
128
+ */
129
+ description?: pulumi.Input<string>;
130
+ /**
131
+ * The value of an entitlement property.
132
+ */
133
+ externalValue: pulumi.Input<string>;
134
+ /**
135
+ * The property that determines if the entitlement property can hold multiple values.
136
+ */
137
+ multiValue: pulumi.Input<boolean>;
138
+ /**
139
+ * The display name for an entitlement property.
140
+ */
141
+ name?: pulumi.Input<string>;
142
+ /**
143
+ * Representation of a resource
144
+ */
145
+ parent?: pulumi.Input<inputs.EntitlementParent>;
146
+ /**
147
+ * The Okta app instance, in ORN format.
148
+ */
149
+ parentResourceOrn?: pulumi.Input<string>;
150
+ /**
151
+ * The value of the entitlement property.
152
+ */
153
+ value?: pulumi.Input<string>;
154
+ values?: pulumi.Input<pulumi.Input<inputs.EntitlementValue>[]>;
155
+ }
package/entitlement.js ADDED
@@ -0,0 +1,92 @@
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.Entitlement = void 0;
6
+ const pulumi = require("@pulumi/pulumi");
7
+ const utilities = require("./utilities");
8
+ /**
9
+ * Manages Entitlement. This resource allows you to create and configure an Okta [Entitlement](https://developer.okta.com/docs/api/iga/openapi/governance.api/tag/Entitlements/).
10
+ *
11
+ * ## Example Usage
12
+ *
13
+ * ```typescript
14
+ * import * as pulumi from "@pulumi/pulumi";
15
+ * import * as okta from "@pulumi/okta";
16
+ *
17
+ * const example = new okta.Entitlement("example", {name: "example"});
18
+ * ```
19
+ *
20
+ * ## Import
21
+ *
22
+ * ```sh
23
+ * $ pulumi import okta:index/entitlement:Entitlement example <entitlement_id>
24
+ * ```
25
+ */
26
+ class Entitlement extends pulumi.CustomResource {
27
+ /**
28
+ * Get an existing Entitlement resource's state with the given name, ID, and optional extra
29
+ * properties used to qualify the lookup.
30
+ *
31
+ * @param name The _unique_ name of the resulting resource.
32
+ * @param id The _unique_ provider ID of the resource to lookup.
33
+ * @param state Any extra arguments used during the lookup.
34
+ * @param opts Optional settings to control the behavior of the CustomResource.
35
+ */
36
+ static get(name, id, state, opts) {
37
+ return new Entitlement(name, state, { ...opts, id: id });
38
+ }
39
+ /**
40
+ * Returns true if the given object is an instance of Entitlement. This is designed to work even
41
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
42
+ */
43
+ static isInstance(obj) {
44
+ if (obj === undefined || obj === null) {
45
+ return false;
46
+ }
47
+ return obj['__pulumiType'] === Entitlement.__pulumiType;
48
+ }
49
+ constructor(name, argsOrState, opts) {
50
+ let resourceInputs = {};
51
+ opts = opts || {};
52
+ if (opts.id) {
53
+ const state = argsOrState;
54
+ resourceInputs["dataType"] = state?.dataType;
55
+ resourceInputs["description"] = state?.description;
56
+ resourceInputs["externalValue"] = state?.externalValue;
57
+ resourceInputs["multiValue"] = state?.multiValue;
58
+ resourceInputs["name"] = state?.name;
59
+ resourceInputs["parent"] = state?.parent;
60
+ resourceInputs["parentResourceOrn"] = state?.parentResourceOrn;
61
+ resourceInputs["value"] = state?.value;
62
+ resourceInputs["values"] = state?.values;
63
+ }
64
+ else {
65
+ const args = argsOrState;
66
+ if (args?.dataType === undefined && !opts.urn) {
67
+ throw new Error("Missing required property 'dataType'");
68
+ }
69
+ if (args?.externalValue === undefined && !opts.urn) {
70
+ throw new Error("Missing required property 'externalValue'");
71
+ }
72
+ if (args?.multiValue === undefined && !opts.urn) {
73
+ throw new Error("Missing required property 'multiValue'");
74
+ }
75
+ resourceInputs["dataType"] = args?.dataType;
76
+ resourceInputs["description"] = args?.description;
77
+ resourceInputs["externalValue"] = args?.externalValue;
78
+ resourceInputs["multiValue"] = args?.multiValue;
79
+ resourceInputs["name"] = args?.name;
80
+ resourceInputs["parent"] = args?.parent;
81
+ resourceInputs["parentResourceOrn"] = args?.parentResourceOrn;
82
+ resourceInputs["value"] = args?.value;
83
+ resourceInputs["values"] = args?.values;
84
+ }
85
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
86
+ super(Entitlement.__pulumiType, name, resourceInputs, opts);
87
+ }
88
+ }
89
+ exports.Entitlement = Entitlement;
90
+ /** @internal */
91
+ Entitlement.__pulumiType = 'okta:index/entitlement:Entitlement';
92
+ //# sourceMappingURL=entitlement.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entitlement.js","sourceRoot":"","sources":["../entitlement.ts"],"names":[],"mappings":";AAAA,sEAAsE;AACtE,iFAAiF;;;AAEjF,yCAAyC;AAGzC,yCAAyC;AAEzC;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAa,WAAY,SAAQ,MAAM,CAAC,cAAc;IAClD;;;;;;;;OAQG;IACI,MAAM,CAAC,GAAG,CAAC,IAAY,EAAE,EAA2B,EAAE,KAAwB,EAAE,IAAmC;QACtH,OAAO,IAAI,WAAW,CAAC,IAAI,EAAO,KAAK,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAClE,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,WAAW,CAAC,YAAY,CAAC;IAC5D,CAAC;IA4CD,YAAY,IAAY,EAAE,WAAgD,EAAE,IAAmC;QAC3G,IAAI,cAAc,GAAkB,EAAE,CAAC;QACvC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QAClB,IAAI,IAAI,CAAC,EAAE,EAAE;YACT,MAAM,KAAK,GAAG,WAA2C,CAAC;YAC1D,cAAc,CAAC,UAAU,CAAC,GAAG,KAAK,EAAE,QAAQ,CAAC;YAC7C,cAAc,CAAC,aAAa,CAAC,GAAG,KAAK,EAAE,WAAW,CAAC;YACnD,cAAc,CAAC,eAAe,CAAC,GAAG,KAAK,EAAE,aAAa,CAAC;YACvD,cAAc,CAAC,YAAY,CAAC,GAAG,KAAK,EAAE,UAAU,CAAC;YACjD,cAAc,CAAC,MAAM,CAAC,GAAG,KAAK,EAAE,IAAI,CAAC;YACrC,cAAc,CAAC,QAAQ,CAAC,GAAG,KAAK,EAAE,MAAM,CAAC;YACzC,cAAc,CAAC,mBAAmB,CAAC,GAAG,KAAK,EAAE,iBAAiB,CAAC;YAC/D,cAAc,CAAC,OAAO,CAAC,GAAG,KAAK,EAAE,KAAK,CAAC;YACvC,cAAc,CAAC,QAAQ,CAAC,GAAG,KAAK,EAAE,MAAM,CAAC;SAC5C;aAAM;YACH,MAAM,IAAI,GAAG,WAA0C,CAAC;YACxD,IAAI,IAAI,EAAE,QAAQ,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBAC3C,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;aAC3D;YACD,IAAI,IAAI,EAAE,aAAa,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBAChD,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;aAChE;YACD,IAAI,IAAI,EAAE,UAAU,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBAC7C,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;aAC7D;YACD,cAAc,CAAC,UAAU,CAAC,GAAG,IAAI,EAAE,QAAQ,CAAC;YAC5C,cAAc,CAAC,aAAa,CAAC,GAAG,IAAI,EAAE,WAAW,CAAC;YAClD,cAAc,CAAC,eAAe,CAAC,GAAG,IAAI,EAAE,aAAa,CAAC;YACtD,cAAc,CAAC,YAAY,CAAC,GAAG,IAAI,EAAE,UAAU,CAAC;YAChD,cAAc,CAAC,MAAM,CAAC,GAAG,IAAI,EAAE,IAAI,CAAC;YACpC,cAAc,CAAC,QAAQ,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC;YACxC,cAAc,CAAC,mBAAmB,CAAC,GAAG,IAAI,EAAE,iBAAiB,CAAC;YAC9D,cAAc,CAAC,OAAO,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC;YACtC,cAAc,CAAC,QAAQ,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC;SAC3C;QACD,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,CAAC,CAAC;QACnE,KAAK,CAAC,WAAW,CAAC,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;IAChE,CAAC;;AA3GL,kCA4GC;AA9FG,gBAAgB;AACO,wBAAY,GAAG,oCAAoC,CAAC"}