@cdktn/provider-azuread 15.0.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.
Files changed (158) hide show
  1. package/.jsii +112042 -0
  2. package/LICENSE +355 -0
  3. package/README.md +94 -0
  4. package/lib/access-package/index.d.ts +151 -0
  5. package/lib/access-package/index.js +354 -0
  6. package/lib/access-package-assignment-policy/index.d.ts +1098 -0
  7. package/lib/access-package-assignment-policy/index.js +2711 -0
  8. package/lib/access-package-catalog/index.d.ts +152 -0
  9. package/lib/access-package-catalog/index.js +357 -0
  10. package/lib/access-package-catalog-role-assignment/index.d.ts +140 -0
  11. package/lib/access-package-catalog-role-assignment/index.js +333 -0
  12. package/lib/access-package-resource-catalog-association/index.d.ts +131 -0
  13. package/lib/access-package-resource-catalog-association/index.js +307 -0
  14. package/lib/access-package-resource-package-association/index.d.ts +132 -0
  15. package/lib/access-package-resource-package-association/index.js +310 -0
  16. package/lib/administrative-unit/index.d.ts +165 -0
  17. package/lib/administrative-unit/index.js +385 -0
  18. package/lib/administrative-unit-member/index.d.ts +123 -0
  19. package/lib/administrative-unit-member/index.js +295 -0
  20. package/lib/administrative-unit-role-member/index.d.ts +131 -0
  21. package/lib/administrative-unit-role-member/index.js +307 -0
  22. package/lib/app-role-assignment/index.d.ts +134 -0
  23. package/lib/app-role-assignment/index.js +319 -0
  24. package/lib/application/index.d.ts +1352 -0
  25. package/lib/application/index.js +3262 -0
  26. package/lib/application-api-access/index.d.ts +152 -0
  27. package/lib/application-api-access/index.js +357 -0
  28. package/lib/application-app-role/index.d.ts +171 -0
  29. package/lib/application-app-role/index.js +390 -0
  30. package/lib/application-certificate/index.d.ts +196 -0
  31. package/lib/application-certificate/index.js +441 -0
  32. package/lib/application-fallback-public-client/index.d.ts +122 -0
  33. package/lib/application-fallback-public-client/index.js +292 -0
  34. package/lib/application-federated-identity-credential/index.d.ts +172 -0
  35. package/lib/application-federated-identity-credential/index.js +394 -0
  36. package/lib/application-flexible-federated-identity-credential/index.d.ts +172 -0
  37. package/lib/application-flexible-federated-identity-credential/index.js +394 -0
  38. package/lib/application-from-template/index.d.ts +134 -0
  39. package/lib/application-from-template/index.js +334 -0
  40. package/lib/application-identifier-uri/index.d.ts +121 -0
  41. package/lib/application-identifier-uri/index.js +289 -0
  42. package/lib/application-known-clients/index.d.ts +130 -0
  43. package/lib/application-known-clients/index.js +315 -0
  44. package/lib/application-optional-claims/index.d.ts +381 -0
  45. package/lib/application-optional-claims/index.js +918 -0
  46. package/lib/application-owner/index.d.ts +121 -0
  47. package/lib/application-owner/index.js +289 -0
  48. package/lib/application-password/index.d.ts +185 -0
  49. package/lib/application-password/index.js +410 -0
  50. package/lib/application-permission-scope/index.d.ts +193 -0
  51. package/lib/application-permission-scope/index.js +432 -0
  52. package/lib/application-pre-authorized/index.d.ts +140 -0
  53. package/lib/application-pre-authorized/index.js +333 -0
  54. package/lib/application-redirect-uris/index.d.ts +140 -0
  55. package/lib/application-redirect-uris/index.js +333 -0
  56. package/lib/application-registration/index.d.ts +278 -0
  57. package/lib/application-registration/index.js +610 -0
  58. package/lib/authentication-strength-policy/index.d.ts +141 -0
  59. package/lib/authentication-strength-policy/index.js +336 -0
  60. package/lib/claims-mapping-policy/index.d.ts +130 -0
  61. package/lib/claims-mapping-policy/index.js +315 -0
  62. package/lib/conditional-access-policy/index.d.ts +959 -0
  63. package/lib/conditional-access-policy/index.js +2705 -0
  64. package/lib/custom-directory-role/index.d.ts +216 -0
  65. package/lib/custom-directory-role/index.js +505 -0
  66. package/lib/data-azuread-access-package/index.d.ts +118 -0
  67. package/lib/data-azuread-access-package/index.js +272 -0
  68. package/lib/data-azuread-access-package-catalog/index.d.ts +108 -0
  69. package/lib/data-azuread-access-package-catalog/index.js +258 -0
  70. package/lib/data-azuread-access-package-catalog-role/index.d.ts +107 -0
  71. package/lib/data-azuread-access-package-catalog-role/index.js +254 -0
  72. package/lib/data-azuread-administrative-unit/index.d.ts +135 -0
  73. package/lib/data-azuread-administrative-unit/index.js +336 -0
  74. package/lib/data-azuread-application/index.d.ts +654 -0
  75. package/lib/data-azuread-application/index.js +1606 -0
  76. package/lib/data-azuread-application-published-app-ids/index.d.ts +85 -0
  77. package/lib/data-azuread-application-published-app-ids/index.js +206 -0
  78. package/lib/data-azuread-application-template/index.d.ts +111 -0
  79. package/lib/data-azuread-application-template/index.js +270 -0
  80. package/lib/data-azuread-client-config/index.d.ts +86 -0
  81. package/lib/data-azuread-client-config/index.js +216 -0
  82. package/lib/data-azuread-directory-object/index.d.ts +94 -0
  83. package/lib/data-azuread-directory-object/index.js +223 -0
  84. package/lib/data-azuread-directory-role-templates/index.d.ts +120 -0
  85. package/lib/data-azuread-directory-role-templates/index.js +293 -0
  86. package/lib/data-azuread-directory-roles/index.d.ts +122 -0
  87. package/lib/data-azuread-directory-roles/index.js +301 -0
  88. package/lib/data-azuread-domains/index.d.ts +190 -0
  89. package/lib/data-azuread-domains/index.js +435 -0
  90. package/lib/data-azuread-group/index.d.ts +207 -0
  91. package/lib/data-azuread-group/index.js +506 -0
  92. package/lib/data-azuread-group-role-management-policy/index.d.ts +105 -0
  93. package/lib/data-azuread-group-role-management-policy/index.js +248 -0
  94. package/lib/data-azuread-groups/index.d.ts +160 -0
  95. package/lib/data-azuread-groups/index.js +348 -0
  96. package/lib/data-azuread-named-location/index.d.ts +163 -0
  97. package/lib/data-azuread-named-location/index.js +398 -0
  98. package/lib/data-azuread-service-principal/index.d.ts +325 -0
  99. package/lib/data-azuread-service-principal/index.js +817 -0
  100. package/lib/data-azuread-service-principals/index.d.ts +183 -0
  101. package/lib/data-azuread-service-principals/index.js +430 -0
  102. package/lib/data-azuread-user/index.d.ts +177 -0
  103. package/lib/data-azuread-user/index.js +465 -0
  104. package/lib/data-azuread-users/index.d.ts +204 -0
  105. package/lib/data-azuread-users/index.js +468 -0
  106. package/lib/directory-role/index.d.ts +125 -0
  107. package/lib/directory-role/index.js +306 -0
  108. package/lib/directory-role-assignment/index.d.ts +143 -0
  109. package/lib/directory-role-assignment/index.js +331 -0
  110. package/lib/directory-role-eligibility-schedule-request/index.d.ts +141 -0
  111. package/lib/directory-role-eligibility-schedule-request/index.js +325 -0
  112. package/lib/directory-role-member/index.d.ts +123 -0
  113. package/lib/directory-role-member/index.js +295 -0
  114. package/lib/group/index.d.ts +392 -0
  115. package/lib/group/index.js +872 -0
  116. package/lib/group-member/index.d.ts +121 -0
  117. package/lib/group-member/index.js +289 -0
  118. package/lib/group-role-management-policy/index.d.ts +1043 -0
  119. package/lib/group-role-management-policy/index.js +2775 -0
  120. package/lib/group-without-members/index.d.ts +381 -0
  121. package/lib/group-without-members/index.js +851 -0
  122. package/lib/index.d.ts +79 -0
  123. package/lib/index.js +85 -0
  124. package/lib/invitation/index.d.ts +203 -0
  125. package/lib/invitation/index.js +490 -0
  126. package/lib/lazy-index.d.ts +4 -0
  127. package/lib/lazy-index.js +82 -0
  128. package/lib/named-location/index.d.ts +212 -0
  129. package/lib/named-location/index.js +571 -0
  130. package/lib/privileged-access-group-assignment-schedule/index.d.ts +218 -0
  131. package/lib/privileged-access-group-assignment-schedule/index.js +484 -0
  132. package/lib/privileged-access-group-eligibility-schedule/index.d.ts +218 -0
  133. package/lib/privileged-access-group-eligibility-schedule/index.js +484 -0
  134. package/lib/provider/index.d.ts +289 -0
  135. package/lib/provider/index.js +549 -0
  136. package/lib/service-principal/index.d.ts +547 -0
  137. package/lib/service-principal/index.js +1305 -0
  138. package/lib/service-principal-certificate/index.d.ts +187 -0
  139. package/lib/service-principal-certificate/index.js +415 -0
  140. package/lib/service-principal-claims-mapping-policy-assignment/index.d.ts +121 -0
  141. package/lib/service-principal-claims-mapping-policy-assignment/index.js +289 -0
  142. package/lib/service-principal-delegated-permission-grant/index.d.ts +151 -0
  143. package/lib/service-principal-delegated-permission-grant/index.js +354 -0
  144. package/lib/service-principal-password/index.d.ts +176 -0
  145. package/lib/service-principal-password/index.js +384 -0
  146. package/lib/service-principal-token-signing-certificate/index.d.ts +137 -0
  147. package/lib/service-principal-token-signing-certificate/index.js +329 -0
  148. package/lib/synchronization-job/index.d.ts +177 -0
  149. package/lib/synchronization-job/index.js +424 -0
  150. package/lib/synchronization-job-provision-on-demand/index.d.ts +254 -0
  151. package/lib/synchronization-job-provision-on-demand/index.js +590 -0
  152. package/lib/synchronization-secret/index.d.ts +184 -0
  153. package/lib/synchronization-secret/index.js +449 -0
  154. package/lib/user/index.d.ts +517 -0
  155. package/lib/user/index.js +1084 -0
  156. package/lib/user-flow-attribute/index.d.ts +141 -0
  157. package/lib/user-flow-attribute/index.js +340 -0
  158. package/package.json +155 -0
@@ -0,0 +1,105 @@
1
+ /**
2
+ * Copyright IBM Corp. 2021, 2026
3
+ * SPDX-License-Identifier: MPL-2.0
4
+ */
5
+ import { Construct } from 'constructs';
6
+ import * as cdktn from 'cdktn';
7
+ export interface DataAzureadGroupRoleManagementPolicyConfig extends cdktn.TerraformMetaArguments {
8
+ /**
9
+ * ID of the group to which this policy is assigned
10
+ *
11
+ * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azuread/3.7.0/docs/data-sources/group_role_management_policy#group_id DataAzureadGroupRoleManagementPolicy#group_id}
12
+ */
13
+ readonly groupId: string;
14
+ /**
15
+ * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azuread/3.7.0/docs/data-sources/group_role_management_policy#id DataAzureadGroupRoleManagementPolicy#id}
16
+ *
17
+ * Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
18
+ * If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.
19
+ */
20
+ readonly id?: string;
21
+ /**
22
+ * The ID of the role of this policy to the group
23
+ *
24
+ * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azuread/3.7.0/docs/data-sources/group_role_management_policy#role_id DataAzureadGroupRoleManagementPolicy#role_id}
25
+ */
26
+ readonly roleId: string;
27
+ /**
28
+ * timeouts block
29
+ *
30
+ * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azuread/3.7.0/docs/data-sources/group_role_management_policy#timeouts DataAzureadGroupRoleManagementPolicy#timeouts}
31
+ */
32
+ readonly timeouts?: DataAzureadGroupRoleManagementPolicyTimeouts;
33
+ }
34
+ export interface DataAzureadGroupRoleManagementPolicyTimeouts {
35
+ /**
36
+ * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azuread/3.7.0/docs/data-sources/group_role_management_policy#read DataAzureadGroupRoleManagementPolicy#read}
37
+ */
38
+ readonly read?: string;
39
+ }
40
+ export declare function dataAzureadGroupRoleManagementPolicyTimeoutsToTerraform(struct?: DataAzureadGroupRoleManagementPolicyTimeouts | cdktn.IResolvable): any;
41
+ export declare function dataAzureadGroupRoleManagementPolicyTimeoutsToHclTerraform(struct?: DataAzureadGroupRoleManagementPolicyTimeouts | cdktn.IResolvable): any;
42
+ export declare class DataAzureadGroupRoleManagementPolicyTimeoutsOutputReference extends cdktn.ComplexObject {
43
+ private isEmptyObject;
44
+ private resolvableValue?;
45
+ /**
46
+ * @param terraformResource The parent resource
47
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
48
+ */
49
+ constructor(terraformResource: cdktn.IInterpolatingParent, terraformAttribute: string);
50
+ get internalValue(): DataAzureadGroupRoleManagementPolicyTimeouts | cdktn.IResolvable | undefined;
51
+ set internalValue(value: DataAzureadGroupRoleManagementPolicyTimeouts | cdktn.IResolvable | undefined);
52
+ private _read?;
53
+ get read(): string;
54
+ set read(value: string);
55
+ resetRead(): void;
56
+ get readInput(): string | undefined;
57
+ }
58
+ /**
59
+ * Represents a {@link https://registry.terraform.io/providers/hashicorp/azuread/3.7.0/docs/data-sources/group_role_management_policy azuread_group_role_management_policy}
60
+ */
61
+ export declare class DataAzureadGroupRoleManagementPolicy extends cdktn.TerraformDataSource {
62
+ static readonly tfResourceType = "azuread_group_role_management_policy";
63
+ /**
64
+ * Generates CDKTN code for importing a DataAzureadGroupRoleManagementPolicy resource upon running "cdktn plan <stack-name>"
65
+ * @param scope The scope in which to define this construct
66
+ * @param importToId The construct id used in the generated config for the DataAzureadGroupRoleManagementPolicy to import
67
+ * @param importFromId The id of the existing DataAzureadGroupRoleManagementPolicy that should be imported. Refer to the {@link https://registry.terraform.io/providers/hashicorp/azuread/3.7.0/docs/data-sources/group_role_management_policy#import import section} in the documentation of this resource for the id to use
68
+ * @param provider? Optional instance of the provider where the DataAzureadGroupRoleManagementPolicy to import is found
69
+ */
70
+ static generateConfigForImport(scope: Construct, importToId: string, importFromId: string, provider?: cdktn.TerraformProvider): cdktn.ImportableResource;
71
+ /**
72
+ * Create a new {@link https://registry.terraform.io/providers/hashicorp/azuread/3.7.0/docs/data-sources/group_role_management_policy azuread_group_role_management_policy} Data Source
73
+ *
74
+ * @param scope The scope in which to define this construct
75
+ * @param id The scoped construct ID. Must be unique amongst siblings in the same scope
76
+ * @param options DataAzureadGroupRoleManagementPolicyConfig
77
+ */
78
+ constructor(scope: Construct, id: string, config: DataAzureadGroupRoleManagementPolicyConfig);
79
+ get description(): string;
80
+ get displayName(): string;
81
+ private _groupId?;
82
+ get groupId(): string;
83
+ set groupId(value: string);
84
+ get groupIdInput(): string | undefined;
85
+ private _id?;
86
+ get id(): string;
87
+ set id(value: string);
88
+ resetId(): void;
89
+ get idInput(): string | undefined;
90
+ private _roleId?;
91
+ get roleId(): string;
92
+ set roleId(value: string);
93
+ get roleIdInput(): string | undefined;
94
+ private _timeouts;
95
+ get timeouts(): DataAzureadGroupRoleManagementPolicyTimeoutsOutputReference;
96
+ putTimeouts(value: DataAzureadGroupRoleManagementPolicyTimeouts): void;
97
+ resetTimeouts(): void;
98
+ get timeoutsInput(): cdktn.IResolvable | DataAzureadGroupRoleManagementPolicyTimeouts | undefined;
99
+ protected synthesizeAttributes(): {
100
+ [name: string]: any;
101
+ };
102
+ protected synthesizeHclAttributes(): {
103
+ [name: string]: any;
104
+ };
105
+ }
@@ -0,0 +1,248 @@
1
+ "use strict";
2
+ var _a, _b;
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.DataAzureadGroupRoleManagementPolicy = exports.DataAzureadGroupRoleManagementPolicyTimeoutsOutputReference = void 0;
5
+ exports.dataAzureadGroupRoleManagementPolicyTimeoutsToTerraform = dataAzureadGroupRoleManagementPolicyTimeoutsToTerraform;
6
+ exports.dataAzureadGroupRoleManagementPolicyTimeoutsToHclTerraform = dataAzureadGroupRoleManagementPolicyTimeoutsToHclTerraform;
7
+ const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
8
+ const cdktn = require("cdktn");
9
+ function dataAzureadGroupRoleManagementPolicyTimeoutsToTerraform(struct) {
10
+ if (!cdktn.canInspect(struct) || cdktn.Tokenization.isResolvable(struct)) {
11
+ return struct;
12
+ }
13
+ if (cdktn.isComplexElement(struct)) {
14
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
15
+ }
16
+ return {
17
+ read: cdktn.stringToTerraform(struct.read),
18
+ };
19
+ }
20
+ function dataAzureadGroupRoleManagementPolicyTimeoutsToHclTerraform(struct) {
21
+ if (!cdktn.canInspect(struct) || cdktn.Tokenization.isResolvable(struct)) {
22
+ return struct;
23
+ }
24
+ if (cdktn.isComplexElement(struct)) {
25
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
26
+ }
27
+ const attrs = {
28
+ read: {
29
+ value: cdktn.stringToHclTerraform(struct.read),
30
+ isBlock: false,
31
+ type: "simple",
32
+ storageClassType: "string",
33
+ },
34
+ };
35
+ // remove undefined attributes
36
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
37
+ }
38
+ class DataAzureadGroupRoleManagementPolicyTimeoutsOutputReference extends cdktn.ComplexObject {
39
+ /**
40
+ * @param terraformResource The parent resource
41
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
42
+ */
43
+ constructor(terraformResource, terraformAttribute) {
44
+ super(terraformResource, terraformAttribute, false);
45
+ this.isEmptyObject = false;
46
+ }
47
+ get internalValue() {
48
+ if (this.resolvableValue) {
49
+ return this.resolvableValue;
50
+ }
51
+ let hasAnyValues = this.isEmptyObject;
52
+ const internalValueResult = {};
53
+ if (this._read !== undefined) {
54
+ hasAnyValues = true;
55
+ internalValueResult.read = this._read;
56
+ }
57
+ return hasAnyValues ? internalValueResult : undefined;
58
+ }
59
+ set internalValue(value) {
60
+ if (value === undefined) {
61
+ this.isEmptyObject = false;
62
+ this.resolvableValue = undefined;
63
+ this._read = undefined;
64
+ }
65
+ else if (cdktn.Tokenization.isResolvable(value)) {
66
+ this.isEmptyObject = false;
67
+ this.resolvableValue = value;
68
+ }
69
+ else {
70
+ this.isEmptyObject = Object.keys(value).length === 0;
71
+ this.resolvableValue = undefined;
72
+ this._read = value.read;
73
+ }
74
+ }
75
+ get read() {
76
+ return this.getStringAttribute('read');
77
+ }
78
+ set read(value) {
79
+ this._read = value;
80
+ }
81
+ resetRead() {
82
+ this._read = undefined;
83
+ }
84
+ // Temporarily expose input value. Use with caution.
85
+ get readInput() {
86
+ return this._read;
87
+ }
88
+ }
89
+ exports.DataAzureadGroupRoleManagementPolicyTimeoutsOutputReference = DataAzureadGroupRoleManagementPolicyTimeoutsOutputReference;
90
+ _a = JSII_RTTI_SYMBOL_1;
91
+ DataAzureadGroupRoleManagementPolicyTimeoutsOutputReference[_a] = { fqn: "@cdktn/provider-azuread.dataAzureadGroupRoleManagementPolicy.DataAzureadGroupRoleManagementPolicyTimeoutsOutputReference", version: "15.0.0" };
92
+ /**
93
+ * Represents a {@link https://registry.terraform.io/providers/hashicorp/azuread/3.7.0/docs/data-sources/group_role_management_policy azuread_group_role_management_policy}
94
+ */
95
+ class DataAzureadGroupRoleManagementPolicy extends cdktn.TerraformDataSource {
96
+ // ==============
97
+ // STATIC Methods
98
+ // ==============
99
+ /**
100
+ * Generates CDKTN code for importing a DataAzureadGroupRoleManagementPolicy resource upon running "cdktn plan <stack-name>"
101
+ * @param scope The scope in which to define this construct
102
+ * @param importToId The construct id used in the generated config for the DataAzureadGroupRoleManagementPolicy to import
103
+ * @param importFromId The id of the existing DataAzureadGroupRoleManagementPolicy that should be imported. Refer to the {@link https://registry.terraform.io/providers/hashicorp/azuread/3.7.0/docs/data-sources/group_role_management_policy#import import section} in the documentation of this resource for the id to use
104
+ * @param provider? Optional instance of the provider where the DataAzureadGroupRoleManagementPolicy to import is found
105
+ */
106
+ static generateConfigForImport(scope, importToId, importFromId, provider) {
107
+ return new cdktn.ImportableResource(scope, importToId, { terraformResourceType: "azuread_group_role_management_policy", importId: importFromId, provider });
108
+ }
109
+ // ===========
110
+ // INITIALIZER
111
+ // ===========
112
+ /**
113
+ * Create a new {@link https://registry.terraform.io/providers/hashicorp/azuread/3.7.0/docs/data-sources/group_role_management_policy azuread_group_role_management_policy} Data Source
114
+ *
115
+ * @param scope The scope in which to define this construct
116
+ * @param id The scoped construct ID. Must be unique amongst siblings in the same scope
117
+ * @param options DataAzureadGroupRoleManagementPolicyConfig
118
+ */
119
+ constructor(scope, id, config) {
120
+ super(scope, id, {
121
+ terraformResourceType: 'azuread_group_role_management_policy',
122
+ terraformGeneratorMetadata: {
123
+ providerName: 'azuread',
124
+ providerVersion: '3.7.0',
125
+ providerVersionConstraint: '~> 3.0'
126
+ },
127
+ provider: config.provider,
128
+ dependsOn: config.dependsOn,
129
+ count: config.count,
130
+ lifecycle: config.lifecycle,
131
+ provisioners: config.provisioners,
132
+ connection: config.connection,
133
+ forEach: config.forEach
134
+ });
135
+ // timeouts - computed: false, optional: true, required: false
136
+ this._timeouts = new DataAzureadGroupRoleManagementPolicyTimeoutsOutputReference(this, "timeouts");
137
+ this._groupId = config.groupId;
138
+ this._id = config.id;
139
+ this._roleId = config.roleId;
140
+ this._timeouts.internalValue = config.timeouts;
141
+ }
142
+ // ==========
143
+ // ATTRIBUTES
144
+ // ==========
145
+ // description - computed: true, optional: false, required: false
146
+ get description() {
147
+ return this.getStringAttribute('description');
148
+ }
149
+ // display_name - computed: true, optional: false, required: false
150
+ get displayName() {
151
+ return this.getStringAttribute('display_name');
152
+ }
153
+ get groupId() {
154
+ return this.getStringAttribute('group_id');
155
+ }
156
+ set groupId(value) {
157
+ this._groupId = value;
158
+ }
159
+ // Temporarily expose input value. Use with caution.
160
+ get groupIdInput() {
161
+ return this._groupId;
162
+ }
163
+ get id() {
164
+ return this.getStringAttribute('id');
165
+ }
166
+ set id(value) {
167
+ this._id = value;
168
+ }
169
+ resetId() {
170
+ this._id = undefined;
171
+ }
172
+ // Temporarily expose input value. Use with caution.
173
+ get idInput() {
174
+ return this._id;
175
+ }
176
+ get roleId() {
177
+ return this.getStringAttribute('role_id');
178
+ }
179
+ set roleId(value) {
180
+ this._roleId = value;
181
+ }
182
+ // Temporarily expose input value. Use with caution.
183
+ get roleIdInput() {
184
+ return this._roleId;
185
+ }
186
+ get timeouts() {
187
+ return this._timeouts;
188
+ }
189
+ putTimeouts(value) {
190
+ this._timeouts.internalValue = value;
191
+ }
192
+ resetTimeouts() {
193
+ this._timeouts.internalValue = undefined;
194
+ }
195
+ // Temporarily expose input value. Use with caution.
196
+ get timeoutsInput() {
197
+ return this._timeouts.internalValue;
198
+ }
199
+ // =========
200
+ // SYNTHESIS
201
+ // =========
202
+ synthesizeAttributes() {
203
+ return {
204
+ group_id: cdktn.stringToTerraform(this._groupId),
205
+ id: cdktn.stringToTerraform(this._id),
206
+ role_id: cdktn.stringToTerraform(this._roleId),
207
+ timeouts: dataAzureadGroupRoleManagementPolicyTimeoutsToTerraform(this._timeouts.internalValue),
208
+ };
209
+ }
210
+ synthesizeHclAttributes() {
211
+ const attrs = {
212
+ group_id: {
213
+ value: cdktn.stringToHclTerraform(this._groupId),
214
+ isBlock: false,
215
+ type: "simple",
216
+ storageClassType: "string",
217
+ },
218
+ id: {
219
+ value: cdktn.stringToHclTerraform(this._id),
220
+ isBlock: false,
221
+ type: "simple",
222
+ storageClassType: "string",
223
+ },
224
+ role_id: {
225
+ value: cdktn.stringToHclTerraform(this._roleId),
226
+ isBlock: false,
227
+ type: "simple",
228
+ storageClassType: "string",
229
+ },
230
+ timeouts: {
231
+ value: dataAzureadGroupRoleManagementPolicyTimeoutsToHclTerraform(this._timeouts.internalValue),
232
+ isBlock: true,
233
+ type: "struct",
234
+ storageClassType: "DataAzureadGroupRoleManagementPolicyTimeouts",
235
+ },
236
+ };
237
+ // remove undefined attributes
238
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
239
+ }
240
+ }
241
+ exports.DataAzureadGroupRoleManagementPolicy = DataAzureadGroupRoleManagementPolicy;
242
+ _b = JSII_RTTI_SYMBOL_1;
243
+ DataAzureadGroupRoleManagementPolicy[_b] = { fqn: "@cdktn/provider-azuread.dataAzureadGroupRoleManagementPolicy.DataAzureadGroupRoleManagementPolicy", version: "15.0.0" };
244
+ // =================
245
+ // STATIC PROPERTIES
246
+ // =================
247
+ DataAzureadGroupRoleManagementPolicy.tfResourceType = "azuread_group_role_management_policy";
248
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZGF0YS1henVyZWFkLWdyb3VwLXJvbGUtbWFuYWdlbWVudC1wb2xpY3kvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQStDQSwwSEFRQztBQUdELGdJQWdCQzs7QUFqRUQsK0JBQStCO0FBc0MvQixTQUFnQix1REFBdUQsQ0FBQyxNQUF5RTtJQUMvSSxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxLQUFLLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQUMsT0FBTyxNQUFNLENBQUM7SUFBQyxDQUFDO0lBQzVGLElBQUksS0FBSyxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFDbkMsTUFBTSxJQUFJLEtBQUssQ0FBQyxvSEFBb0gsQ0FBQyxDQUFDO0lBQ3hJLENBQUM7SUFDRCxPQUFPO1FBQ0wsSUFBSSxFQUFFLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxNQUFPLENBQUMsSUFBSSxDQUFDO0tBQzVDLENBQUE7QUFDSCxDQUFDO0FBR0QsU0FBZ0IsMERBQTBELENBQUMsTUFBeUU7SUFDbEosSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksS0FBSyxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUFDLE9BQU8sTUFBTSxDQUFDO0lBQUMsQ0FBQztJQUM1RixJQUFJLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQ25DLE1BQU0sSUFBSSxLQUFLLENBQUMsb0hBQW9ILENBQUMsQ0FBQztJQUN4SSxDQUFDO0lBQ0QsTUFBTSxLQUFLLEdBQUc7UUFDWixJQUFJLEVBQUU7WUFDSixLQUFLLEVBQUUsS0FBSyxDQUFDLG9CQUFvQixDQUFDLE1BQU8sQ0FBQyxJQUFJLENB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QjtZQUNELE9BQU8sRUFBRTtnQkFDUCxLQUFLLEVBQUUsS0FBSyxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7Z0JBQy9DLE9BQU8sRUFBRSxLQUFLO2dCQUNkLElBQUksRUFBRSxRQUFRO2dCQUNkLGdCQUFnQixFQUFFLFFBQVE7YUFDM0I7WUFDRCxRQUFRLEVBQUU7Z0JBQ1IsS0FBSyxFQUFFLDBEQUEwRCxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDO2dCQUMvRixPQUFPLEVBQUUsSUFBSTtnQkFDYixJQUFJLEVBQUUsUUFBUTtnQkFDZCxnQkFBZ0IsRUFBRSw4Q0FBOEM7YUFDakU7U0FDRixDQUFDO1FBRUYsOEJBQThCO1FBQzlCLE9BQU8sTUFBTSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUUsQ0FBQyxLQUFLLEtBQUssU0FBUyxJQUFJLEtBQUssQ0FBQyxLQUFLLEtBQUssU0FBUyxDQUFFLENBQUMsQ0FBQTtJQUM1SCxDQUFDOztBQXpLSCxvRkEwS0M7OztBQXhLQyxvQkFBb0I7QUFDcEIsb0JBQW9CO0FBQ3BCLG9CQUFvQjtBQUNHLG1EQUFjLEdBQUcsc0NBQXNDLEFBQXpDLENBQTBDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgSUJNIENvcnAuIDIwMjEsIDIwMjZcbiAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNUEwtMi4wXG4gKi9cblxuLy8gaHR0cHM6Ly9yZWdpc3RyeS50ZXJyYWZvcm0uaW8vcHJvdmlkZXJzL2hhc2hpY29ycC9henVyZWFkLzMuNy4wL2RvY3MvZGF0YS1zb3VyY2VzL2dyb3VwX3JvbGVfbWFuYWdlbWVudF9wb2xpY3lcbi8vIGdlbmVyYXRlZCBmcm9tIHRlcnJhZm9ybSByZXNvdXJjZSBzY2hlbWFcblxuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgKiBhcyBjZGt0biBmcm9tICdjZGt0bic7XG5cbi8vIENvbmZpZ3VyYXRpb25cblxuZXhwb3J0IGludGVyZmFjZSBEYXRhQXp1cmVhZEdyb3VwUm9sZU1hbmFnZW1lbnRQb2xpY3lDb25maWcgZXh0ZW5kcyBjZGt0bi5UZXJyYWZvcm1NZXRhQXJndW1lbnRzIHtcbiAgLyoqXG4gICogSUQgb2YgdGhlIGdyb3VwIHRvIHdoaWNoIHRoaXMgcG9saWN5IGlzIGFzc2lnbmVkXG4gICpcbiAgKiBEb2NzIGF0IFRlcnJhZm9ybSBSZWdpc3RyeToge0BsaW5rIGh0dHBzOi8vcmVnaXN0cnkudGVycmFmb3JtLmlvL3Byb3ZpZGVycy9oYXNoaWNvcnAvYXp1cmVhZC8zLjcuMC9kb2NzL2RhdGEtc291cmNlcy9ncm91cF9yb2xlX21hbmFnZW1lbnRfcG9saWN5I2dyb3VwX2lkIERhdGFBenVyZWFkR3JvdXBSb2xlTWFuYWdlbWVudFBvbGljeSNncm91cF9pZH1cbiAgKi9cbiAgcmVhZG9ubHkgZ3JvdXBJZDogc3RyaW5nO1xuICAvKipcbiAgKiBEb2NzIGF0IFRlcnJhZm9ybSBSZWdpc3RyeToge0BsaW5rIGh0dHBzOi8vcmVnaXN0cnkudGVycmFmb3JtLmlvL3Byb3ZpZGVycy9oYXNoaWNvcnAvYXp1cmVhZC8zLjcuMC9kb2NzL2RhdGEtc291cmNlcy9ncm91cF9yb2xlX21hbmFnZW1lbnRfcG9saWN5I2lkIERhdGFBenVyZWFkR3JvdXBSb2xlTWFuYWdlbWVudFBvbGljeSNpZH1cbiAgKlxuICAqIFBsZWFzZSBiZSBhd2FyZSB0aGF0IHRoZSBpZCBmaWVsZCBpcyBhdXRvbWF0aWNhbGx5IGFkZGVkIHRvIGFsbCByZXNvdXJjZXMgaW4gVGVycmFmb3JtIHByb3ZpZGVycyB1c2luZyBhIFRlcnJhZm9ybSBwcm92aWRlciBTREsgdmVyc2lvbiBiZWxvdyAyLlxuICAqIElmIHlvdSBleHBlcmllbmNlIHByb2JsZW1zIHNldHRpbmcgdGhpcyB2YWx1ZSBpdCBtaWdodCBub3QgYmUgc2V0dGFibGUuIFBsZWFzZSB0YWtlIGEgbG9vayBhdCB0aGUgcHJvdmlkZXIgZG9jdW1lbnRhdGlvbiB0byBlbnN1cmUgaXQgc2hvdWxkIGJlIHNldHRhYmxlLlxuICAqL1xuICByZWFkb25seSBpZD86IHN0cmluZztcbiAgLyoqXG4gICogVGhlIElEIG9mIHRoZSByb2xlIG9mIHRoaXMgcG9saWN5IHRvIHRoZSBncm91cFxuICAqXG4gICogRG9jcyBhdCBUZXJyYWZvcm0gUmVnaXN0cnk6IHtAbGluayBodHRwczovL3JlZ2lzdHJ5LnRlcnJhZm9ybS5pby9wcm92aWRlcnMvaGFzaGljb3JwL2F6dXJlYWQvMy43LjAvZG9jcy9kYXRhLXNvdXJjZXMvZ3JvdXBfcm9sZV9tYW5hZ2VtZW50X3BvbGljeSNyb2xlX2lkIERhdGFBenVyZWFkR3JvdXBSb2xlTWFuYWdlbWVudFBvbGljeSNyb2xlX2lkfVxuICAqL1xuICByZWFkb25seSByb2xlSWQ6IHN0cmluZztcbiAgLyoqXG4gICogdGltZW91dHMgYmxvY2tcbiAgKlxuICAqIERvY3MgYXQgVGVycmFmb3JtIFJlZ2lzdHJ5OiB7QGxpbmsgaHR0cHM6Ly9yZWdpc3RyeS50ZXJyYWZvcm0uaW8vcHJvdmlkZXJzL2hhc2hpY29ycC9henVyZWFkLzMuNy4wL2RvY3MvZGF0YS1zb3VyY2VzL2dyb3VwX3JvbGVfbWFuYWdlbWVudF9wb2xpY3kjdGltZW91dHMgRGF0YUF6dXJlYWRHcm91cFJvbGVNYW5hZ2VtZW50UG9saWN5I3RpbWVvdXRzfVxuICAqL1xuICByZWFkb25seSB0aW1lb3V0cz86IERhdGFBenVyZWFkR3JvdXBSb2xlTWFuYWdlbWVudFBvbGljeVRpbWVvdXRzO1xufVxuZXhwb3J0IGludGVyZmFjZSBEYXRhQXp1cmVhZEdyb3VwUm9sZU1hbmFnZW1lbnRQb2xpY3lUaW1lb3V0cyB7XG4gIC8qKlxuICAqIERvY3MgYXQgVGVycmFmb3JtIFJlZ2lzdHJ5OiB7QGxpbmsgaHR0cHM6Ly9yZWdpc3RyeS50ZXJyYWZvcm0uaW8vcHJvdmlkZXJzL2hhc2hpY29ycC9henVyZWFkLzMuNy4wL2RvY3MvZGF0YS1zb3VyY2VzL2dyb3VwX3JvbGVfbWFuYWdlbWVudF9wb2xpY3kjcmVhZCBEYXRhQXp1cmVhZEdyb3VwUm9sZU1hbmFnZW1lbnRQb2xpY3kjcmVhZH1cbiAgKi9cbiAgcmVhZG9ubHkgcmVhZD86IHN0cmluZztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRhdGFBenVyZWFkR3JvdXBSb2xlTWFuYWdlbWVudFBvbGljeVRpbWVvdXRzVG9UZXJyYWZvcm0oc3RydWN0PzogRGF0YUF6dXJlYWRHcm91cFJvbGVNYW5hZ2VtZW50UG9saWN5VGltZW91dHMgfCBjZGt0bi5JUmVzb2x2YWJsZSk6IGFueSB7XG4gIGlmICghY2RrdG4uY2FuSW5zcGVjdChzdHJ1Y3QpIHx8IGNka3RuLlRva2VuaXphdGlvbi5pc1Jlc29sdmFibGUoc3RydWN0KSkgeyByZXR1cm4gc3RydWN0OyB9XG4gIGlmIChjZGt0bi5pc0NvbXBsZXhFbGVtZW50KHN0cnVjdCkpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJBIGNvbXBsZXggZWxlbWVudCB3YXMgdXNlZCBhcyBjb25maWd1cmF0aW9uLCB0aGlzIGlzIG5vdCBzdXBwb3J0ZWQ6IGh0dHBzOi8vY2RrLnRmL2NvbXBsZXgtb2JqZWN0LWFzLWNvbmZpZ3VyYXRpb25cIik7XG4gIH1cbiAgcmV0dXJuIHtcbiAgICByZWFkOiBjZGt0bi5zdHJpbmdUb1RlcnJhZm9ybShzdHJ1Y3QhLnJlYWQpLFxuICB9XG59XG5cblxuZXhwb3J0IGZ1bmN0aW9uIGRhdGFBenVyZWFkR3JvdXBSb2xlTWFuYWdlbWVudFBvbGljeVRpbWVvdXRzVG9IY2xUZXJyYWZvcm0oc3RydWN0PzogRGF0YUF6dXJlYWRHcm91cFJvbGVNYW5hZ2VtZW50UG9saWN5VGltZW91dHMgfCBjZGt0bi5JUmVzb2x2YWJsZSk6IGFueSB7XG4gIGlmICghY2RrdG4uY2FuSW5zcGVjdChzdHJ1Y3QpIHx8IGNka3RuLlRva2VuaXphdGlvbi5pc1Jlc29sdmFibGUoc3RydWN0KSkgeyByZXR1cm4gc3RydWN0OyB9XG4gIGlmIChjZGt0bi5pc0NvbXBsZXhFbGVtZW50KHN0cnVjdCkpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJBIGNvbXBsZXggZWxlbWVudCB3YXMgdXNlZCBhcyBjb25maWd1cmF0aW9uLCB0aGlzIGlzIG5vdCBzdXBwb3J0ZWQ6IGh0dHBzOi8vY2RrLnRmL2NvbXBsZXgtb2JqZWN0LWFzLWNvbmZpZ3VyYXRpb25cIik7XG4gIH1cbiAgY29uc3QgYXR0cnMgPSB7XG4gICAgcmVhZDoge1xuICAgICAgdmFsdWU6IGNka3RuLnN0cmluZ1RvSGNsVGVycmFmb3JtKHN0cnVjdCEucmVhZCksXG4gICAgICBpc0Jsb2NrOiBmYWxzZSxcbiAgICAgIHR5cGU6IFwic2ltcGxlXCIsXG4gICAgICBzdG9yYWdlQ2xhc3NUeXBlOiBcInN0cmluZ1wiLFxuICAgIH0sXG4gIH07XG5cbiAgLy8gcmVtb3ZlIHVuZGVmaW5lZCBhdHRyaWJ1dGVzXG4gIHJldHVybiBPYmplY3QuZnJvbUVudHJpZXMoT2JqZWN0LmVudHJpZXMoYXR0cnMpLmZpbHRlcigoW18sIHZhbHVlXSkgPT4gdmFsdWUgIT09IHVuZGVmaW5lZCAmJiB2YWx1ZS52YWx1ZSAhPT0gdW5kZWZpbmVkKSk7XG59XG5cbmV4cG9ydCBjbGFzcyBEYXRhQXp1cmVhZEdyb3VwUm9sZU1hbmFnZW1lbnRQb2xpY3lUaW1lb3V0c091dHB1dFJlZmVyZW5jZSBleHRlbmRzIGNka3RuLkNvbXBsZXhPYmplY3Qge1xuICBwcml2YXRlIGlzRW1wdHlPYmplY3QgPSBmYWxzZTtcbiAgcHJpdmF0ZSByZXNvbHZhYmxlVmFsdWU/OiBjZGt0bi5JUmVzb2x2YWJsZTtcblxuICAvKipcbiAgKiBAcGFyYW0gdGVycmFmb3JtUmVzb3VyY2UgVGhlIHBhcmVudCByZXNvdXJjZVxuICAqIEBwYXJhbSB0ZXJyYWZvcm1BdHRyaWJ1dGUgVGhlIGF0dHJpYnV0ZSBvbiB0aGUgcGFyZW50IHJlc291cmNlIHRoaXMgY2xhc3MgaXMgcmVmZXJlbmNpbmdcbiAgKi9cbiAgcHVibGljIGNvbnN0cnVjdG9yKHRlcnJhZm9ybVJlc291cmNlOiBjZGt0bi5JSW50ZXJwb2xhdGluZ1BhcmVudCwgdGVycmFmb3JtQXR0cmlidXRlOiBzdHJpbmcpIHtcbiAgICBzdXBlcih0ZXJyYWZvcm1SZXNvdXJjZSwgdGVycmFmb3JtQXR0cmlidXRlLCBmYWxzZSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGludGVybmFsVmFsdWUoKTogRGF0YUF6dXJlYWRHcm91cFJvbGVNYW5hZ2VtZW50UG9saWN5VGltZW91dHMgfCBjZGt0bi5JUmVzb2x2YWJsZSB8IHVuZGVmaW5lZCB7XG4gICAgaWYgKHRoaXMucmVzb2x2YWJsZVZhbHVlKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZXNvbHZhYmxlVmFsdWU7XG4gICAgfVxuICAgIGxldCBoYXNBbnlWYWx1ZXMgPSB0aGlzLmlzRW1wdHlPYmplY3Q7XG4gICAgY29uc3QgaW50ZXJuYWxWYWx1ZVJlc3VsdDogYW55ID0ge307XG4gICAgaWYgKHRoaXMuX3JlYWQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgaGFzQW55VmFsdWVzID0gdHJ1ZTtcbiAgICAgIGludGVybmFsVmFsdWVSZXN1bHQucmVhZCA9IHRoaXMuX3JlYWQ7XG4gICAgfVxuICAgIHJldHVybiBoYXNBbnlWYWx1ZXMgPyBpbnRlcm5hbFZhbHVlUmVzdWx0IDogdW5kZWZpbmVkO1xuICB9XG5cbiAgcHVibGljIHNldCBpbnRlcm5hbFZhbHVlKHZhbHVlOiBEYXRhQXp1cmVhZEdyb3VwUm9sZU1hbmFnZW1lbnRQb2xpY3lUaW1lb3V0cyB8IGNka3RuLklSZXNvbHZhYmxlIHwgdW5kZWZpbmVkKSB7XG4gICAgaWYgKHZhbHVlID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMuaXNFbXB0eU9iamVjdCA9IGZhbHNlO1xuICAgICAgdGhpcy5yZXNvbHZhYmxlVmFsdWUgPSB1bmRlZmluZWQ7XG4gICAgICB0aGlzLl9yZWFkID0gdW5kZWZpbmVkO1xuICAgIH1cbiAgICBlbHNlIGlmIChjZGt0bi5Ub2tlbml6YXRpb24uaXNSZXNvbHZhYmxlKHZhbHVlKSkge1xuICAgICAgdGhpcy5pc0VtcHR5T2JqZWN0ID0gZmFsc2U7XG4gICAgICB0aGlzLnJlc29sdmFibGVWYWx1ZSA9IHZhbHVlO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgIHRoaXMuaXNFbXB0eU9iamVjdCA9IE9iamVjdC5rZXlzKHZhbHVlKS5sZW5ndGggPT09IDA7XG4gICAgICB0aGlzLnJlc29sdmFibGVWYWx1ZSA9IHVuZGVmaW5lZDtcbiAgICAgIHRoaXMuX3JlYWQgPSB2YWx1ZS5yZWFkO1xuICAgIH1cbiAgfVxuXG4gIC8vIHJlYWQgLSBjb21wdXRlZDogZmFsc2UsIG9wdGlvbmFsOiB0cnVlLCByZXF1aXJlZDogZmFsc2VcbiAgcHJpdmF0ZSBfcmVhZD86IHN0cmluZzsgXG4gIHB1YmxpYyBnZXQgcmVhZCgpIHtcbiAgICByZXR1cm4gdGhpcy5nZXRTdHJpbmdBdHRyaWJ1dGUoJ3JlYWQnKTtcbiAgfVxuICBwdWJsaWMgc2V0IHJlYWQodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuX3JlYWQgPSB2YWx1ZTtcbiAgfVxuICBwdWJsaWMgcmVzZXRSZWFkKCkge1xuICAgIHRoaXMuX3JlYWQgPSB1bmRlZmluZWQ7XG4gIH1cbiAgLy8gVGVtcG9yYXJpbHkgZXhwb3NlIGlucHV0IHZhbHVlLiBVc2Ugd2l0aCBjYXV0aW9uLlxuICBwdWJsaWMgZ2V0IHJlYWRJbnB1dCgpIHtcbiAgICByZXR1cm4gdGhpcy5fcmVhZDtcbiAgfVxufVxuXG4vKipcbiogUmVwcmVzZW50cyBhIHtAbGluayBodHRwczovL3JlZ2lzdHJ5LnRlcnJhZm9ybS5pby9wcm92aWRlcnMvaGFzaGljb3JwL2F6dXJlYWQvMy43LjAvZG9jcy9kYXRhLXNvdXJjZXMvZ3JvdXBfcm9sZV9tYW5hZ2VtZW50X3BvbGljeSBhenVyZWFkX2dyb3VwX3JvbGVfbWFuYWdlbWVudF9wb2xpY3l9XG4qL1xuZXhwb3J0IGNsYXNzIERhdGFBenVyZWFkR3JvdXBSb2xlTWFuYWdlbWVudFBvbGljeSBleHRlbmRzIGNka3RuLlRlcnJhZm9ybURhdGFTb3VyY2Uge1xuXG4gIC8vID09PT09PT09PT09PT09PT09XG4gIC8vIFNUQVRJQyBQUk9QRVJUSUVTXG4gIC8vID09PT09PT09PT09PT09PT09XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgdGZSZXNvdXJjZVR5cGUgPSBcImF6dXJlYWRfZ3JvdXBfcm9sZV9tYW5hZ2VtZW50X3BvbGljeVwiO1xuXG4gIC8vID09PT09PT09PT09PT09XG4gIC8vIFNUQVRJQyBNZXRob2RzXG4gIC8vID09PT09PT09PT09PT09XG4gIC8qKlxuICAqIEdlbmVyYXRlcyBDREtUTiBjb2RlIGZvciBpbXBvcnRpbmcgYSBEYXRhQXp1cmVhZEdyb3VwUm9sZU1hbmFnZW1lbnRQb2xpY3kgcmVzb3VyY2UgdXBvbiBydW5uaW5nIFwiY2RrdG4gcGxhbiA8c3RhY2stbmFtZT5cIlxuICAqIEBwYXJhbSBzY29wZSBUaGUgc2NvcGUgaW4gd2hpY2ggdG8gZGVmaW5lIHRoaXMgY29uc3RydWN0XG4gICogQHBhcmFtIGltcG9ydFRvSWQgVGhlIGNvbnN0cnVjdCBpZCB1c2VkIGluIHRoZSBnZW5lcmF0ZWQgY29uZmlnIGZvciB0aGUgRGF0YUF6dXJlYWRHcm91cFJvbGVNYW5hZ2VtZW50UG9saWN5IHRvIGltcG9ydFxuICAqIEBwYXJhbSBpbXBvcnRGcm9tSWQgVGhlIGlkIG9mIHRoZSBleGlzdGluZyBEYXRhQXp1cmVhZEdyb3VwUm9sZU1hbmFnZW1lbnRQb2xpY3kgdGhhdCBzaG91bGQgYmUgaW1wb3J0ZWQuIFJlZmVyIHRvIHRoZSB7QGxpbmsgaHR0cHM6Ly9yZWdpc3RyeS50ZXJyYWZvcm0uaW8vcHJvdmlkZXJzL2hhc2hpY29ycC9henVyZWFkLzMuNy4wL2RvY3MvZGF0YS1zb3VyY2VzL2dyb3VwX3JvbGVfbWFuYWdlbWVudF9wb2xpY3kjaW1wb3J0IGltcG9ydCBzZWN0aW9ufSBpbiB0aGUgZG9jdW1lbnRhdGlvbiBvZiB0aGlzIHJlc291cmNlIGZvciB0aGUgaWQgdG8gdXNlXG4gICogQHBhcmFtIHByb3ZpZGVyPyBPcHRpb25hbCBpbnN0YW5jZSBvZiB0aGUgcHJvdmlkZXIgd2hlcmUgdGhlIERhdGFBenVyZWFkR3JvdXBSb2xlTWFuYWdlbWVudFBvbGljeSB0byBpbXBvcnQgaXMgZm91bmRcbiAgKi9cbiAgcHVibGljIHN0YXRpYyBnZW5lcmF0ZUNvbmZpZ0ZvckltcG9ydChzY29wZTogQ29uc3RydWN0LCBpbXBvcnRUb0lkOiBzdHJpbmcsIGltcG9ydEZyb21JZDogc3RyaW5nLCBwcm92aWRlcj86IGNka3RuLlRlcnJhZm9ybVByb3ZpZGVyKSB7XG4gICAgICAgIHJldHVybiBuZXcgY2RrdG4uSW1wb3J0YWJsZVJlc291cmNlKHNjb3BlLCBpbXBvcnRUb0lkLCB7IHRlcnJhZm9ybVJlc291cmNlVHlwZTogXCJhenVyZWFkX2dyb3VwX3JvbGVfbWFuYWdlbWVudF9wb2xpY3lcIiwgaW1wb3J0SWQ6IGltcG9ydEZyb21JZCwgcHJvdmlkZXIgfSk7XG4gICAgICB9XG5cbiAgLy8gPT09PT09PT09PT1cbiAgLy8gSU5JVElBTElaRVJcbiAgLy8gPT09PT09PT09PT1cblxuICAvKipcbiAgKiBDcmVhdGUgYSBuZXcge0BsaW5rIGh0dHBzOi8vcmVnaXN0cnkudGVycmFmb3JtLmlvL3Byb3ZpZGVycy9oYXNoaWNvcnAvYXp1cmVhZC8zLjcuMC9kb2NzL2RhdGEtc291cmNlcy9ncm91cF9yb2xlX21hbmFnZW1lbnRfcG9saWN5IGF6dXJlYWRfZ3JvdXBfcm9sZV9tYW5hZ2VtZW50X3BvbGljeX0gRGF0YSBTb3VyY2VcbiAgKlxuICAqIEBwYXJhbSBzY29wZSBUaGUgc2NvcGUgaW4gd2hpY2ggdG8gZGVmaW5lIHRoaXMgY29uc3RydWN0XG4gICogQHBhcmFtIGlkIFRoZSBzY29wZWQgY29uc3RydWN0IElELiBNdXN0IGJlIHVuaXF1ZSBhbW9uZ3N0IHNpYmxpbmdzIGluIHRoZSBzYW1lIHNjb3BlXG4gICogQHBhcmFtIG9wdGlvbnMgRGF0YUF6dXJlYWRHcm91cFJvbGVNYW5hZ2VtZW50UG9saWN5Q29uZmlnXG4gICovXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBjb25maWc6IERhdGFBenVyZWFkR3JvdXBSb2xlTWFuYWdlbWVudFBvbGljeUNvbmZpZykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCwge1xuICAgICAgdGVycmFmb3JtUmVzb3VyY2VUeXBlOiAnYXp1cmVhZF9ncm91cF9yb2xlX21hbmFnZW1lbnRfcG9saWN5JyxcbiAgICAgIHRlcnJhZm9ybUdlbmVyYXRvck1ldGFkYXRhOiB7XG4gICAgICAgIHByb3ZpZGVyTmFtZTogJ2F6dXJlYWQnLFxuICAgICAgICBwcm92aWRlclZlcnNpb246ICczLjcuMCcsXG4gICAgICAgIHByb3ZpZGVyVmVyc2lvbkNvbnN0cmFpbnQ6ICd+PiAzLjAnXG4gICAgICB9LFxuICAgICAgcHJvdmlkZXI6IGNvbmZpZy5wcm92aWRlcixcbiAgICAgIGRlcGVuZHNPbjogY29uZmlnLmRlcGVuZHNPbixcbiAgICAgIGNvdW50OiBjb25maWcuY291bnQsXG4gICAgICBsaWZlY3ljbGU6IGNvbmZpZy5saWZlY3ljbGUsXG4gICAgICBwcm92aXNpb25lcnM6IGNvbmZpZy5wcm92aXNpb25lcnMsXG4gICAgICBjb25uZWN0aW9uOiBjb25maWcuY29ubmVjdGlvbixcbiAgICAgIGZvckVhY2g6IGNvbmZpZy5mb3JFYWNoXG4gICAgfSk7XG4gICAgdGhpcy5fZ3JvdXBJZCA9IGNvbmZpZy5ncm91cElkO1xuICAgIHRoaXMuX2lkID0gY29uZmlnLmlkO1xuICAgIHRoaXMuX3JvbGVJZCA9IGNvbmZpZy5yb2xlSWQ7XG4gICAgdGhpcy5fdGltZW91dHMuaW50ZXJuYWxWYWx1ZSA9IGNvbmZpZy50aW1lb3V0cztcbiAgfVxuXG4gIC8vID09PT09PT09PT1cbiAgLy8gQVRUUklCVVRFU1xuICAvLyA9PT09PT09PT09XG5cbiAgLy8gZGVzY3JpcHRpb24gLSBjb21wdXRlZDogdHJ1ZSwgb3B0aW9uYWw6IGZhbHNlLCByZXF1aXJlZDogZmFsc2VcbiAgcHVibGljIGdldCBkZXNjcmlwdGlvbigpIHtcbiAgICByZXR1cm4gdGhpcy5nZXRTdHJpbmdBdHRyaWJ1dGUoJ2Rlc2NyaXB0aW9uJyk7XG4gIH1cblxuICAvLyBkaXNwbGF5X25hbWUgLSBjb21wdXRlZDogdHJ1ZSwgb3B0aW9uYWw6IGZhbHNlLCByZXF1aXJlZDogZmFsc2VcbiAgcHVibGljIGdldCBkaXNwbGF5TmFtZSgpIHtcbiAgICByZXR1cm4gdGhpcy5nZXRTdHJpbmdBdHRyaWJ1dGUoJ2Rpc3BsYXlfbmFtZScpO1xuICB9XG5cbiAgLy8gZ3JvdXBfaWQgLSBjb21wdXRlZDogZmFsc2UsIG9wdGlvbmFsOiBmYWxzZSwgcmVxdWlyZWQ6IHRydWVcbiAgcHJpdmF0ZSBfZ3JvdXBJZD86IHN0cmluZzsgXG4gIHB1YmxpYyBnZXQgZ3JvdXBJZCgpIHtcbiAgICByZXR1cm4gdGhpcy5nZXRTdHJpbmdBdHRyaWJ1dGUoJ2dyb3VwX2lkJyk7XG4gIH1cbiAgcHVibGljIHNldCBncm91cElkKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLl9ncm91cElkID0gdmFsdWU7XG4gIH1cbiAgLy8gVGVtcG9yYXJpbHkgZXhwb3NlIGlucHV0IHZhbHVlLiBVc2Ugd2l0aCBjYXV0aW9uLlxuICBwdWJsaWMgZ2V0IGdyb3VwSWRJbnB1dCgpIHtcbiAgICByZXR1cm4gdGhpcy5fZ3JvdXBJZDtcbiAgfVxuXG4gIC8vIGlkIC0gY29tcHV0ZWQ6IHRydWUsIG9wdGlvbmFsOiB0cnVlLCByZXF1aXJlZDogZmFsc2VcbiAgcHJpdmF0ZSBfaWQ/OiBzdHJpbmc7IFxuICBwdWJsaWMgZ2V0IGlkKCkge1xuICAgIHJldHVybiB0aGlzLmdldFN0cmluZ0F0dHJpYnV0ZSgnaWQnKTtcbiAgfVxuICBwdWJsaWMgc2V0IGlkKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLl9pZCA9IHZhbHVlO1xuICB9XG4gIHB1YmxpYyByZXNldElkKCkge1xuICAgIHRoaXMuX2lkID0gdW5kZWZpbmVkO1xuICB9XG4gIC8vIFRlbXBvcmFyaWx5IGV4cG9zZSBpbnB1dCB2YWx1ZS4gVXNlIHdpdGggY2F1dGlvbi5cbiAgcHVibGljIGdldCBpZElucHV0KCkge1xuICAgIHJldHVybiB0aGlzLl9pZDtcbiAgfVxuXG4gIC8vIHJvbGVfaWQgLSBjb21wdXRlZDogZmFsc2UsIG9wdGlvbmFsOiBmYWxzZSwgcmVxdWlyZWQ6IHRydWVcbiAgcHJpdmF0ZSBfcm9sZUlkPzogc3RyaW5nOyBcbiAgcHVibGljIGdldCByb2xlSWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0U3RyaW5nQXR0cmlidXRlKCdyb2xlX2lkJyk7XG4gIH1cbiAgcHVibGljIHNldCByb2xlSWQodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuX3JvbGVJZCA9IHZhbHVlO1xuICB9XG4gIC8vIFRlbXBvcmFyaWx5IGV4cG9zZSBpbnB1dCB2YWx1ZS4gVXNlIHdpdGggY2F1dGlvbi5cbiAgcHVibGljIGdldCByb2xlSWRJbnB1dCgpIHtcbiAgICByZXR1cm4gdGhpcy5fcm9sZUlkO1xuICB9XG5cbiAgLy8gdGltZW91dHMgLSBjb21wdXRlZDogZmFsc2UsIG9wdGlvbmFsOiB0cnVlLCByZXF1aXJlZDogZmFsc2VcbiAgcHJpdmF0ZSBfdGltZW91dHMgPSBuZXcgRGF0YUF6dXJlYWRHcm91cFJvbGVNYW5hZ2VtZW50UG9saWN5VGltZW91dHNPdXRwdXRSZWZlcmVuY2UodGhpcywgXCJ0aW1lb3V0c1wiKTtcbiAgcHVibGljIGdldCB0aW1lb3V0cygpIHtcbiAgICByZXR1cm4gdGhpcy5fdGltZW91dHM7XG4gIH1cbiAgcHVibGljIHB1dFRpbWVvdXRzKHZhbHVlOiBEYXRhQXp1cmVhZEdyb3VwUm9sZU1hbmFnZW1lbnRQb2xpY3lUaW1lb3V0cykge1xuICAgIHRoaXMuX3RpbWVvdXRzLmludGVybmFsVmFsdWUgPSB2YWx1ZTtcbiAgfVxuICBwdWJsaWMgcmVzZXRUaW1lb3V0cygpIHtcbiAgICB0aGlzLl90aW1lb3V0cy5pbnRlcm5hbFZhbHVlID0gdW5kZWZpbmVkO1xuICB9XG4gIC8vIFRlbXBvcmFyaWx5IGV4cG9zZSBpbnB1dCB2YWx1ZS4gVXNlIHdpdGggY2F1dGlvbi5cbiAgcHVibGljIGdldCB0aW1lb3V0c0lucHV0KCkge1xuICAgIHJldHVybiB0aGlzLl90aW1lb3V0cy5pbnRlcm5hbFZhbHVlO1xuICB9XG5cbiAgLy8gPT09PT09PT09XG4gIC8vIFNZTlRIRVNJU1xuICAvLyA9PT09PT09PT1cblxuICBwcm90ZWN0ZWQgc3ludGhlc2l6ZUF0dHJpYnV0ZXMoKTogeyBbbmFtZTogc3RyaW5nXTogYW55IH0ge1xuICAgIHJldHVybiB7XG4gICAgICBncm91cF9pZDogY2RrdG4uc3RyaW5nVG9UZXJyYWZvcm0odGhpcy5fZ3JvdXBJZCksXG4gICAgICBpZDogY2RrdG4uc3RyaW5nVG9UZXJyYWZvcm0odGhpcy5faWQpLFxuICAgICAgcm9sZV9pZDogY2RrdG4uc3RyaW5nVG9UZXJyYWZvcm0odGhpcy5fcm9sZUlkKSxcbiAgICAgIHRpbWVvdXRzOiBkYXRhQXp1cmVhZEdyb3VwUm9sZU1hbmFnZW1lbnRQb2xpY3lUaW1lb3V0c1RvVGVycmFmb3JtKHRoaXMuX3RpbWVvdXRzLmludGVybmFsVmFsdWUpLFxuICAgIH07XG4gIH1cblxuICBwcm90ZWN0ZWQgc3ludGhlc2l6ZUhjbEF0dHJpYnV0ZXMoKTogeyBbbmFtZTogc3RyaW5nXTogYW55IH0ge1xuICAgIGNvbnN0IGF0dHJzID0ge1xuICAgICAgZ3JvdXBfaWQ6IHtcbiAgICAgICAgdmFsdWU6IGNka3RuLnN0cmluZ1RvSGNsVGVycmFmb3JtKHRoaXMuX2dyb3VwSWQpLFxuICAgICAgICBpc0Jsb2NrOiBmYWxzZSxcbiAgICAgICAgdHlwZTogXCJzaW1wbGVcIixcbiAgICAgICAgc3RvcmFnZUNsYXNzVHlwZTogXCJzdHJpbmdcIixcbiAgICAgIH0sXG4gICAgICBpZDoge1xuICAgICAgICB2YWx1ZTogY2RrdG4uc3RyaW5nVG9IY2xUZXJyYWZvcm0odGhpcy5faWQpLFxuICAgICAgICBpc0Jsb2NrOiBmYWxzZSxcbiAgICAgICAgdHlwZTogXCJzaW1wbGVcIixcbiAgICAgICAgc3RvcmFnZUNsYXNzVHlwZTogXCJzdHJpbmdcIixcbiAgICAgIH0sXG4gICAgICByb2xlX2lkOiB7XG4gICAgICAgIHZhbHVlOiBjZGt0bi5zdHJpbmdUb0hjbFRlcnJhZm9ybSh0aGlzLl9yb2xlSWQpLFxuICAgICAgICBpc0Jsb2NrOiBmYWxzZSxcbiAgICAgICAgdHlwZTogXCJzaW1wbGVcIixcbiAgICAgICAgc3RvcmFnZUNsYXNzVHlwZTogXCJzdHJpbmdcIixcbiAgICAgIH0sXG4gICAgICB0aW1lb3V0czoge1xuICAgICAgICB2YWx1ZTogZGF0YUF6dXJlYWRHcm91cFJvbGVNYW5hZ2VtZW50UG9saWN5VGltZW91dHNUb0hjbFRlcnJhZm9ybSh0aGlzLl90aW1lb3V0cy5pbnRlcm5hbFZhbHVlKSxcbiAgICAgICAgaXNCbG9jazogdHJ1ZSxcbiAgICAgICAgdHlwZTogXCJzdHJ1Y3RcIixcbiAgICAgICAgc3RvcmFnZUNsYXNzVHlwZTogXCJEYXRhQXp1cmVhZEdyb3VwUm9sZU1hbmFnZW1lbnRQb2xpY3lUaW1lb3V0c1wiLFxuICAgICAgfSxcbiAgICB9O1xuXG4gICAgLy8gcmVtb3ZlIHVuZGVmaW5lZCBhdHRyaWJ1dGVzXG4gICAgcmV0dXJuIE9iamVjdC5mcm9tRW50cmllcyhPYmplY3QuZW50cmllcyhhdHRycykuZmlsdGVyKChbXywgdmFsdWVdKSA9PiB2YWx1ZSAhPT0gdW5kZWZpbmVkICYmIHZhbHVlLnZhbHVlICE9PSB1bmRlZmluZWQgKSlcbiAgfVxufVxuIl19
@@ -0,0 +1,160 @@
1
+ /**
2
+ * Copyright IBM Corp. 2021, 2026
3
+ * SPDX-License-Identifier: MPL-2.0
4
+ */
5
+ import { Construct } from 'constructs';
6
+ import * as cdktn from 'cdktn';
7
+ export interface DataAzureadGroupsConfig extends cdktn.TerraformMetaArguments {
8
+ /**
9
+ * Common display name prefix of the groups
10
+ *
11
+ * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azuread/3.7.0/docs/data-sources/groups#display_name_prefix DataAzureadGroups#display_name_prefix}
12
+ */
13
+ readonly displayNamePrefix?: string;
14
+ /**
15
+ * The display names of the groups
16
+ *
17
+ * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azuread/3.7.0/docs/data-sources/groups#display_names DataAzureadGroups#display_names}
18
+ */
19
+ readonly displayNames?: string[];
20
+ /**
21
+ * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azuread/3.7.0/docs/data-sources/groups#id DataAzureadGroups#id}
22
+ *
23
+ * Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
24
+ * If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.
25
+ */
26
+ readonly id?: string;
27
+ /**
28
+ * Ignore missing groups and return groups that were found. The data source will still fail if no groups are found
29
+ *
30
+ * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azuread/3.7.0/docs/data-sources/groups#ignore_missing DataAzureadGroups#ignore_missing}
31
+ */
32
+ readonly ignoreMissing?: boolean | cdktn.IResolvable;
33
+ /**
34
+ * Whether the groups are mail-enabled
35
+ *
36
+ * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azuread/3.7.0/docs/data-sources/groups#mail_enabled DataAzureadGroups#mail_enabled}
37
+ */
38
+ readonly mailEnabled?: boolean | cdktn.IResolvable;
39
+ /**
40
+ * The object IDs of the groups
41
+ *
42
+ * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azuread/3.7.0/docs/data-sources/groups#object_ids DataAzureadGroups#object_ids}
43
+ */
44
+ readonly objectIds?: string[];
45
+ /**
46
+ * Retrieve all groups with no filter
47
+ *
48
+ * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azuread/3.7.0/docs/data-sources/groups#return_all DataAzureadGroups#return_all}
49
+ */
50
+ readonly returnAll?: boolean | cdktn.IResolvable;
51
+ /**
52
+ * Whether the groups are security-enabled
53
+ *
54
+ * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azuread/3.7.0/docs/data-sources/groups#security_enabled DataAzureadGroups#security_enabled}
55
+ */
56
+ readonly securityEnabled?: boolean | cdktn.IResolvable;
57
+ /**
58
+ * timeouts block
59
+ *
60
+ * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azuread/3.7.0/docs/data-sources/groups#timeouts DataAzureadGroups#timeouts}
61
+ */
62
+ readonly timeouts?: DataAzureadGroupsTimeouts;
63
+ }
64
+ export interface DataAzureadGroupsTimeouts {
65
+ /**
66
+ * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azuread/3.7.0/docs/data-sources/groups#read DataAzureadGroups#read}
67
+ */
68
+ readonly read?: string;
69
+ }
70
+ export declare function dataAzureadGroupsTimeoutsToTerraform(struct?: DataAzureadGroupsTimeouts | cdktn.IResolvable): any;
71
+ export declare function dataAzureadGroupsTimeoutsToHclTerraform(struct?: DataAzureadGroupsTimeouts | cdktn.IResolvable): any;
72
+ export declare class DataAzureadGroupsTimeoutsOutputReference extends cdktn.ComplexObject {
73
+ private isEmptyObject;
74
+ private resolvableValue?;
75
+ /**
76
+ * @param terraformResource The parent resource
77
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
78
+ */
79
+ constructor(terraformResource: cdktn.IInterpolatingParent, terraformAttribute: string);
80
+ get internalValue(): DataAzureadGroupsTimeouts | cdktn.IResolvable | undefined;
81
+ set internalValue(value: DataAzureadGroupsTimeouts | cdktn.IResolvable | undefined);
82
+ private _read?;
83
+ get read(): string;
84
+ set read(value: string);
85
+ resetRead(): void;
86
+ get readInput(): string | undefined;
87
+ }
88
+ /**
89
+ * Represents a {@link https://registry.terraform.io/providers/hashicorp/azuread/3.7.0/docs/data-sources/groups azuread_groups}
90
+ */
91
+ export declare class DataAzureadGroups extends cdktn.TerraformDataSource {
92
+ static readonly tfResourceType = "azuread_groups";
93
+ /**
94
+ * Generates CDKTN code for importing a DataAzureadGroups resource upon running "cdktn plan <stack-name>"
95
+ * @param scope The scope in which to define this construct
96
+ * @param importToId The construct id used in the generated config for the DataAzureadGroups to import
97
+ * @param importFromId The id of the existing DataAzureadGroups that should be imported. Refer to the {@link https://registry.terraform.io/providers/hashicorp/azuread/3.7.0/docs/data-sources/groups#import import section} in the documentation of this resource for the id to use
98
+ * @param provider? Optional instance of the provider where the DataAzureadGroups to import is found
99
+ */
100
+ static generateConfigForImport(scope: Construct, importToId: string, importFromId: string, provider?: cdktn.TerraformProvider): cdktn.ImportableResource;
101
+ /**
102
+ * Create a new {@link https://registry.terraform.io/providers/hashicorp/azuread/3.7.0/docs/data-sources/groups azuread_groups} Data Source
103
+ *
104
+ * @param scope The scope in which to define this construct
105
+ * @param id The scoped construct ID. Must be unique amongst siblings in the same scope
106
+ * @param options DataAzureadGroupsConfig = {}
107
+ */
108
+ constructor(scope: Construct, id: string, config?: DataAzureadGroupsConfig);
109
+ private _displayNamePrefix?;
110
+ get displayNamePrefix(): string;
111
+ set displayNamePrefix(value: string);
112
+ resetDisplayNamePrefix(): void;
113
+ get displayNamePrefixInput(): string | undefined;
114
+ private _displayNames?;
115
+ get displayNames(): string[];
116
+ set displayNames(value: string[]);
117
+ resetDisplayNames(): void;
118
+ get displayNamesInput(): string[] | undefined;
119
+ private _id?;
120
+ get id(): string;
121
+ set id(value: string);
122
+ resetId(): void;
123
+ get idInput(): string | undefined;
124
+ private _ignoreMissing?;
125
+ get ignoreMissing(): boolean | cdktn.IResolvable;
126
+ set ignoreMissing(value: boolean | cdktn.IResolvable);
127
+ resetIgnoreMissing(): void;
128
+ get ignoreMissingInput(): boolean | cdktn.IResolvable | undefined;
129
+ private _mailEnabled?;
130
+ get mailEnabled(): boolean | cdktn.IResolvable;
131
+ set mailEnabled(value: boolean | cdktn.IResolvable);
132
+ resetMailEnabled(): void;
133
+ get mailEnabledInput(): boolean | cdktn.IResolvable | undefined;
134
+ private _objectIds?;
135
+ get objectIds(): string[];
136
+ set objectIds(value: string[]);
137
+ resetObjectIds(): void;
138
+ get objectIdsInput(): string[] | undefined;
139
+ private _returnAll?;
140
+ get returnAll(): boolean | cdktn.IResolvable;
141
+ set returnAll(value: boolean | cdktn.IResolvable);
142
+ resetReturnAll(): void;
143
+ get returnAllInput(): boolean | cdktn.IResolvable | undefined;
144
+ private _securityEnabled?;
145
+ get securityEnabled(): boolean | cdktn.IResolvable;
146
+ set securityEnabled(value: boolean | cdktn.IResolvable);
147
+ resetSecurityEnabled(): void;
148
+ get securityEnabledInput(): boolean | cdktn.IResolvable | undefined;
149
+ private _timeouts;
150
+ get timeouts(): DataAzureadGroupsTimeoutsOutputReference;
151
+ putTimeouts(value: DataAzureadGroupsTimeouts): void;
152
+ resetTimeouts(): void;
153
+ get timeoutsInput(): cdktn.IResolvable | DataAzureadGroupsTimeouts | undefined;
154
+ protected synthesizeAttributes(): {
155
+ [name: string]: any;
156
+ };
157
+ protected synthesizeHclAttributes(): {
158
+ [name: string]: any;
159
+ };
160
+ }