aws-cdk-lib 2.212.0__py3-none-any.whl → 2.214.0__py3-none-any.whl

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.

Potentially problematic release.


This version of aws-cdk-lib might be problematic. Click here for more details.

Files changed (65) hide show
  1. aws_cdk/__init__.py +23 -3
  2. aws_cdk/_jsii/__init__.py +1 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.212.0.jsii.tgz → aws-cdk-lib@2.214.0.jsii.tgz} +0 -0
  4. aws_cdk/aws_appconfig/__init__.py +18 -6
  5. aws_cdk/aws_appintegrations/__init__.py +4 -4
  6. aws_cdk/aws_apprunner/__init__.py +5 -8
  7. aws_cdk/aws_aps/__init__.py +243 -10
  8. aws_cdk/aws_b2bi/__init__.py +1015 -128
  9. aws_cdk/aws_batch/__init__.py +33 -11
  10. aws_cdk/aws_bedrock/__init__.py +22 -216
  11. aws_cdk/aws_budgets/__init__.py +18 -0
  12. aws_cdk/aws_certificatemanager/__init__.py +96 -15
  13. aws_cdk/aws_cloudformation/__init__.py +3 -3
  14. aws_cdk/aws_cloudwatch/__init__.py +80 -49
  15. aws_cdk/aws_cognito/__init__.py +76 -5
  16. aws_cdk/aws_connect/__init__.py +188 -2
  17. aws_cdk/aws_datazone/__init__.py +2267 -0
  18. aws_cdk/aws_deadline/__init__.py +6 -5
  19. aws_cdk/aws_dynamodb/__init__.py +418 -56
  20. aws_cdk/aws_ec2/__init__.py +51 -10
  21. aws_cdk/aws_ecs/__init__.py +288 -25
  22. aws_cdk/aws_ecs_patterns/__init__.py +2 -0
  23. aws_cdk/aws_eks/__init__.py +124 -0
  24. aws_cdk/aws_elasticloadbalancingv2/__init__.py +6 -2
  25. aws_cdk/aws_entityresolution/__init__.py +107 -0
  26. aws_cdk/aws_events/__init__.py +153 -55
  27. aws_cdk/aws_events_targets/__init__.py +87 -36
  28. aws_cdk/aws_fsx/__init__.py +62 -0
  29. aws_cdk/aws_gameliftstreams/__init__.py +1 -1
  30. aws_cdk/aws_glue/__init__.py +205 -23
  31. aws_cdk/aws_guardduty/__init__.py +205 -100
  32. aws_cdk/aws_iam/__init__.py +18 -0
  33. aws_cdk/aws_inspectorv2/__init__.py +125 -80
  34. aws_cdk/aws_iot/__init__.py +37 -19
  35. aws_cdk/aws_iotsitewise/__init__.py +111 -75
  36. aws_cdk/aws_ivs/__init__.py +17 -17
  37. aws_cdk/aws_kinesisanalytics/__init__.py +122 -3
  38. aws_cdk/aws_kinesisanalyticsv2/__init__.py +122 -3
  39. aws_cdk/aws_lambda/__init__.py +23 -2
  40. aws_cdk/aws_logs/__init__.py +20 -15
  41. aws_cdk/aws_mediapackagev2/__init__.py +2 -2
  42. aws_cdk/aws_networkfirewall/__init__.py +6 -6
  43. aws_cdk/aws_omics/__init__.py +477 -2
  44. aws_cdk/aws_qbusiness/__init__.py +4 -2
  45. aws_cdk/aws_rds/__init__.py +132 -4
  46. aws_cdk/aws_route53/__init__.py +18 -11
  47. aws_cdk/aws_s3/__init__.py +4 -4
  48. aws_cdk/aws_s3_deployment/__init__.py +45 -0
  49. aws_cdk/aws_sagemaker/__init__.py +653 -0
  50. aws_cdk/aws_servicediscovery/__init__.py +22 -37
  51. aws_cdk/aws_sns/__init__.py +12 -2
  52. aws_cdk/aws_sns_subscriptions/__init__.py +3 -1
  53. aws_cdk/aws_sqs/__init__.py +5 -5
  54. aws_cdk/aws_ssm/__init__.py +8 -3
  55. aws_cdk/aws_ssmquicksetup/__init__.py +2 -2
  56. aws_cdk/aws_synthetics/__init__.py +222 -12
  57. aws_cdk/aws_transfer/__init__.py +15 -2
  58. aws_cdk/aws_vpclattice/__init__.py +41 -0
  59. aws_cdk/aws_workspacesweb/__init__.py +71 -41
  60. {aws_cdk_lib-2.212.0.dist-info → aws_cdk_lib-2.214.0.dist-info}/METADATA +2 -2
  61. {aws_cdk_lib-2.212.0.dist-info → aws_cdk_lib-2.214.0.dist-info}/RECORD +65 -65
  62. {aws_cdk_lib-2.212.0.dist-info → aws_cdk_lib-2.214.0.dist-info}/LICENSE +0 -0
  63. {aws_cdk_lib-2.212.0.dist-info → aws_cdk_lib-2.214.0.dist-info}/NOTICE +0 -0
  64. {aws_cdk_lib-2.212.0.dist-info → aws_cdk_lib-2.214.0.dist-info}/WHEEL +0 -0
  65. {aws_cdk_lib-2.212.0.dist-info → aws_cdk_lib-2.214.0.dist-info}/top_level.txt +0 -0
@@ -9075,6 +9075,2042 @@ class CfnOwnerProps:
9075
9075
  )
9076
9076
 
9077
9077
 
9078
+ @jsii.implements(_IInspectable_c2943556)
9079
+ class CfnPolicyGrant(
9080
+ _CfnResource_9df397a6,
9081
+ metaclass=jsii.JSIIMeta,
9082
+ jsii_type="aws-cdk-lib.aws_datazone.CfnPolicyGrant",
9083
+ ):
9084
+ '''Adds a policy grant (an authorization policy) to a specified entity, including domain units, environment blueprint configurations, or environment profiles.
9085
+
9086
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datazone-policygrant.html
9087
+ :cloudformationResource: AWS::DataZone::PolicyGrant
9088
+ :exampleMetadata: fixture=_generated
9089
+
9090
+ Example::
9091
+
9092
+ # The code below shows an example of how to instantiate this type.
9093
+ # The values are placeholders you should change.
9094
+ from aws_cdk import aws_datazone as datazone
9095
+
9096
+ # all_domain_units_grant_filter: Any
9097
+ # all_users_grant_filter: Any
9098
+ # create_environment: Any
9099
+ # create_environment_from_blueprint: Any
9100
+ # delegate_create_environment_profile: Any
9101
+
9102
+ cfn_policy_grant = datazone.CfnPolicyGrant(self, "MyCfnPolicyGrant",
9103
+ domain_identifier="domainIdentifier",
9104
+ entity_identifier="entityIdentifier",
9105
+ entity_type="entityType",
9106
+ policy_type="policyType",
9107
+
9108
+ # the properties below are optional
9109
+ detail=datazone.CfnPolicyGrant.PolicyGrantDetailProperty(
9110
+ add_to_project_member_pool=datazone.CfnPolicyGrant.AddToProjectMemberPoolPolicyGrantDetailProperty(
9111
+ include_child_domain_units=False
9112
+ ),
9113
+ create_asset_type=datazone.CfnPolicyGrant.CreateAssetTypePolicyGrantDetailProperty(
9114
+ include_child_domain_units=False
9115
+ ),
9116
+ create_domain_unit=datazone.CfnPolicyGrant.CreateDomainUnitPolicyGrantDetailProperty(
9117
+ include_child_domain_units=False
9118
+ ),
9119
+ create_environment=create_environment,
9120
+ create_environment_from_blueprint=create_environment_from_blueprint,
9121
+ create_environment_profile=datazone.CfnPolicyGrant.CreateEnvironmentProfilePolicyGrantDetailProperty(
9122
+ domain_unit_id="domainUnitId"
9123
+ ),
9124
+ create_form_type=datazone.CfnPolicyGrant.CreateFormTypePolicyGrantDetailProperty(
9125
+ include_child_domain_units=False
9126
+ ),
9127
+ create_glossary=datazone.CfnPolicyGrant.CreateGlossaryPolicyGrantDetailProperty(
9128
+ include_child_domain_units=False
9129
+ ),
9130
+ create_project=datazone.CfnPolicyGrant.CreateProjectPolicyGrantDetailProperty(
9131
+ include_child_domain_units=False
9132
+ ),
9133
+ create_project_from_project_profile=datazone.CfnPolicyGrant.CreateProjectFromProjectProfilePolicyGrantDetailProperty(
9134
+ include_child_domain_units=False,
9135
+ project_profiles=["projectProfiles"]
9136
+ ),
9137
+ delegate_create_environment_profile=delegate_create_environment_profile,
9138
+ override_domain_unit_owners=datazone.CfnPolicyGrant.OverrideDomainUnitOwnersPolicyGrantDetailProperty(
9139
+ include_child_domain_units=False
9140
+ ),
9141
+ override_project_owners=datazone.CfnPolicyGrant.OverrideProjectOwnersPolicyGrantDetailProperty(
9142
+ include_child_domain_units=False
9143
+ )
9144
+ ),
9145
+ principal=datazone.CfnPolicyGrant.PolicyGrantPrincipalProperty(
9146
+ domain_unit=datazone.CfnPolicyGrant.DomainUnitPolicyGrantPrincipalProperty(
9147
+ domain_unit_designation="domainUnitDesignation",
9148
+ domain_unit_grant_filter=datazone.CfnPolicyGrant.DomainUnitGrantFilterProperty(
9149
+ all_domain_units_grant_filter=all_domain_units_grant_filter
9150
+ ),
9151
+ domain_unit_identifier="domainUnitIdentifier"
9152
+ ),
9153
+ group=datazone.CfnPolicyGrant.GroupPolicyGrantPrincipalProperty(
9154
+ group_identifier="groupIdentifier"
9155
+ ),
9156
+ project=datazone.CfnPolicyGrant.ProjectPolicyGrantPrincipalProperty(
9157
+ project_designation="projectDesignation",
9158
+ project_grant_filter=datazone.CfnPolicyGrant.ProjectGrantFilterProperty(
9159
+ domain_unit_filter=datazone.CfnPolicyGrant.DomainUnitFilterForProjectProperty(
9160
+ domain_unit="domainUnit",
9161
+
9162
+ # the properties below are optional
9163
+ include_child_domain_units=False
9164
+ )
9165
+ ),
9166
+ project_identifier="projectIdentifier"
9167
+ ),
9168
+ user=datazone.CfnPolicyGrant.UserPolicyGrantPrincipalProperty(
9169
+ all_users_grant_filter=all_users_grant_filter,
9170
+ user_identifier="userIdentifier"
9171
+ )
9172
+ )
9173
+ )
9174
+ '''
9175
+
9176
+ def __init__(
9177
+ self,
9178
+ scope: _constructs_77d1e7e8.Construct,
9179
+ id: builtins.str,
9180
+ *,
9181
+ domain_identifier: builtins.str,
9182
+ entity_identifier: builtins.str,
9183
+ entity_type: builtins.str,
9184
+ policy_type: builtins.str,
9185
+ detail: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnPolicyGrant.PolicyGrantDetailProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
9186
+ principal: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnPolicyGrant.PolicyGrantPrincipalProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
9187
+ ) -> None:
9188
+ '''
9189
+ :param scope: Scope in which this resource is defined.
9190
+ :param id: Construct identifier for this resource (unique in its scope).
9191
+ :param domain_identifier: The ID of the domain where you want to add a policy grant.
9192
+ :param entity_identifier: The ID of the entity (resource) to which you want to add a policy grant.
9193
+ :param entity_type: The type of entity (resource) to which the grant is added.
9194
+ :param policy_type: The type of policy that you want to grant.
9195
+ :param detail: The details of the policy grant member.
9196
+ :param principal: The principal of the policy grant member.
9197
+ '''
9198
+ if __debug__:
9199
+ type_hints = typing.get_type_hints(_typecheckingstub__4476b525fba06ea256a4c8b04c912bb45feea205dd2c102c7c88078ff113d152)
9200
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
9201
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
9202
+ props = CfnPolicyGrantProps(
9203
+ domain_identifier=domain_identifier,
9204
+ entity_identifier=entity_identifier,
9205
+ entity_type=entity_type,
9206
+ policy_type=policy_type,
9207
+ detail=detail,
9208
+ principal=principal,
9209
+ )
9210
+
9211
+ jsii.create(self.__class__, self, [scope, id, props])
9212
+
9213
+ @jsii.member(jsii_name="inspect")
9214
+ def inspect(self, inspector: _TreeInspector_488e0dd5) -> None:
9215
+ '''Examines the CloudFormation resource and discloses attributes.
9216
+
9217
+ :param inspector: tree inspector to collect and process attributes.
9218
+ '''
9219
+ if __debug__:
9220
+ type_hints = typing.get_type_hints(_typecheckingstub__3faeafa857baa1538f71504ac217c137543b4527137502241912fb0b28e8c12d)
9221
+ check_type(argname="argument inspector", value=inspector, expected_type=type_hints["inspector"])
9222
+ return typing.cast(None, jsii.invoke(self, "inspect", [inspector]))
9223
+
9224
+ @jsii.member(jsii_name="renderProperties")
9225
+ def _render_properties(
9226
+ self,
9227
+ props: typing.Mapping[builtins.str, typing.Any],
9228
+ ) -> typing.Mapping[builtins.str, typing.Any]:
9229
+ '''
9230
+ :param props: -
9231
+ '''
9232
+ if __debug__:
9233
+ type_hints = typing.get_type_hints(_typecheckingstub__06625d68fda6bb2d4ea904117fc518729d5a191ab36c54d31f85c44340706116)
9234
+ check_type(argname="argument props", value=props, expected_type=type_hints["props"])
9235
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.invoke(self, "renderProperties", [props]))
9236
+
9237
+ @jsii.python.classproperty
9238
+ @jsii.member(jsii_name="CFN_RESOURCE_TYPE_NAME")
9239
+ def CFN_RESOURCE_TYPE_NAME(cls) -> builtins.str:
9240
+ '''The CloudFormation resource type name for this resource class.'''
9241
+ return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
9242
+
9243
+ @builtins.property
9244
+ @jsii.member(jsii_name="attrCreatedAt")
9245
+ def attr_created_at(self) -> builtins.str:
9246
+ '''Specifies the timestamp at which policy grant member was created.
9247
+
9248
+ :cloudformationAttribute: CreatedAt
9249
+ '''
9250
+ return typing.cast(builtins.str, jsii.get(self, "attrCreatedAt"))
9251
+
9252
+ @builtins.property
9253
+ @jsii.member(jsii_name="attrCreatedBy")
9254
+ def attr_created_by(self) -> builtins.str:
9255
+ '''Specifies the user who created the policy grant member.
9256
+
9257
+ :cloudformationAttribute: CreatedBy
9258
+ '''
9259
+ return typing.cast(builtins.str, jsii.get(self, "attrCreatedBy"))
9260
+
9261
+ @builtins.property
9262
+ @jsii.member(jsii_name="attrGrantId")
9263
+ def attr_grant_id(self) -> builtins.str:
9264
+ '''The unique identifier of the policy grant returned by the AddPolicyGrant API.
9265
+
9266
+ :cloudformationAttribute: GrantId
9267
+ '''
9268
+ return typing.cast(builtins.str, jsii.get(self, "attrGrantId"))
9269
+
9270
+ @builtins.property
9271
+ @jsii.member(jsii_name="cfnProperties")
9272
+ def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
9273
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
9274
+
9275
+ @builtins.property
9276
+ @jsii.member(jsii_name="domainIdentifier")
9277
+ def domain_identifier(self) -> builtins.str:
9278
+ '''The ID of the domain where you want to add a policy grant.'''
9279
+ return typing.cast(builtins.str, jsii.get(self, "domainIdentifier"))
9280
+
9281
+ @domain_identifier.setter
9282
+ def domain_identifier(self, value: builtins.str) -> None:
9283
+ if __debug__:
9284
+ type_hints = typing.get_type_hints(_typecheckingstub__2f0d592dcbc7243f6ff69d38551f2367db3dfe7cb11b722c243ba9dd21532d02)
9285
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
9286
+ jsii.set(self, "domainIdentifier", value) # pyright: ignore[reportArgumentType]
9287
+
9288
+ @builtins.property
9289
+ @jsii.member(jsii_name="entityIdentifier")
9290
+ def entity_identifier(self) -> builtins.str:
9291
+ '''The ID of the entity (resource) to which you want to add a policy grant.'''
9292
+ return typing.cast(builtins.str, jsii.get(self, "entityIdentifier"))
9293
+
9294
+ @entity_identifier.setter
9295
+ def entity_identifier(self, value: builtins.str) -> None:
9296
+ if __debug__:
9297
+ type_hints = typing.get_type_hints(_typecheckingstub__45d4b8709da83c279d9ea87390acd1416bef7deff7bffec2c1eb7e5389978c71)
9298
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
9299
+ jsii.set(self, "entityIdentifier", value) # pyright: ignore[reportArgumentType]
9300
+
9301
+ @builtins.property
9302
+ @jsii.member(jsii_name="entityType")
9303
+ def entity_type(self) -> builtins.str:
9304
+ '''The type of entity (resource) to which the grant is added.'''
9305
+ return typing.cast(builtins.str, jsii.get(self, "entityType"))
9306
+
9307
+ @entity_type.setter
9308
+ def entity_type(self, value: builtins.str) -> None:
9309
+ if __debug__:
9310
+ type_hints = typing.get_type_hints(_typecheckingstub__6148bd2cc24aecd94013ce883c41241c92aaeab836656321daa9824f2ff00a5d)
9311
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
9312
+ jsii.set(self, "entityType", value) # pyright: ignore[reportArgumentType]
9313
+
9314
+ @builtins.property
9315
+ @jsii.member(jsii_name="policyType")
9316
+ def policy_type(self) -> builtins.str:
9317
+ '''The type of policy that you want to grant.'''
9318
+ return typing.cast(builtins.str, jsii.get(self, "policyType"))
9319
+
9320
+ @policy_type.setter
9321
+ def policy_type(self, value: builtins.str) -> None:
9322
+ if __debug__:
9323
+ type_hints = typing.get_type_hints(_typecheckingstub__d02ae9059bf0728549e33aafc0c766b8b8f090dd52edb4c84430f54b0fb5cae4)
9324
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
9325
+ jsii.set(self, "policyType", value) # pyright: ignore[reportArgumentType]
9326
+
9327
+ @builtins.property
9328
+ @jsii.member(jsii_name="detail")
9329
+ def detail(
9330
+ self,
9331
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnPolicyGrant.PolicyGrantDetailProperty"]]:
9332
+ '''The details of the policy grant member.'''
9333
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnPolicyGrant.PolicyGrantDetailProperty"]], jsii.get(self, "detail"))
9334
+
9335
+ @detail.setter
9336
+ def detail(
9337
+ self,
9338
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnPolicyGrant.PolicyGrantDetailProperty"]],
9339
+ ) -> None:
9340
+ if __debug__:
9341
+ type_hints = typing.get_type_hints(_typecheckingstub__f4317929539c7f63865015badb90135dd876148b9fa458da9961190f688f1ba2)
9342
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
9343
+ jsii.set(self, "detail", value) # pyright: ignore[reportArgumentType]
9344
+
9345
+ @builtins.property
9346
+ @jsii.member(jsii_name="principal")
9347
+ def principal(
9348
+ self,
9349
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnPolicyGrant.PolicyGrantPrincipalProperty"]]:
9350
+ '''The principal of the policy grant member.'''
9351
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnPolicyGrant.PolicyGrantPrincipalProperty"]], jsii.get(self, "principal"))
9352
+
9353
+ @principal.setter
9354
+ def principal(
9355
+ self,
9356
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnPolicyGrant.PolicyGrantPrincipalProperty"]],
9357
+ ) -> None:
9358
+ if __debug__:
9359
+ type_hints = typing.get_type_hints(_typecheckingstub__45d419321fadd6a98deadda72952683f07d5458949542e513f1b882e2410bd06)
9360
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
9361
+ jsii.set(self, "principal", value) # pyright: ignore[reportArgumentType]
9362
+
9363
+ @jsii.data_type(
9364
+ jsii_type="aws-cdk-lib.aws_datazone.CfnPolicyGrant.AddToProjectMemberPoolPolicyGrantDetailProperty",
9365
+ jsii_struct_bases=[],
9366
+ name_mapping={"include_child_domain_units": "includeChildDomainUnits"},
9367
+ )
9368
+ class AddToProjectMemberPoolPolicyGrantDetailProperty:
9369
+ def __init__(
9370
+ self,
9371
+ *,
9372
+ include_child_domain_units: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
9373
+ ) -> None:
9374
+ '''The details of the policy grant.
9375
+
9376
+ :param include_child_domain_units: Specifies whether the policy grant is applied to child domain units.
9377
+
9378
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datazone-policygrant-addtoprojectmemberpoolpolicygrantdetail.html
9379
+ :exampleMetadata: fixture=_generated
9380
+
9381
+ Example::
9382
+
9383
+ # The code below shows an example of how to instantiate this type.
9384
+ # The values are placeholders you should change.
9385
+ from aws_cdk import aws_datazone as datazone
9386
+
9387
+ add_to_project_member_pool_policy_grant_detail_property = datazone.CfnPolicyGrant.AddToProjectMemberPoolPolicyGrantDetailProperty(
9388
+ include_child_domain_units=False
9389
+ )
9390
+ '''
9391
+ if __debug__:
9392
+ type_hints = typing.get_type_hints(_typecheckingstub__a00db485513597db27a51284165bbcb2f1f31f387521883bcd3fc2d947885a40)
9393
+ check_type(argname="argument include_child_domain_units", value=include_child_domain_units, expected_type=type_hints["include_child_domain_units"])
9394
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
9395
+ if include_child_domain_units is not None:
9396
+ self._values["include_child_domain_units"] = include_child_domain_units
9397
+
9398
+ @builtins.property
9399
+ def include_child_domain_units(
9400
+ self,
9401
+ ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
9402
+ '''Specifies whether the policy grant is applied to child domain units.
9403
+
9404
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datazone-policygrant-addtoprojectmemberpoolpolicygrantdetail.html#cfn-datazone-policygrant-addtoprojectmemberpoolpolicygrantdetail-includechilddomainunits
9405
+ '''
9406
+ result = self._values.get("include_child_domain_units")
9407
+ return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], result)
9408
+
9409
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
9410
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
9411
+
9412
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
9413
+ return not (rhs == self)
9414
+
9415
+ def __repr__(self) -> str:
9416
+ return "AddToProjectMemberPoolPolicyGrantDetailProperty(%s)" % ", ".join(
9417
+ k + "=" + repr(v) for k, v in self._values.items()
9418
+ )
9419
+
9420
+ @jsii.data_type(
9421
+ jsii_type="aws-cdk-lib.aws_datazone.CfnPolicyGrant.CreateAssetTypePolicyGrantDetailProperty",
9422
+ jsii_struct_bases=[],
9423
+ name_mapping={"include_child_domain_units": "includeChildDomainUnits"},
9424
+ )
9425
+ class CreateAssetTypePolicyGrantDetailProperty:
9426
+ def __init__(
9427
+ self,
9428
+ *,
9429
+ include_child_domain_units: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
9430
+ ) -> None:
9431
+ '''The details of the policy grant.
9432
+
9433
+ :param include_child_domain_units: Specifies whether the policy grant is applied to child domain units.
9434
+
9435
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datazone-policygrant-createassettypepolicygrantdetail.html
9436
+ :exampleMetadata: fixture=_generated
9437
+
9438
+ Example::
9439
+
9440
+ # The code below shows an example of how to instantiate this type.
9441
+ # The values are placeholders you should change.
9442
+ from aws_cdk import aws_datazone as datazone
9443
+
9444
+ create_asset_type_policy_grant_detail_property = datazone.CfnPolicyGrant.CreateAssetTypePolicyGrantDetailProperty(
9445
+ include_child_domain_units=False
9446
+ )
9447
+ '''
9448
+ if __debug__:
9449
+ type_hints = typing.get_type_hints(_typecheckingstub__929246e3829473fb86c1a986312e35066791dec7e5f0e19189e082e8ab59b633)
9450
+ check_type(argname="argument include_child_domain_units", value=include_child_domain_units, expected_type=type_hints["include_child_domain_units"])
9451
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
9452
+ if include_child_domain_units is not None:
9453
+ self._values["include_child_domain_units"] = include_child_domain_units
9454
+
9455
+ @builtins.property
9456
+ def include_child_domain_units(
9457
+ self,
9458
+ ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
9459
+ '''Specifies whether the policy grant is applied to child domain units.
9460
+
9461
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datazone-policygrant-createassettypepolicygrantdetail.html#cfn-datazone-policygrant-createassettypepolicygrantdetail-includechilddomainunits
9462
+ '''
9463
+ result = self._values.get("include_child_domain_units")
9464
+ return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], result)
9465
+
9466
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
9467
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
9468
+
9469
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
9470
+ return not (rhs == self)
9471
+
9472
+ def __repr__(self) -> str:
9473
+ return "CreateAssetTypePolicyGrantDetailProperty(%s)" % ", ".join(
9474
+ k + "=" + repr(v) for k, v in self._values.items()
9475
+ )
9476
+
9477
+ @jsii.data_type(
9478
+ jsii_type="aws-cdk-lib.aws_datazone.CfnPolicyGrant.CreateDomainUnitPolicyGrantDetailProperty",
9479
+ jsii_struct_bases=[],
9480
+ name_mapping={"include_child_domain_units": "includeChildDomainUnits"},
9481
+ )
9482
+ class CreateDomainUnitPolicyGrantDetailProperty:
9483
+ def __init__(
9484
+ self,
9485
+ *,
9486
+ include_child_domain_units: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
9487
+ ) -> None:
9488
+ '''The details of the policy grant.
9489
+
9490
+ :param include_child_domain_units: Specifies whether the policy grant is applied to child domain units.
9491
+
9492
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datazone-policygrant-createdomainunitpolicygrantdetail.html
9493
+ :exampleMetadata: fixture=_generated
9494
+
9495
+ Example::
9496
+
9497
+ # The code below shows an example of how to instantiate this type.
9498
+ # The values are placeholders you should change.
9499
+ from aws_cdk import aws_datazone as datazone
9500
+
9501
+ create_domain_unit_policy_grant_detail_property = datazone.CfnPolicyGrant.CreateDomainUnitPolicyGrantDetailProperty(
9502
+ include_child_domain_units=False
9503
+ )
9504
+ '''
9505
+ if __debug__:
9506
+ type_hints = typing.get_type_hints(_typecheckingstub__06a2c86ccf049f358bf260883bd5c4a779a334459f24272c3ceb1090db972291)
9507
+ check_type(argname="argument include_child_domain_units", value=include_child_domain_units, expected_type=type_hints["include_child_domain_units"])
9508
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
9509
+ if include_child_domain_units is not None:
9510
+ self._values["include_child_domain_units"] = include_child_domain_units
9511
+
9512
+ @builtins.property
9513
+ def include_child_domain_units(
9514
+ self,
9515
+ ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
9516
+ '''Specifies whether the policy grant is applied to child domain units.
9517
+
9518
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datazone-policygrant-createdomainunitpolicygrantdetail.html#cfn-datazone-policygrant-createdomainunitpolicygrantdetail-includechilddomainunits
9519
+ '''
9520
+ result = self._values.get("include_child_domain_units")
9521
+ return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], result)
9522
+
9523
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
9524
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
9525
+
9526
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
9527
+ return not (rhs == self)
9528
+
9529
+ def __repr__(self) -> str:
9530
+ return "CreateDomainUnitPolicyGrantDetailProperty(%s)" % ", ".join(
9531
+ k + "=" + repr(v) for k, v in self._values.items()
9532
+ )
9533
+
9534
+ @jsii.data_type(
9535
+ jsii_type="aws-cdk-lib.aws_datazone.CfnPolicyGrant.CreateEnvironmentProfilePolicyGrantDetailProperty",
9536
+ jsii_struct_bases=[],
9537
+ name_mapping={"domain_unit_id": "domainUnitId"},
9538
+ )
9539
+ class CreateEnvironmentProfilePolicyGrantDetailProperty:
9540
+ def __init__(
9541
+ self,
9542
+ *,
9543
+ domain_unit_id: typing.Optional[builtins.str] = None,
9544
+ ) -> None:
9545
+ '''The details of the policy grant.
9546
+
9547
+ :param domain_unit_id: The ID of the domain unit.
9548
+
9549
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datazone-policygrant-createenvironmentprofilepolicygrantdetail.html
9550
+ :exampleMetadata: fixture=_generated
9551
+
9552
+ Example::
9553
+
9554
+ # The code below shows an example of how to instantiate this type.
9555
+ # The values are placeholders you should change.
9556
+ from aws_cdk import aws_datazone as datazone
9557
+
9558
+ create_environment_profile_policy_grant_detail_property = datazone.CfnPolicyGrant.CreateEnvironmentProfilePolicyGrantDetailProperty(
9559
+ domain_unit_id="domainUnitId"
9560
+ )
9561
+ '''
9562
+ if __debug__:
9563
+ type_hints = typing.get_type_hints(_typecheckingstub__eb97a9aa9c216e08c5fce608a7d647c26a30b32e4c8971ac266049fb79460144)
9564
+ check_type(argname="argument domain_unit_id", value=domain_unit_id, expected_type=type_hints["domain_unit_id"])
9565
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
9566
+ if domain_unit_id is not None:
9567
+ self._values["domain_unit_id"] = domain_unit_id
9568
+
9569
+ @builtins.property
9570
+ def domain_unit_id(self) -> typing.Optional[builtins.str]:
9571
+ '''The ID of the domain unit.
9572
+
9573
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datazone-policygrant-createenvironmentprofilepolicygrantdetail.html#cfn-datazone-policygrant-createenvironmentprofilepolicygrantdetail-domainunitid
9574
+ '''
9575
+ result = self._values.get("domain_unit_id")
9576
+ return typing.cast(typing.Optional[builtins.str], result)
9577
+
9578
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
9579
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
9580
+
9581
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
9582
+ return not (rhs == self)
9583
+
9584
+ def __repr__(self) -> str:
9585
+ return "CreateEnvironmentProfilePolicyGrantDetailProperty(%s)" % ", ".join(
9586
+ k + "=" + repr(v) for k, v in self._values.items()
9587
+ )
9588
+
9589
+ @jsii.data_type(
9590
+ jsii_type="aws-cdk-lib.aws_datazone.CfnPolicyGrant.CreateFormTypePolicyGrantDetailProperty",
9591
+ jsii_struct_bases=[],
9592
+ name_mapping={"include_child_domain_units": "includeChildDomainUnits"},
9593
+ )
9594
+ class CreateFormTypePolicyGrantDetailProperty:
9595
+ def __init__(
9596
+ self,
9597
+ *,
9598
+ include_child_domain_units: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
9599
+ ) -> None:
9600
+ '''The details of the policy grant.
9601
+
9602
+ :param include_child_domain_units: Specifies whether the policy grant is applied to child domain units.
9603
+
9604
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datazone-policygrant-createformtypepolicygrantdetail.html
9605
+ :exampleMetadata: fixture=_generated
9606
+
9607
+ Example::
9608
+
9609
+ # The code below shows an example of how to instantiate this type.
9610
+ # The values are placeholders you should change.
9611
+ from aws_cdk import aws_datazone as datazone
9612
+
9613
+ create_form_type_policy_grant_detail_property = datazone.CfnPolicyGrant.CreateFormTypePolicyGrantDetailProperty(
9614
+ include_child_domain_units=False
9615
+ )
9616
+ '''
9617
+ if __debug__:
9618
+ type_hints = typing.get_type_hints(_typecheckingstub__ca233709c68e49672b3ebdd0d623daa388dd8ff1410ad41573fb4c73b82e7ac0)
9619
+ check_type(argname="argument include_child_domain_units", value=include_child_domain_units, expected_type=type_hints["include_child_domain_units"])
9620
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
9621
+ if include_child_domain_units is not None:
9622
+ self._values["include_child_domain_units"] = include_child_domain_units
9623
+
9624
+ @builtins.property
9625
+ def include_child_domain_units(
9626
+ self,
9627
+ ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
9628
+ '''Specifies whether the policy grant is applied to child domain units.
9629
+
9630
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datazone-policygrant-createformtypepolicygrantdetail.html#cfn-datazone-policygrant-createformtypepolicygrantdetail-includechilddomainunits
9631
+ '''
9632
+ result = self._values.get("include_child_domain_units")
9633
+ return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], result)
9634
+
9635
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
9636
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
9637
+
9638
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
9639
+ return not (rhs == self)
9640
+
9641
+ def __repr__(self) -> str:
9642
+ return "CreateFormTypePolicyGrantDetailProperty(%s)" % ", ".join(
9643
+ k + "=" + repr(v) for k, v in self._values.items()
9644
+ )
9645
+
9646
+ @jsii.data_type(
9647
+ jsii_type="aws-cdk-lib.aws_datazone.CfnPolicyGrant.CreateGlossaryPolicyGrantDetailProperty",
9648
+ jsii_struct_bases=[],
9649
+ name_mapping={"include_child_domain_units": "includeChildDomainUnits"},
9650
+ )
9651
+ class CreateGlossaryPolicyGrantDetailProperty:
9652
+ def __init__(
9653
+ self,
9654
+ *,
9655
+ include_child_domain_units: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
9656
+ ) -> None:
9657
+ '''The details of the policy grant.
9658
+
9659
+ :param include_child_domain_units: Specifies whether the policy grant is applied to child domain units.
9660
+
9661
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datazone-policygrant-createglossarypolicygrantdetail.html
9662
+ :exampleMetadata: fixture=_generated
9663
+
9664
+ Example::
9665
+
9666
+ # The code below shows an example of how to instantiate this type.
9667
+ # The values are placeholders you should change.
9668
+ from aws_cdk import aws_datazone as datazone
9669
+
9670
+ create_glossary_policy_grant_detail_property = datazone.CfnPolicyGrant.CreateGlossaryPolicyGrantDetailProperty(
9671
+ include_child_domain_units=False
9672
+ )
9673
+ '''
9674
+ if __debug__:
9675
+ type_hints = typing.get_type_hints(_typecheckingstub__e918618f09a88801172a408238e6500ab7dfa9e47609ebf0a1cf9e87427e1c1e)
9676
+ check_type(argname="argument include_child_domain_units", value=include_child_domain_units, expected_type=type_hints["include_child_domain_units"])
9677
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
9678
+ if include_child_domain_units is not None:
9679
+ self._values["include_child_domain_units"] = include_child_domain_units
9680
+
9681
+ @builtins.property
9682
+ def include_child_domain_units(
9683
+ self,
9684
+ ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
9685
+ '''Specifies whether the policy grant is applied to child domain units.
9686
+
9687
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datazone-policygrant-createglossarypolicygrantdetail.html#cfn-datazone-policygrant-createglossarypolicygrantdetail-includechilddomainunits
9688
+ '''
9689
+ result = self._values.get("include_child_domain_units")
9690
+ return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], result)
9691
+
9692
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
9693
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
9694
+
9695
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
9696
+ return not (rhs == self)
9697
+
9698
+ def __repr__(self) -> str:
9699
+ return "CreateGlossaryPolicyGrantDetailProperty(%s)" % ", ".join(
9700
+ k + "=" + repr(v) for k, v in self._values.items()
9701
+ )
9702
+
9703
+ @jsii.data_type(
9704
+ jsii_type="aws-cdk-lib.aws_datazone.CfnPolicyGrant.CreateProjectFromProjectProfilePolicyGrantDetailProperty",
9705
+ jsii_struct_bases=[],
9706
+ name_mapping={
9707
+ "include_child_domain_units": "includeChildDomainUnits",
9708
+ "project_profiles": "projectProfiles",
9709
+ },
9710
+ )
9711
+ class CreateProjectFromProjectProfilePolicyGrantDetailProperty:
9712
+ def __init__(
9713
+ self,
9714
+ *,
9715
+ include_child_domain_units: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
9716
+ project_profiles: typing.Optional[typing.Sequence[builtins.str]] = None,
9717
+ ) -> None:
9718
+ '''Specifies whether to create a project from project profile policy grant details.
9719
+
9720
+ :param include_child_domain_units: Specifies whether to include child domain units when creating a project from project profile policy grant details.
9721
+ :param project_profiles: Specifies project profiles when creating a project from project profile policy grant details.
9722
+
9723
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datazone-policygrant-createprojectfromprojectprofilepolicygrantdetail.html
9724
+ :exampleMetadata: fixture=_generated
9725
+
9726
+ Example::
9727
+
9728
+ # The code below shows an example of how to instantiate this type.
9729
+ # The values are placeholders you should change.
9730
+ from aws_cdk import aws_datazone as datazone
9731
+
9732
+ create_project_from_project_profile_policy_grant_detail_property = datazone.CfnPolicyGrant.CreateProjectFromProjectProfilePolicyGrantDetailProperty(
9733
+ include_child_domain_units=False,
9734
+ project_profiles=["projectProfiles"]
9735
+ )
9736
+ '''
9737
+ if __debug__:
9738
+ type_hints = typing.get_type_hints(_typecheckingstub__616f7a054fc92674f6f61eb6bfd60bf476b3bb9a69a13ae61f86fe2b2f7d9b40)
9739
+ check_type(argname="argument include_child_domain_units", value=include_child_domain_units, expected_type=type_hints["include_child_domain_units"])
9740
+ check_type(argname="argument project_profiles", value=project_profiles, expected_type=type_hints["project_profiles"])
9741
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
9742
+ if include_child_domain_units is not None:
9743
+ self._values["include_child_domain_units"] = include_child_domain_units
9744
+ if project_profiles is not None:
9745
+ self._values["project_profiles"] = project_profiles
9746
+
9747
+ @builtins.property
9748
+ def include_child_domain_units(
9749
+ self,
9750
+ ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
9751
+ '''Specifies whether to include child domain units when creating a project from project profile policy grant details.
9752
+
9753
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datazone-policygrant-createprojectfromprojectprofilepolicygrantdetail.html#cfn-datazone-policygrant-createprojectfromprojectprofilepolicygrantdetail-includechilddomainunits
9754
+ '''
9755
+ result = self._values.get("include_child_domain_units")
9756
+ return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], result)
9757
+
9758
+ @builtins.property
9759
+ def project_profiles(self) -> typing.Optional[typing.List[builtins.str]]:
9760
+ '''Specifies project profiles when creating a project from project profile policy grant details.
9761
+
9762
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datazone-policygrant-createprojectfromprojectprofilepolicygrantdetail.html#cfn-datazone-policygrant-createprojectfromprojectprofilepolicygrantdetail-projectprofiles
9763
+ '''
9764
+ result = self._values.get("project_profiles")
9765
+ return typing.cast(typing.Optional[typing.List[builtins.str]], result)
9766
+
9767
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
9768
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
9769
+
9770
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
9771
+ return not (rhs == self)
9772
+
9773
+ def __repr__(self) -> str:
9774
+ return "CreateProjectFromProjectProfilePolicyGrantDetailProperty(%s)" % ", ".join(
9775
+ k + "=" + repr(v) for k, v in self._values.items()
9776
+ )
9777
+
9778
+ @jsii.data_type(
9779
+ jsii_type="aws-cdk-lib.aws_datazone.CfnPolicyGrant.CreateProjectPolicyGrantDetailProperty",
9780
+ jsii_struct_bases=[],
9781
+ name_mapping={"include_child_domain_units": "includeChildDomainUnits"},
9782
+ )
9783
+ class CreateProjectPolicyGrantDetailProperty:
9784
+ def __init__(
9785
+ self,
9786
+ *,
9787
+ include_child_domain_units: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
9788
+ ) -> None:
9789
+ '''The details of the policy grant.
9790
+
9791
+ :param include_child_domain_units: Specifies whether the policy grant is applied to child domain units.
9792
+
9793
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datazone-policygrant-createprojectpolicygrantdetail.html
9794
+ :exampleMetadata: fixture=_generated
9795
+
9796
+ Example::
9797
+
9798
+ # The code below shows an example of how to instantiate this type.
9799
+ # The values are placeholders you should change.
9800
+ from aws_cdk import aws_datazone as datazone
9801
+
9802
+ create_project_policy_grant_detail_property = datazone.CfnPolicyGrant.CreateProjectPolicyGrantDetailProperty(
9803
+ include_child_domain_units=False
9804
+ )
9805
+ '''
9806
+ if __debug__:
9807
+ type_hints = typing.get_type_hints(_typecheckingstub__ec4ae98e03f9cf9e3c1c38c7ae5c2a5f956924a86a2ca6c11297c56233e890cb)
9808
+ check_type(argname="argument include_child_domain_units", value=include_child_domain_units, expected_type=type_hints["include_child_domain_units"])
9809
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
9810
+ if include_child_domain_units is not None:
9811
+ self._values["include_child_domain_units"] = include_child_domain_units
9812
+
9813
+ @builtins.property
9814
+ def include_child_domain_units(
9815
+ self,
9816
+ ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
9817
+ '''Specifies whether the policy grant is applied to child domain units.
9818
+
9819
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datazone-policygrant-createprojectpolicygrantdetail.html#cfn-datazone-policygrant-createprojectpolicygrantdetail-includechilddomainunits
9820
+ '''
9821
+ result = self._values.get("include_child_domain_units")
9822
+ return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], result)
9823
+
9824
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
9825
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
9826
+
9827
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
9828
+ return not (rhs == self)
9829
+
9830
+ def __repr__(self) -> str:
9831
+ return "CreateProjectPolicyGrantDetailProperty(%s)" % ", ".join(
9832
+ k + "=" + repr(v) for k, v in self._values.items()
9833
+ )
9834
+
9835
+ @jsii.data_type(
9836
+ jsii_type="aws-cdk-lib.aws_datazone.CfnPolicyGrant.DomainUnitFilterForProjectProperty",
9837
+ jsii_struct_bases=[],
9838
+ name_mapping={
9839
+ "domain_unit": "domainUnit",
9840
+ "include_child_domain_units": "includeChildDomainUnits",
9841
+ },
9842
+ )
9843
+ class DomainUnitFilterForProjectProperty:
9844
+ def __init__(
9845
+ self,
9846
+ *,
9847
+ domain_unit: builtins.str,
9848
+ include_child_domain_units: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
9849
+ ) -> None:
9850
+ '''The domain unit filter of the project grant filter.
9851
+
9852
+ :param domain_unit: The domain unit ID to use in the filter.
9853
+ :param include_child_domain_units: Specifies whether to include child domain units. Default: - false
9854
+
9855
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datazone-policygrant-domainunitfilterforproject.html
9856
+ :exampleMetadata: fixture=_generated
9857
+
9858
+ Example::
9859
+
9860
+ # The code below shows an example of how to instantiate this type.
9861
+ # The values are placeholders you should change.
9862
+ from aws_cdk import aws_datazone as datazone
9863
+
9864
+ domain_unit_filter_for_project_property = datazone.CfnPolicyGrant.DomainUnitFilterForProjectProperty(
9865
+ domain_unit="domainUnit",
9866
+
9867
+ # the properties below are optional
9868
+ include_child_domain_units=False
9869
+ )
9870
+ '''
9871
+ if __debug__:
9872
+ type_hints = typing.get_type_hints(_typecheckingstub__747a962feb1ab808802cfb5e1207ea3216d2a62ddee83545abd46525e125beb0)
9873
+ check_type(argname="argument domain_unit", value=domain_unit, expected_type=type_hints["domain_unit"])
9874
+ check_type(argname="argument include_child_domain_units", value=include_child_domain_units, expected_type=type_hints["include_child_domain_units"])
9875
+ self._values: typing.Dict[builtins.str, typing.Any] = {
9876
+ "domain_unit": domain_unit,
9877
+ }
9878
+ if include_child_domain_units is not None:
9879
+ self._values["include_child_domain_units"] = include_child_domain_units
9880
+
9881
+ @builtins.property
9882
+ def domain_unit(self) -> builtins.str:
9883
+ '''The domain unit ID to use in the filter.
9884
+
9885
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datazone-policygrant-domainunitfilterforproject.html#cfn-datazone-policygrant-domainunitfilterforproject-domainunit
9886
+ '''
9887
+ result = self._values.get("domain_unit")
9888
+ assert result is not None, "Required property 'domain_unit' is missing"
9889
+ return typing.cast(builtins.str, result)
9890
+
9891
+ @builtins.property
9892
+ def include_child_domain_units(
9893
+ self,
9894
+ ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
9895
+ '''Specifies whether to include child domain units.
9896
+
9897
+ :default: - false
9898
+
9899
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datazone-policygrant-domainunitfilterforproject.html#cfn-datazone-policygrant-domainunitfilterforproject-includechilddomainunits
9900
+ '''
9901
+ result = self._values.get("include_child_domain_units")
9902
+ return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], result)
9903
+
9904
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
9905
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
9906
+
9907
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
9908
+ return not (rhs == self)
9909
+
9910
+ def __repr__(self) -> str:
9911
+ return "DomainUnitFilterForProjectProperty(%s)" % ", ".join(
9912
+ k + "=" + repr(v) for k, v in self._values.items()
9913
+ )
9914
+
9915
+ @jsii.data_type(
9916
+ jsii_type="aws-cdk-lib.aws_datazone.CfnPolicyGrant.DomainUnitGrantFilterProperty",
9917
+ jsii_struct_bases=[],
9918
+ name_mapping={"all_domain_units_grant_filter": "allDomainUnitsGrantFilter"},
9919
+ )
9920
+ class DomainUnitGrantFilterProperty:
9921
+ def __init__(self, *, all_domain_units_grant_filter: typing.Any) -> None:
9922
+ '''The grant filter for the domain unit.
9923
+
9924
+ In the current release of Amazon DataZone, the only supported filter is the ``allDomainUnitsGrantFilter`` .
9925
+
9926
+ :param all_domain_units_grant_filter: Specifies a grant filter containing all domain units.
9927
+
9928
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datazone-policygrant-domainunitgrantfilter.html
9929
+ :exampleMetadata: fixture=_generated
9930
+
9931
+ Example::
9932
+
9933
+ # The code below shows an example of how to instantiate this type.
9934
+ # The values are placeholders you should change.
9935
+ from aws_cdk import aws_datazone as datazone
9936
+
9937
+ # all_domain_units_grant_filter: Any
9938
+
9939
+ domain_unit_grant_filter_property = datazone.CfnPolicyGrant.DomainUnitGrantFilterProperty(
9940
+ all_domain_units_grant_filter=all_domain_units_grant_filter
9941
+ )
9942
+ '''
9943
+ if __debug__:
9944
+ type_hints = typing.get_type_hints(_typecheckingstub__ebc0924bf25781aafce4151571c0dfcccd73718615647943e420d46750f8f47d)
9945
+ check_type(argname="argument all_domain_units_grant_filter", value=all_domain_units_grant_filter, expected_type=type_hints["all_domain_units_grant_filter"])
9946
+ self._values: typing.Dict[builtins.str, typing.Any] = {
9947
+ "all_domain_units_grant_filter": all_domain_units_grant_filter,
9948
+ }
9949
+
9950
+ @builtins.property
9951
+ def all_domain_units_grant_filter(self) -> typing.Any:
9952
+ '''Specifies a grant filter containing all domain units.
9953
+
9954
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datazone-policygrant-domainunitgrantfilter.html#cfn-datazone-policygrant-domainunitgrantfilter-alldomainunitsgrantfilter
9955
+ '''
9956
+ result = self._values.get("all_domain_units_grant_filter")
9957
+ assert result is not None, "Required property 'all_domain_units_grant_filter' is missing"
9958
+ return typing.cast(typing.Any, result)
9959
+
9960
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
9961
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
9962
+
9963
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
9964
+ return not (rhs == self)
9965
+
9966
+ def __repr__(self) -> str:
9967
+ return "DomainUnitGrantFilterProperty(%s)" % ", ".join(
9968
+ k + "=" + repr(v) for k, v in self._values.items()
9969
+ )
9970
+
9971
+ @jsii.data_type(
9972
+ jsii_type="aws-cdk-lib.aws_datazone.CfnPolicyGrant.DomainUnitPolicyGrantPrincipalProperty",
9973
+ jsii_struct_bases=[],
9974
+ name_mapping={
9975
+ "domain_unit_designation": "domainUnitDesignation",
9976
+ "domain_unit_grant_filter": "domainUnitGrantFilter",
9977
+ "domain_unit_identifier": "domainUnitIdentifier",
9978
+ },
9979
+ )
9980
+ class DomainUnitPolicyGrantPrincipalProperty:
9981
+ def __init__(
9982
+ self,
9983
+ *,
9984
+ domain_unit_designation: typing.Optional[builtins.str] = None,
9985
+ domain_unit_grant_filter: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnPolicyGrant.DomainUnitGrantFilterProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
9986
+ domain_unit_identifier: typing.Optional[builtins.str] = None,
9987
+ ) -> None:
9988
+ '''The domain unit principal to whom the policy is granted.
9989
+
9990
+ :param domain_unit_designation: Specifes the designation of the domain unit users.
9991
+ :param domain_unit_grant_filter: The grant filter for the domain unit.
9992
+ :param domain_unit_identifier: The ID of the domain unit.
9993
+
9994
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datazone-policygrant-domainunitpolicygrantprincipal.html
9995
+ :exampleMetadata: fixture=_generated
9996
+
9997
+ Example::
9998
+
9999
+ # The code below shows an example of how to instantiate this type.
10000
+ # The values are placeholders you should change.
10001
+ from aws_cdk import aws_datazone as datazone
10002
+
10003
+ # all_domain_units_grant_filter: Any
10004
+
10005
+ domain_unit_policy_grant_principal_property = datazone.CfnPolicyGrant.DomainUnitPolicyGrantPrincipalProperty(
10006
+ domain_unit_designation="domainUnitDesignation",
10007
+ domain_unit_grant_filter=datazone.CfnPolicyGrant.DomainUnitGrantFilterProperty(
10008
+ all_domain_units_grant_filter=all_domain_units_grant_filter
10009
+ ),
10010
+ domain_unit_identifier="domainUnitIdentifier"
10011
+ )
10012
+ '''
10013
+ if __debug__:
10014
+ type_hints = typing.get_type_hints(_typecheckingstub__4b16d6c5df6e090d8d518fb48d0727131a1689a69ebc02fe4d3bdb5f2414769c)
10015
+ check_type(argname="argument domain_unit_designation", value=domain_unit_designation, expected_type=type_hints["domain_unit_designation"])
10016
+ check_type(argname="argument domain_unit_grant_filter", value=domain_unit_grant_filter, expected_type=type_hints["domain_unit_grant_filter"])
10017
+ check_type(argname="argument domain_unit_identifier", value=domain_unit_identifier, expected_type=type_hints["domain_unit_identifier"])
10018
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
10019
+ if domain_unit_designation is not None:
10020
+ self._values["domain_unit_designation"] = domain_unit_designation
10021
+ if domain_unit_grant_filter is not None:
10022
+ self._values["domain_unit_grant_filter"] = domain_unit_grant_filter
10023
+ if domain_unit_identifier is not None:
10024
+ self._values["domain_unit_identifier"] = domain_unit_identifier
10025
+
10026
+ @builtins.property
10027
+ def domain_unit_designation(self) -> typing.Optional[builtins.str]:
10028
+ '''Specifes the designation of the domain unit users.
10029
+
10030
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datazone-policygrant-domainunitpolicygrantprincipal.html#cfn-datazone-policygrant-domainunitpolicygrantprincipal-domainunitdesignation
10031
+ '''
10032
+ result = self._values.get("domain_unit_designation")
10033
+ return typing.cast(typing.Optional[builtins.str], result)
10034
+
10035
+ @builtins.property
10036
+ def domain_unit_grant_filter(
10037
+ self,
10038
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnPolicyGrant.DomainUnitGrantFilterProperty"]]:
10039
+ '''The grant filter for the domain unit.
10040
+
10041
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datazone-policygrant-domainunitpolicygrantprincipal.html#cfn-datazone-policygrant-domainunitpolicygrantprincipal-domainunitgrantfilter
10042
+ '''
10043
+ result = self._values.get("domain_unit_grant_filter")
10044
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnPolicyGrant.DomainUnitGrantFilterProperty"]], result)
10045
+
10046
+ @builtins.property
10047
+ def domain_unit_identifier(self) -> typing.Optional[builtins.str]:
10048
+ '''The ID of the domain unit.
10049
+
10050
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datazone-policygrant-domainunitpolicygrantprincipal.html#cfn-datazone-policygrant-domainunitpolicygrantprincipal-domainunitidentifier
10051
+ '''
10052
+ result = self._values.get("domain_unit_identifier")
10053
+ return typing.cast(typing.Optional[builtins.str], result)
10054
+
10055
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
10056
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
10057
+
10058
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
10059
+ return not (rhs == self)
10060
+
10061
+ def __repr__(self) -> str:
10062
+ return "DomainUnitPolicyGrantPrincipalProperty(%s)" % ", ".join(
10063
+ k + "=" + repr(v) for k, v in self._values.items()
10064
+ )
10065
+
10066
+ @jsii.data_type(
10067
+ jsii_type="aws-cdk-lib.aws_datazone.CfnPolicyGrant.GroupPolicyGrantPrincipalProperty",
10068
+ jsii_struct_bases=[],
10069
+ name_mapping={"group_identifier": "groupIdentifier"},
10070
+ )
10071
+ class GroupPolicyGrantPrincipalProperty:
10072
+ def __init__(self, *, group_identifier: builtins.str) -> None:
10073
+ '''The group principal to whom the policy is granted.
10074
+
10075
+ :param group_identifier: The ID Of the group of the group principal.
10076
+
10077
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datazone-policygrant-grouppolicygrantprincipal.html
10078
+ :exampleMetadata: fixture=_generated
10079
+
10080
+ Example::
10081
+
10082
+ # The code below shows an example of how to instantiate this type.
10083
+ # The values are placeholders you should change.
10084
+ from aws_cdk import aws_datazone as datazone
10085
+
10086
+ group_policy_grant_principal_property = datazone.CfnPolicyGrant.GroupPolicyGrantPrincipalProperty(
10087
+ group_identifier="groupIdentifier"
10088
+ )
10089
+ '''
10090
+ if __debug__:
10091
+ type_hints = typing.get_type_hints(_typecheckingstub__e1ff865839abd3c71e2085544851949a5ddb8ce549e7c5de934ae95fba801d84)
10092
+ check_type(argname="argument group_identifier", value=group_identifier, expected_type=type_hints["group_identifier"])
10093
+ self._values: typing.Dict[builtins.str, typing.Any] = {
10094
+ "group_identifier": group_identifier,
10095
+ }
10096
+
10097
+ @builtins.property
10098
+ def group_identifier(self) -> builtins.str:
10099
+ '''The ID Of the group of the group principal.
10100
+
10101
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datazone-policygrant-grouppolicygrantprincipal.html#cfn-datazone-policygrant-grouppolicygrantprincipal-groupidentifier
10102
+ '''
10103
+ result = self._values.get("group_identifier")
10104
+ assert result is not None, "Required property 'group_identifier' is missing"
10105
+ return typing.cast(builtins.str, result)
10106
+
10107
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
10108
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
10109
+
10110
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
10111
+ return not (rhs == self)
10112
+
10113
+ def __repr__(self) -> str:
10114
+ return "GroupPolicyGrantPrincipalProperty(%s)" % ", ".join(
10115
+ k + "=" + repr(v) for k, v in self._values.items()
10116
+ )
10117
+
10118
+ @jsii.data_type(
10119
+ jsii_type="aws-cdk-lib.aws_datazone.CfnPolicyGrant.OverrideDomainUnitOwnersPolicyGrantDetailProperty",
10120
+ jsii_struct_bases=[],
10121
+ name_mapping={"include_child_domain_units": "includeChildDomainUnits"},
10122
+ )
10123
+ class OverrideDomainUnitOwnersPolicyGrantDetailProperty:
10124
+ def __init__(
10125
+ self,
10126
+ *,
10127
+ include_child_domain_units: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
10128
+ ) -> None:
10129
+ '''The grant details of the override domain unit owners policy.
10130
+
10131
+ :param include_child_domain_units: Specifies whether the policy is inherited by child domain units.
10132
+
10133
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datazone-policygrant-overridedomainunitownerspolicygrantdetail.html
10134
+ :exampleMetadata: fixture=_generated
10135
+
10136
+ Example::
10137
+
10138
+ # The code below shows an example of how to instantiate this type.
10139
+ # The values are placeholders you should change.
10140
+ from aws_cdk import aws_datazone as datazone
10141
+
10142
+ override_domain_unit_owners_policy_grant_detail_property = datazone.CfnPolicyGrant.OverrideDomainUnitOwnersPolicyGrantDetailProperty(
10143
+ include_child_domain_units=False
10144
+ )
10145
+ '''
10146
+ if __debug__:
10147
+ type_hints = typing.get_type_hints(_typecheckingstub__907c10f730943e0d2be93a8bc019be369d2d72f805cc47a05bd5548250004219)
10148
+ check_type(argname="argument include_child_domain_units", value=include_child_domain_units, expected_type=type_hints["include_child_domain_units"])
10149
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
10150
+ if include_child_domain_units is not None:
10151
+ self._values["include_child_domain_units"] = include_child_domain_units
10152
+
10153
+ @builtins.property
10154
+ def include_child_domain_units(
10155
+ self,
10156
+ ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
10157
+ '''Specifies whether the policy is inherited by child domain units.
10158
+
10159
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datazone-policygrant-overridedomainunitownerspolicygrantdetail.html#cfn-datazone-policygrant-overridedomainunitownerspolicygrantdetail-includechilddomainunits
10160
+ '''
10161
+ result = self._values.get("include_child_domain_units")
10162
+ return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], result)
10163
+
10164
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
10165
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
10166
+
10167
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
10168
+ return not (rhs == self)
10169
+
10170
+ def __repr__(self) -> str:
10171
+ return "OverrideDomainUnitOwnersPolicyGrantDetailProperty(%s)" % ", ".join(
10172
+ k + "=" + repr(v) for k, v in self._values.items()
10173
+ )
10174
+
10175
+ @jsii.data_type(
10176
+ jsii_type="aws-cdk-lib.aws_datazone.CfnPolicyGrant.OverrideProjectOwnersPolicyGrantDetailProperty",
10177
+ jsii_struct_bases=[],
10178
+ name_mapping={"include_child_domain_units": "includeChildDomainUnits"},
10179
+ )
10180
+ class OverrideProjectOwnersPolicyGrantDetailProperty:
10181
+ def __init__(
10182
+ self,
10183
+ *,
10184
+ include_child_domain_units: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
10185
+ ) -> None:
10186
+ '''The details of the override project owners policy grant.
10187
+
10188
+ :param include_child_domain_units: Specifies whether the policy is inherited by child domain units.
10189
+
10190
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datazone-policygrant-overrideprojectownerspolicygrantdetail.html
10191
+ :exampleMetadata: fixture=_generated
10192
+
10193
+ Example::
10194
+
10195
+ # The code below shows an example of how to instantiate this type.
10196
+ # The values are placeholders you should change.
10197
+ from aws_cdk import aws_datazone as datazone
10198
+
10199
+ override_project_owners_policy_grant_detail_property = datazone.CfnPolicyGrant.OverrideProjectOwnersPolicyGrantDetailProperty(
10200
+ include_child_domain_units=False
10201
+ )
10202
+ '''
10203
+ if __debug__:
10204
+ type_hints = typing.get_type_hints(_typecheckingstub__f3cc5bba89e984da33746b491e3bfba60ce3a90fe2ac4e70265a0c2f60970c4d)
10205
+ check_type(argname="argument include_child_domain_units", value=include_child_domain_units, expected_type=type_hints["include_child_domain_units"])
10206
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
10207
+ if include_child_domain_units is not None:
10208
+ self._values["include_child_domain_units"] = include_child_domain_units
10209
+
10210
+ @builtins.property
10211
+ def include_child_domain_units(
10212
+ self,
10213
+ ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
10214
+ '''Specifies whether the policy is inherited by child domain units.
10215
+
10216
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datazone-policygrant-overrideprojectownerspolicygrantdetail.html#cfn-datazone-policygrant-overrideprojectownerspolicygrantdetail-includechilddomainunits
10217
+ '''
10218
+ result = self._values.get("include_child_domain_units")
10219
+ return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], result)
10220
+
10221
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
10222
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
10223
+
10224
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
10225
+ return not (rhs == self)
10226
+
10227
+ def __repr__(self) -> str:
10228
+ return "OverrideProjectOwnersPolicyGrantDetailProperty(%s)" % ", ".join(
10229
+ k + "=" + repr(v) for k, v in self._values.items()
10230
+ )
10231
+
10232
+ @jsii.data_type(
10233
+ jsii_type="aws-cdk-lib.aws_datazone.CfnPolicyGrant.PolicyGrantDetailProperty",
10234
+ jsii_struct_bases=[],
10235
+ name_mapping={
10236
+ "add_to_project_member_pool": "addToProjectMemberPool",
10237
+ "create_asset_type": "createAssetType",
10238
+ "create_domain_unit": "createDomainUnit",
10239
+ "create_environment": "createEnvironment",
10240
+ "create_environment_from_blueprint": "createEnvironmentFromBlueprint",
10241
+ "create_environment_profile": "createEnvironmentProfile",
10242
+ "create_form_type": "createFormType",
10243
+ "create_glossary": "createGlossary",
10244
+ "create_project": "createProject",
10245
+ "create_project_from_project_profile": "createProjectFromProjectProfile",
10246
+ "delegate_create_environment_profile": "delegateCreateEnvironmentProfile",
10247
+ "override_domain_unit_owners": "overrideDomainUnitOwners",
10248
+ "override_project_owners": "overrideProjectOwners",
10249
+ },
10250
+ )
10251
+ class PolicyGrantDetailProperty:
10252
+ def __init__(
10253
+ self,
10254
+ *,
10255
+ add_to_project_member_pool: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnPolicyGrant.AddToProjectMemberPoolPolicyGrantDetailProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
10256
+ create_asset_type: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnPolicyGrant.CreateAssetTypePolicyGrantDetailProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
10257
+ create_domain_unit: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnPolicyGrant.CreateDomainUnitPolicyGrantDetailProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
10258
+ create_environment: typing.Any = None,
10259
+ create_environment_from_blueprint: typing.Any = None,
10260
+ create_environment_profile: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnPolicyGrant.CreateEnvironmentProfilePolicyGrantDetailProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
10261
+ create_form_type: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnPolicyGrant.CreateFormTypePolicyGrantDetailProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
10262
+ create_glossary: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnPolicyGrant.CreateGlossaryPolicyGrantDetailProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
10263
+ create_project: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnPolicyGrant.CreateProjectPolicyGrantDetailProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
10264
+ create_project_from_project_profile: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnPolicyGrant.CreateProjectFromProjectProfilePolicyGrantDetailProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
10265
+ delegate_create_environment_profile: typing.Any = None,
10266
+ override_domain_unit_owners: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnPolicyGrant.OverrideDomainUnitOwnersPolicyGrantDetailProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
10267
+ override_project_owners: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnPolicyGrant.OverrideProjectOwnersPolicyGrantDetailProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
10268
+ ) -> None:
10269
+ '''The details of the policy grant.
10270
+
10271
+ :param add_to_project_member_pool: Specifies that the policy grant is to be added to the members of the project.
10272
+ :param create_asset_type: Specifies that this is a create asset type policy.
10273
+ :param create_domain_unit: Specifies that this is a create domain unit policy.
10274
+ :param create_environment: Specifies that this is a create environment policy.
10275
+ :param create_environment_from_blueprint: The details of the policy of creating an environment.
10276
+ :param create_environment_profile: Specifies that this is a create environment profile policy.
10277
+ :param create_form_type: Specifies that this is a create form type policy.
10278
+ :param create_glossary: Specifies that this is a create glossary policy.
10279
+ :param create_project: Specifies that this is a create project policy.
10280
+ :param create_project_from_project_profile: Specifies whether to create a project from project profile.
10281
+ :param delegate_create_environment_profile: Specifies that this is the delegation of the create environment profile policy.
10282
+ :param override_domain_unit_owners: Specifies whether to override domain unit owners.
10283
+ :param override_project_owners: Specifies whether to override project owners.
10284
+
10285
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datazone-policygrant-policygrantdetail.html
10286
+ :exampleMetadata: fixture=_generated
10287
+
10288
+ Example::
10289
+
10290
+ # The code below shows an example of how to instantiate this type.
10291
+ # The values are placeholders you should change.
10292
+ from aws_cdk import aws_datazone as datazone
10293
+
10294
+ # create_environment: Any
10295
+ # create_environment_from_blueprint: Any
10296
+ # delegate_create_environment_profile: Any
10297
+
10298
+ policy_grant_detail_property = datazone.CfnPolicyGrant.PolicyGrantDetailProperty(
10299
+ add_to_project_member_pool=datazone.CfnPolicyGrant.AddToProjectMemberPoolPolicyGrantDetailProperty(
10300
+ include_child_domain_units=False
10301
+ ),
10302
+ create_asset_type=datazone.CfnPolicyGrant.CreateAssetTypePolicyGrantDetailProperty(
10303
+ include_child_domain_units=False
10304
+ ),
10305
+ create_domain_unit=datazone.CfnPolicyGrant.CreateDomainUnitPolicyGrantDetailProperty(
10306
+ include_child_domain_units=False
10307
+ ),
10308
+ create_environment=create_environment,
10309
+ create_environment_from_blueprint=create_environment_from_blueprint,
10310
+ create_environment_profile=datazone.CfnPolicyGrant.CreateEnvironmentProfilePolicyGrantDetailProperty(
10311
+ domain_unit_id="domainUnitId"
10312
+ ),
10313
+ create_form_type=datazone.CfnPolicyGrant.CreateFormTypePolicyGrantDetailProperty(
10314
+ include_child_domain_units=False
10315
+ ),
10316
+ create_glossary=datazone.CfnPolicyGrant.CreateGlossaryPolicyGrantDetailProperty(
10317
+ include_child_domain_units=False
10318
+ ),
10319
+ create_project=datazone.CfnPolicyGrant.CreateProjectPolicyGrantDetailProperty(
10320
+ include_child_domain_units=False
10321
+ ),
10322
+ create_project_from_project_profile=datazone.CfnPolicyGrant.CreateProjectFromProjectProfilePolicyGrantDetailProperty(
10323
+ include_child_domain_units=False,
10324
+ project_profiles=["projectProfiles"]
10325
+ ),
10326
+ delegate_create_environment_profile=delegate_create_environment_profile,
10327
+ override_domain_unit_owners=datazone.CfnPolicyGrant.OverrideDomainUnitOwnersPolicyGrantDetailProperty(
10328
+ include_child_domain_units=False
10329
+ ),
10330
+ override_project_owners=datazone.CfnPolicyGrant.OverrideProjectOwnersPolicyGrantDetailProperty(
10331
+ include_child_domain_units=False
10332
+ )
10333
+ )
10334
+ '''
10335
+ if __debug__:
10336
+ type_hints = typing.get_type_hints(_typecheckingstub__1a243c72750dcbc1020d8dd303c618c4dba86b4010d67ac08fafeaabc53ba6e6)
10337
+ check_type(argname="argument add_to_project_member_pool", value=add_to_project_member_pool, expected_type=type_hints["add_to_project_member_pool"])
10338
+ check_type(argname="argument create_asset_type", value=create_asset_type, expected_type=type_hints["create_asset_type"])
10339
+ check_type(argname="argument create_domain_unit", value=create_domain_unit, expected_type=type_hints["create_domain_unit"])
10340
+ check_type(argname="argument create_environment", value=create_environment, expected_type=type_hints["create_environment"])
10341
+ check_type(argname="argument create_environment_from_blueprint", value=create_environment_from_blueprint, expected_type=type_hints["create_environment_from_blueprint"])
10342
+ check_type(argname="argument create_environment_profile", value=create_environment_profile, expected_type=type_hints["create_environment_profile"])
10343
+ check_type(argname="argument create_form_type", value=create_form_type, expected_type=type_hints["create_form_type"])
10344
+ check_type(argname="argument create_glossary", value=create_glossary, expected_type=type_hints["create_glossary"])
10345
+ check_type(argname="argument create_project", value=create_project, expected_type=type_hints["create_project"])
10346
+ check_type(argname="argument create_project_from_project_profile", value=create_project_from_project_profile, expected_type=type_hints["create_project_from_project_profile"])
10347
+ check_type(argname="argument delegate_create_environment_profile", value=delegate_create_environment_profile, expected_type=type_hints["delegate_create_environment_profile"])
10348
+ check_type(argname="argument override_domain_unit_owners", value=override_domain_unit_owners, expected_type=type_hints["override_domain_unit_owners"])
10349
+ check_type(argname="argument override_project_owners", value=override_project_owners, expected_type=type_hints["override_project_owners"])
10350
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
10351
+ if add_to_project_member_pool is not None:
10352
+ self._values["add_to_project_member_pool"] = add_to_project_member_pool
10353
+ if create_asset_type is not None:
10354
+ self._values["create_asset_type"] = create_asset_type
10355
+ if create_domain_unit is not None:
10356
+ self._values["create_domain_unit"] = create_domain_unit
10357
+ if create_environment is not None:
10358
+ self._values["create_environment"] = create_environment
10359
+ if create_environment_from_blueprint is not None:
10360
+ self._values["create_environment_from_blueprint"] = create_environment_from_blueprint
10361
+ if create_environment_profile is not None:
10362
+ self._values["create_environment_profile"] = create_environment_profile
10363
+ if create_form_type is not None:
10364
+ self._values["create_form_type"] = create_form_type
10365
+ if create_glossary is not None:
10366
+ self._values["create_glossary"] = create_glossary
10367
+ if create_project is not None:
10368
+ self._values["create_project"] = create_project
10369
+ if create_project_from_project_profile is not None:
10370
+ self._values["create_project_from_project_profile"] = create_project_from_project_profile
10371
+ if delegate_create_environment_profile is not None:
10372
+ self._values["delegate_create_environment_profile"] = delegate_create_environment_profile
10373
+ if override_domain_unit_owners is not None:
10374
+ self._values["override_domain_unit_owners"] = override_domain_unit_owners
10375
+ if override_project_owners is not None:
10376
+ self._values["override_project_owners"] = override_project_owners
10377
+
10378
+ @builtins.property
10379
+ def add_to_project_member_pool(
10380
+ self,
10381
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnPolicyGrant.AddToProjectMemberPoolPolicyGrantDetailProperty"]]:
10382
+ '''Specifies that the policy grant is to be added to the members of the project.
10383
+
10384
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datazone-policygrant-policygrantdetail.html#cfn-datazone-policygrant-policygrantdetail-addtoprojectmemberpool
10385
+ '''
10386
+ result = self._values.get("add_to_project_member_pool")
10387
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnPolicyGrant.AddToProjectMemberPoolPolicyGrantDetailProperty"]], result)
10388
+
10389
+ @builtins.property
10390
+ def create_asset_type(
10391
+ self,
10392
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnPolicyGrant.CreateAssetTypePolicyGrantDetailProperty"]]:
10393
+ '''Specifies that this is a create asset type policy.
10394
+
10395
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datazone-policygrant-policygrantdetail.html#cfn-datazone-policygrant-policygrantdetail-createassettype
10396
+ '''
10397
+ result = self._values.get("create_asset_type")
10398
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnPolicyGrant.CreateAssetTypePolicyGrantDetailProperty"]], result)
10399
+
10400
+ @builtins.property
10401
+ def create_domain_unit(
10402
+ self,
10403
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnPolicyGrant.CreateDomainUnitPolicyGrantDetailProperty"]]:
10404
+ '''Specifies that this is a create domain unit policy.
10405
+
10406
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datazone-policygrant-policygrantdetail.html#cfn-datazone-policygrant-policygrantdetail-createdomainunit
10407
+ '''
10408
+ result = self._values.get("create_domain_unit")
10409
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnPolicyGrant.CreateDomainUnitPolicyGrantDetailProperty"]], result)
10410
+
10411
+ @builtins.property
10412
+ def create_environment(self) -> typing.Any:
10413
+ '''Specifies that this is a create environment policy.
10414
+
10415
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datazone-policygrant-policygrantdetail.html#cfn-datazone-policygrant-policygrantdetail-createenvironment
10416
+ '''
10417
+ result = self._values.get("create_environment")
10418
+ return typing.cast(typing.Any, result)
10419
+
10420
+ @builtins.property
10421
+ def create_environment_from_blueprint(self) -> typing.Any:
10422
+ '''The details of the policy of creating an environment.
10423
+
10424
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datazone-policygrant-policygrantdetail.html#cfn-datazone-policygrant-policygrantdetail-createenvironmentfromblueprint
10425
+ '''
10426
+ result = self._values.get("create_environment_from_blueprint")
10427
+ return typing.cast(typing.Any, result)
10428
+
10429
+ @builtins.property
10430
+ def create_environment_profile(
10431
+ self,
10432
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnPolicyGrant.CreateEnvironmentProfilePolicyGrantDetailProperty"]]:
10433
+ '''Specifies that this is a create environment profile policy.
10434
+
10435
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datazone-policygrant-policygrantdetail.html#cfn-datazone-policygrant-policygrantdetail-createenvironmentprofile
10436
+ '''
10437
+ result = self._values.get("create_environment_profile")
10438
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnPolicyGrant.CreateEnvironmentProfilePolicyGrantDetailProperty"]], result)
10439
+
10440
+ @builtins.property
10441
+ def create_form_type(
10442
+ self,
10443
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnPolicyGrant.CreateFormTypePolicyGrantDetailProperty"]]:
10444
+ '''Specifies that this is a create form type policy.
10445
+
10446
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datazone-policygrant-policygrantdetail.html#cfn-datazone-policygrant-policygrantdetail-createformtype
10447
+ '''
10448
+ result = self._values.get("create_form_type")
10449
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnPolicyGrant.CreateFormTypePolicyGrantDetailProperty"]], result)
10450
+
10451
+ @builtins.property
10452
+ def create_glossary(
10453
+ self,
10454
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnPolicyGrant.CreateGlossaryPolicyGrantDetailProperty"]]:
10455
+ '''Specifies that this is a create glossary policy.
10456
+
10457
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datazone-policygrant-policygrantdetail.html#cfn-datazone-policygrant-policygrantdetail-createglossary
10458
+ '''
10459
+ result = self._values.get("create_glossary")
10460
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnPolicyGrant.CreateGlossaryPolicyGrantDetailProperty"]], result)
10461
+
10462
+ @builtins.property
10463
+ def create_project(
10464
+ self,
10465
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnPolicyGrant.CreateProjectPolicyGrantDetailProperty"]]:
10466
+ '''Specifies that this is a create project policy.
10467
+
10468
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datazone-policygrant-policygrantdetail.html#cfn-datazone-policygrant-policygrantdetail-createproject
10469
+ '''
10470
+ result = self._values.get("create_project")
10471
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnPolicyGrant.CreateProjectPolicyGrantDetailProperty"]], result)
10472
+
10473
+ @builtins.property
10474
+ def create_project_from_project_profile(
10475
+ self,
10476
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnPolicyGrant.CreateProjectFromProjectProfilePolicyGrantDetailProperty"]]:
10477
+ '''Specifies whether to create a project from project profile.
10478
+
10479
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datazone-policygrant-policygrantdetail.html#cfn-datazone-policygrant-policygrantdetail-createprojectfromprojectprofile
10480
+ '''
10481
+ result = self._values.get("create_project_from_project_profile")
10482
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnPolicyGrant.CreateProjectFromProjectProfilePolicyGrantDetailProperty"]], result)
10483
+
10484
+ @builtins.property
10485
+ def delegate_create_environment_profile(self) -> typing.Any:
10486
+ '''Specifies that this is the delegation of the create environment profile policy.
10487
+
10488
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datazone-policygrant-policygrantdetail.html#cfn-datazone-policygrant-policygrantdetail-delegatecreateenvironmentprofile
10489
+ '''
10490
+ result = self._values.get("delegate_create_environment_profile")
10491
+ return typing.cast(typing.Any, result)
10492
+
10493
+ @builtins.property
10494
+ def override_domain_unit_owners(
10495
+ self,
10496
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnPolicyGrant.OverrideDomainUnitOwnersPolicyGrantDetailProperty"]]:
10497
+ '''Specifies whether to override domain unit owners.
10498
+
10499
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datazone-policygrant-policygrantdetail.html#cfn-datazone-policygrant-policygrantdetail-overridedomainunitowners
10500
+ '''
10501
+ result = self._values.get("override_domain_unit_owners")
10502
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnPolicyGrant.OverrideDomainUnitOwnersPolicyGrantDetailProperty"]], result)
10503
+
10504
+ @builtins.property
10505
+ def override_project_owners(
10506
+ self,
10507
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnPolicyGrant.OverrideProjectOwnersPolicyGrantDetailProperty"]]:
10508
+ '''Specifies whether to override project owners.
10509
+
10510
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datazone-policygrant-policygrantdetail.html#cfn-datazone-policygrant-policygrantdetail-overrideprojectowners
10511
+ '''
10512
+ result = self._values.get("override_project_owners")
10513
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnPolicyGrant.OverrideProjectOwnersPolicyGrantDetailProperty"]], result)
10514
+
10515
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
10516
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
10517
+
10518
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
10519
+ return not (rhs == self)
10520
+
10521
+ def __repr__(self) -> str:
10522
+ return "PolicyGrantDetailProperty(%s)" % ", ".join(
10523
+ k + "=" + repr(v) for k, v in self._values.items()
10524
+ )
10525
+
10526
+ @jsii.data_type(
10527
+ jsii_type="aws-cdk-lib.aws_datazone.CfnPolicyGrant.PolicyGrantPrincipalProperty",
10528
+ jsii_struct_bases=[],
10529
+ name_mapping={
10530
+ "domain_unit": "domainUnit",
10531
+ "group": "group",
10532
+ "project": "project",
10533
+ "user": "user",
10534
+ },
10535
+ )
10536
+ class PolicyGrantPrincipalProperty:
10537
+ def __init__(
10538
+ self,
10539
+ *,
10540
+ domain_unit: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnPolicyGrant.DomainUnitPolicyGrantPrincipalProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
10541
+ group: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnPolicyGrant.GroupPolicyGrantPrincipalProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
10542
+ project: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnPolicyGrant.ProjectPolicyGrantPrincipalProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
10543
+ user: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnPolicyGrant.UserPolicyGrantPrincipalProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
10544
+ ) -> None:
10545
+ '''The policy grant principal.
10546
+
10547
+ :param domain_unit: The domain unit of the policy grant principal.
10548
+ :param group: The group of the policy grant principal.
10549
+ :param project: The project of the policy grant principal.
10550
+ :param user: The user of the policy grant principal.
10551
+
10552
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datazone-policygrant-policygrantprincipal.html
10553
+ :exampleMetadata: fixture=_generated
10554
+
10555
+ Example::
10556
+
10557
+ # The code below shows an example of how to instantiate this type.
10558
+ # The values are placeholders you should change.
10559
+ from aws_cdk import aws_datazone as datazone
10560
+
10561
+ # all_domain_units_grant_filter: Any
10562
+ # all_users_grant_filter: Any
10563
+
10564
+ policy_grant_principal_property = datazone.CfnPolicyGrant.PolicyGrantPrincipalProperty(
10565
+ domain_unit=datazone.CfnPolicyGrant.DomainUnitPolicyGrantPrincipalProperty(
10566
+ domain_unit_designation="domainUnitDesignation",
10567
+ domain_unit_grant_filter=datazone.CfnPolicyGrant.DomainUnitGrantFilterProperty(
10568
+ all_domain_units_grant_filter=all_domain_units_grant_filter
10569
+ ),
10570
+ domain_unit_identifier="domainUnitIdentifier"
10571
+ ),
10572
+ group=datazone.CfnPolicyGrant.GroupPolicyGrantPrincipalProperty(
10573
+ group_identifier="groupIdentifier"
10574
+ ),
10575
+ project=datazone.CfnPolicyGrant.ProjectPolicyGrantPrincipalProperty(
10576
+ project_designation="projectDesignation",
10577
+ project_grant_filter=datazone.CfnPolicyGrant.ProjectGrantFilterProperty(
10578
+ domain_unit_filter=datazone.CfnPolicyGrant.DomainUnitFilterForProjectProperty(
10579
+ domain_unit="domainUnit",
10580
+
10581
+ # the properties below are optional
10582
+ include_child_domain_units=False
10583
+ )
10584
+ ),
10585
+ project_identifier="projectIdentifier"
10586
+ ),
10587
+ user=datazone.CfnPolicyGrant.UserPolicyGrantPrincipalProperty(
10588
+ all_users_grant_filter=all_users_grant_filter,
10589
+ user_identifier="userIdentifier"
10590
+ )
10591
+ )
10592
+ '''
10593
+ if __debug__:
10594
+ type_hints = typing.get_type_hints(_typecheckingstub__a4f16f264dfe6cc67b0a5aef8bc6077cbad5a08789dd817ca69444390ca87f5d)
10595
+ check_type(argname="argument domain_unit", value=domain_unit, expected_type=type_hints["domain_unit"])
10596
+ check_type(argname="argument group", value=group, expected_type=type_hints["group"])
10597
+ check_type(argname="argument project", value=project, expected_type=type_hints["project"])
10598
+ check_type(argname="argument user", value=user, expected_type=type_hints["user"])
10599
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
10600
+ if domain_unit is not None:
10601
+ self._values["domain_unit"] = domain_unit
10602
+ if group is not None:
10603
+ self._values["group"] = group
10604
+ if project is not None:
10605
+ self._values["project"] = project
10606
+ if user is not None:
10607
+ self._values["user"] = user
10608
+
10609
+ @builtins.property
10610
+ def domain_unit(
10611
+ self,
10612
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnPolicyGrant.DomainUnitPolicyGrantPrincipalProperty"]]:
10613
+ '''The domain unit of the policy grant principal.
10614
+
10615
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datazone-policygrant-policygrantprincipal.html#cfn-datazone-policygrant-policygrantprincipal-domainunit
10616
+ '''
10617
+ result = self._values.get("domain_unit")
10618
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnPolicyGrant.DomainUnitPolicyGrantPrincipalProperty"]], result)
10619
+
10620
+ @builtins.property
10621
+ def group(
10622
+ self,
10623
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnPolicyGrant.GroupPolicyGrantPrincipalProperty"]]:
10624
+ '''The group of the policy grant principal.
10625
+
10626
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datazone-policygrant-policygrantprincipal.html#cfn-datazone-policygrant-policygrantprincipal-group
10627
+ '''
10628
+ result = self._values.get("group")
10629
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnPolicyGrant.GroupPolicyGrantPrincipalProperty"]], result)
10630
+
10631
+ @builtins.property
10632
+ def project(
10633
+ self,
10634
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnPolicyGrant.ProjectPolicyGrantPrincipalProperty"]]:
10635
+ '''The project of the policy grant principal.
10636
+
10637
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datazone-policygrant-policygrantprincipal.html#cfn-datazone-policygrant-policygrantprincipal-project
10638
+ '''
10639
+ result = self._values.get("project")
10640
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnPolicyGrant.ProjectPolicyGrantPrincipalProperty"]], result)
10641
+
10642
+ @builtins.property
10643
+ def user(
10644
+ self,
10645
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnPolicyGrant.UserPolicyGrantPrincipalProperty"]]:
10646
+ '''The user of the policy grant principal.
10647
+
10648
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datazone-policygrant-policygrantprincipal.html#cfn-datazone-policygrant-policygrantprincipal-user
10649
+ '''
10650
+ result = self._values.get("user")
10651
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnPolicyGrant.UserPolicyGrantPrincipalProperty"]], result)
10652
+
10653
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
10654
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
10655
+
10656
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
10657
+ return not (rhs == self)
10658
+
10659
+ def __repr__(self) -> str:
10660
+ return "PolicyGrantPrincipalProperty(%s)" % ", ".join(
10661
+ k + "=" + repr(v) for k, v in self._values.items()
10662
+ )
10663
+
10664
+ @jsii.data_type(
10665
+ jsii_type="aws-cdk-lib.aws_datazone.CfnPolicyGrant.ProjectGrantFilterProperty",
10666
+ jsii_struct_bases=[],
10667
+ name_mapping={"domain_unit_filter": "domainUnitFilter"},
10668
+ )
10669
+ class ProjectGrantFilterProperty:
10670
+ def __init__(
10671
+ self,
10672
+ *,
10673
+ domain_unit_filter: typing.Union[_IResolvable_da3f097b, typing.Union["CfnPolicyGrant.DomainUnitFilterForProjectProperty", typing.Dict[builtins.str, typing.Any]]],
10674
+ ) -> None:
10675
+ '''The project grant filter.
10676
+
10677
+ :param domain_unit_filter: The domain unit filter of the project grant filter.
10678
+
10679
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datazone-policygrant-projectgrantfilter.html
10680
+ :exampleMetadata: fixture=_generated
10681
+
10682
+ Example::
10683
+
10684
+ # The code below shows an example of how to instantiate this type.
10685
+ # The values are placeholders you should change.
10686
+ from aws_cdk import aws_datazone as datazone
10687
+
10688
+ project_grant_filter_property = datazone.CfnPolicyGrant.ProjectGrantFilterProperty(
10689
+ domain_unit_filter=datazone.CfnPolicyGrant.DomainUnitFilterForProjectProperty(
10690
+ domain_unit="domainUnit",
10691
+
10692
+ # the properties below are optional
10693
+ include_child_domain_units=False
10694
+ )
10695
+ )
10696
+ '''
10697
+ if __debug__:
10698
+ type_hints = typing.get_type_hints(_typecheckingstub__ca8335d0da75d7abf56d91a31f26811aec29d37deb7b388317a3b05c11f0c13d)
10699
+ check_type(argname="argument domain_unit_filter", value=domain_unit_filter, expected_type=type_hints["domain_unit_filter"])
10700
+ self._values: typing.Dict[builtins.str, typing.Any] = {
10701
+ "domain_unit_filter": domain_unit_filter,
10702
+ }
10703
+
10704
+ @builtins.property
10705
+ def domain_unit_filter(
10706
+ self,
10707
+ ) -> typing.Union[_IResolvable_da3f097b, "CfnPolicyGrant.DomainUnitFilterForProjectProperty"]:
10708
+ '''The domain unit filter of the project grant filter.
10709
+
10710
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datazone-policygrant-projectgrantfilter.html#cfn-datazone-policygrant-projectgrantfilter-domainunitfilter
10711
+ '''
10712
+ result = self._values.get("domain_unit_filter")
10713
+ assert result is not None, "Required property 'domain_unit_filter' is missing"
10714
+ return typing.cast(typing.Union[_IResolvable_da3f097b, "CfnPolicyGrant.DomainUnitFilterForProjectProperty"], result)
10715
+
10716
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
10717
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
10718
+
10719
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
10720
+ return not (rhs == self)
10721
+
10722
+ def __repr__(self) -> str:
10723
+ return "ProjectGrantFilterProperty(%s)" % ", ".join(
10724
+ k + "=" + repr(v) for k, v in self._values.items()
10725
+ )
10726
+
10727
+ @jsii.data_type(
10728
+ jsii_type="aws-cdk-lib.aws_datazone.CfnPolicyGrant.ProjectPolicyGrantPrincipalProperty",
10729
+ jsii_struct_bases=[],
10730
+ name_mapping={
10731
+ "project_designation": "projectDesignation",
10732
+ "project_grant_filter": "projectGrantFilter",
10733
+ "project_identifier": "projectIdentifier",
10734
+ },
10735
+ )
10736
+ class ProjectPolicyGrantPrincipalProperty:
10737
+ def __init__(
10738
+ self,
10739
+ *,
10740
+ project_designation: typing.Optional[builtins.str] = None,
10741
+ project_grant_filter: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnPolicyGrant.ProjectGrantFilterProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
10742
+ project_identifier: typing.Optional[builtins.str] = None,
10743
+ ) -> None:
10744
+ '''The project policy grant principal.
10745
+
10746
+ :param project_designation: The project designation of the project policy grant principal.
10747
+ :param project_grant_filter: The project grant filter of the project policy grant principal.
10748
+ :param project_identifier: The project ID of the project policy grant principal.
10749
+
10750
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datazone-policygrant-projectpolicygrantprincipal.html
10751
+ :exampleMetadata: fixture=_generated
10752
+
10753
+ Example::
10754
+
10755
+ # The code below shows an example of how to instantiate this type.
10756
+ # The values are placeholders you should change.
10757
+ from aws_cdk import aws_datazone as datazone
10758
+
10759
+ project_policy_grant_principal_property = datazone.CfnPolicyGrant.ProjectPolicyGrantPrincipalProperty(
10760
+ project_designation="projectDesignation",
10761
+ project_grant_filter=datazone.CfnPolicyGrant.ProjectGrantFilterProperty(
10762
+ domain_unit_filter=datazone.CfnPolicyGrant.DomainUnitFilterForProjectProperty(
10763
+ domain_unit="domainUnit",
10764
+
10765
+ # the properties below are optional
10766
+ include_child_domain_units=False
10767
+ )
10768
+ ),
10769
+ project_identifier="projectIdentifier"
10770
+ )
10771
+ '''
10772
+ if __debug__:
10773
+ type_hints = typing.get_type_hints(_typecheckingstub__cf1bf50a91307a3e78245d0aaff4e631fa1f6af80d39eca8b29f0713b85fbfe5)
10774
+ check_type(argname="argument project_designation", value=project_designation, expected_type=type_hints["project_designation"])
10775
+ check_type(argname="argument project_grant_filter", value=project_grant_filter, expected_type=type_hints["project_grant_filter"])
10776
+ check_type(argname="argument project_identifier", value=project_identifier, expected_type=type_hints["project_identifier"])
10777
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
10778
+ if project_designation is not None:
10779
+ self._values["project_designation"] = project_designation
10780
+ if project_grant_filter is not None:
10781
+ self._values["project_grant_filter"] = project_grant_filter
10782
+ if project_identifier is not None:
10783
+ self._values["project_identifier"] = project_identifier
10784
+
10785
+ @builtins.property
10786
+ def project_designation(self) -> typing.Optional[builtins.str]:
10787
+ '''The project designation of the project policy grant principal.
10788
+
10789
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datazone-policygrant-projectpolicygrantprincipal.html#cfn-datazone-policygrant-projectpolicygrantprincipal-projectdesignation
10790
+ '''
10791
+ result = self._values.get("project_designation")
10792
+ return typing.cast(typing.Optional[builtins.str], result)
10793
+
10794
+ @builtins.property
10795
+ def project_grant_filter(
10796
+ self,
10797
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnPolicyGrant.ProjectGrantFilterProperty"]]:
10798
+ '''The project grant filter of the project policy grant principal.
10799
+
10800
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datazone-policygrant-projectpolicygrantprincipal.html#cfn-datazone-policygrant-projectpolicygrantprincipal-projectgrantfilter
10801
+ '''
10802
+ result = self._values.get("project_grant_filter")
10803
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnPolicyGrant.ProjectGrantFilterProperty"]], result)
10804
+
10805
+ @builtins.property
10806
+ def project_identifier(self) -> typing.Optional[builtins.str]:
10807
+ '''The project ID of the project policy grant principal.
10808
+
10809
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datazone-policygrant-projectpolicygrantprincipal.html#cfn-datazone-policygrant-projectpolicygrantprincipal-projectidentifier
10810
+ '''
10811
+ result = self._values.get("project_identifier")
10812
+ return typing.cast(typing.Optional[builtins.str], result)
10813
+
10814
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
10815
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
10816
+
10817
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
10818
+ return not (rhs == self)
10819
+
10820
+ def __repr__(self) -> str:
10821
+ return "ProjectPolicyGrantPrincipalProperty(%s)" % ", ".join(
10822
+ k + "=" + repr(v) for k, v in self._values.items()
10823
+ )
10824
+
10825
+ @jsii.data_type(
10826
+ jsii_type="aws-cdk-lib.aws_datazone.CfnPolicyGrant.UserPolicyGrantPrincipalProperty",
10827
+ jsii_struct_bases=[],
10828
+ name_mapping={
10829
+ "all_users_grant_filter": "allUsersGrantFilter",
10830
+ "user_identifier": "userIdentifier",
10831
+ },
10832
+ )
10833
+ class UserPolicyGrantPrincipalProperty:
10834
+ def __init__(
10835
+ self,
10836
+ *,
10837
+ all_users_grant_filter: typing.Any = None,
10838
+ user_identifier: typing.Optional[builtins.str] = None,
10839
+ ) -> None:
10840
+ '''The user policy grant principal.
10841
+
10842
+ :param all_users_grant_filter: The all users grant filter of the user policy grant principal.
10843
+ :param user_identifier: The user ID of the user policy grant principal.
10844
+
10845
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datazone-policygrant-userpolicygrantprincipal.html
10846
+ :exampleMetadata: fixture=_generated
10847
+
10848
+ Example::
10849
+
10850
+ # The code below shows an example of how to instantiate this type.
10851
+ # The values are placeholders you should change.
10852
+ from aws_cdk import aws_datazone as datazone
10853
+
10854
+ # all_users_grant_filter: Any
10855
+
10856
+ user_policy_grant_principal_property = datazone.CfnPolicyGrant.UserPolicyGrantPrincipalProperty(
10857
+ all_users_grant_filter=all_users_grant_filter,
10858
+ user_identifier="userIdentifier"
10859
+ )
10860
+ '''
10861
+ if __debug__:
10862
+ type_hints = typing.get_type_hints(_typecheckingstub__6082ef506e21f62dc411e4b67ef1221396b9640f1ef92375bb0dc88fa7059b18)
10863
+ check_type(argname="argument all_users_grant_filter", value=all_users_grant_filter, expected_type=type_hints["all_users_grant_filter"])
10864
+ check_type(argname="argument user_identifier", value=user_identifier, expected_type=type_hints["user_identifier"])
10865
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
10866
+ if all_users_grant_filter is not None:
10867
+ self._values["all_users_grant_filter"] = all_users_grant_filter
10868
+ if user_identifier is not None:
10869
+ self._values["user_identifier"] = user_identifier
10870
+
10871
+ @builtins.property
10872
+ def all_users_grant_filter(self) -> typing.Any:
10873
+ '''The all users grant filter of the user policy grant principal.
10874
+
10875
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datazone-policygrant-userpolicygrantprincipal.html#cfn-datazone-policygrant-userpolicygrantprincipal-allusersgrantfilter
10876
+ '''
10877
+ result = self._values.get("all_users_grant_filter")
10878
+ return typing.cast(typing.Any, result)
10879
+
10880
+ @builtins.property
10881
+ def user_identifier(self) -> typing.Optional[builtins.str]:
10882
+ '''The user ID of the user policy grant principal.
10883
+
10884
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datazone-policygrant-userpolicygrantprincipal.html#cfn-datazone-policygrant-userpolicygrantprincipal-useridentifier
10885
+ '''
10886
+ result = self._values.get("user_identifier")
10887
+ return typing.cast(typing.Optional[builtins.str], result)
10888
+
10889
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
10890
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
10891
+
10892
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
10893
+ return not (rhs == self)
10894
+
10895
+ def __repr__(self) -> str:
10896
+ return "UserPolicyGrantPrincipalProperty(%s)" % ", ".join(
10897
+ k + "=" + repr(v) for k, v in self._values.items()
10898
+ )
10899
+
10900
+
10901
+ @jsii.data_type(
10902
+ jsii_type="aws-cdk-lib.aws_datazone.CfnPolicyGrantProps",
10903
+ jsii_struct_bases=[],
10904
+ name_mapping={
10905
+ "domain_identifier": "domainIdentifier",
10906
+ "entity_identifier": "entityIdentifier",
10907
+ "entity_type": "entityType",
10908
+ "policy_type": "policyType",
10909
+ "detail": "detail",
10910
+ "principal": "principal",
10911
+ },
10912
+ )
10913
+ class CfnPolicyGrantProps:
10914
+ def __init__(
10915
+ self,
10916
+ *,
10917
+ domain_identifier: builtins.str,
10918
+ entity_identifier: builtins.str,
10919
+ entity_type: builtins.str,
10920
+ policy_type: builtins.str,
10921
+ detail: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnPolicyGrant.PolicyGrantDetailProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
10922
+ principal: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnPolicyGrant.PolicyGrantPrincipalProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
10923
+ ) -> None:
10924
+ '''Properties for defining a ``CfnPolicyGrant``.
10925
+
10926
+ :param domain_identifier: The ID of the domain where you want to add a policy grant.
10927
+ :param entity_identifier: The ID of the entity (resource) to which you want to add a policy grant.
10928
+ :param entity_type: The type of entity (resource) to which the grant is added.
10929
+ :param policy_type: The type of policy that you want to grant.
10930
+ :param detail: The details of the policy grant member.
10931
+ :param principal: The principal of the policy grant member.
10932
+
10933
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datazone-policygrant.html
10934
+ :exampleMetadata: fixture=_generated
10935
+
10936
+ Example::
10937
+
10938
+ # The code below shows an example of how to instantiate this type.
10939
+ # The values are placeholders you should change.
10940
+ from aws_cdk import aws_datazone as datazone
10941
+
10942
+ # all_domain_units_grant_filter: Any
10943
+ # all_users_grant_filter: Any
10944
+ # create_environment: Any
10945
+ # create_environment_from_blueprint: Any
10946
+ # delegate_create_environment_profile: Any
10947
+
10948
+ cfn_policy_grant_props = datazone.CfnPolicyGrantProps(
10949
+ domain_identifier="domainIdentifier",
10950
+ entity_identifier="entityIdentifier",
10951
+ entity_type="entityType",
10952
+ policy_type="policyType",
10953
+
10954
+ # the properties below are optional
10955
+ detail=datazone.CfnPolicyGrant.PolicyGrantDetailProperty(
10956
+ add_to_project_member_pool=datazone.CfnPolicyGrant.AddToProjectMemberPoolPolicyGrantDetailProperty(
10957
+ include_child_domain_units=False
10958
+ ),
10959
+ create_asset_type=datazone.CfnPolicyGrant.CreateAssetTypePolicyGrantDetailProperty(
10960
+ include_child_domain_units=False
10961
+ ),
10962
+ create_domain_unit=datazone.CfnPolicyGrant.CreateDomainUnitPolicyGrantDetailProperty(
10963
+ include_child_domain_units=False
10964
+ ),
10965
+ create_environment=create_environment,
10966
+ create_environment_from_blueprint=create_environment_from_blueprint,
10967
+ create_environment_profile=datazone.CfnPolicyGrant.CreateEnvironmentProfilePolicyGrantDetailProperty(
10968
+ domain_unit_id="domainUnitId"
10969
+ ),
10970
+ create_form_type=datazone.CfnPolicyGrant.CreateFormTypePolicyGrantDetailProperty(
10971
+ include_child_domain_units=False
10972
+ ),
10973
+ create_glossary=datazone.CfnPolicyGrant.CreateGlossaryPolicyGrantDetailProperty(
10974
+ include_child_domain_units=False
10975
+ ),
10976
+ create_project=datazone.CfnPolicyGrant.CreateProjectPolicyGrantDetailProperty(
10977
+ include_child_domain_units=False
10978
+ ),
10979
+ create_project_from_project_profile=datazone.CfnPolicyGrant.CreateProjectFromProjectProfilePolicyGrantDetailProperty(
10980
+ include_child_domain_units=False,
10981
+ project_profiles=["projectProfiles"]
10982
+ ),
10983
+ delegate_create_environment_profile=delegate_create_environment_profile,
10984
+ override_domain_unit_owners=datazone.CfnPolicyGrant.OverrideDomainUnitOwnersPolicyGrantDetailProperty(
10985
+ include_child_domain_units=False
10986
+ ),
10987
+ override_project_owners=datazone.CfnPolicyGrant.OverrideProjectOwnersPolicyGrantDetailProperty(
10988
+ include_child_domain_units=False
10989
+ )
10990
+ ),
10991
+ principal=datazone.CfnPolicyGrant.PolicyGrantPrincipalProperty(
10992
+ domain_unit=datazone.CfnPolicyGrant.DomainUnitPolicyGrantPrincipalProperty(
10993
+ domain_unit_designation="domainUnitDesignation",
10994
+ domain_unit_grant_filter=datazone.CfnPolicyGrant.DomainUnitGrantFilterProperty(
10995
+ all_domain_units_grant_filter=all_domain_units_grant_filter
10996
+ ),
10997
+ domain_unit_identifier="domainUnitIdentifier"
10998
+ ),
10999
+ group=datazone.CfnPolicyGrant.GroupPolicyGrantPrincipalProperty(
11000
+ group_identifier="groupIdentifier"
11001
+ ),
11002
+ project=datazone.CfnPolicyGrant.ProjectPolicyGrantPrincipalProperty(
11003
+ project_designation="projectDesignation",
11004
+ project_grant_filter=datazone.CfnPolicyGrant.ProjectGrantFilterProperty(
11005
+ domain_unit_filter=datazone.CfnPolicyGrant.DomainUnitFilterForProjectProperty(
11006
+ domain_unit="domainUnit",
11007
+
11008
+ # the properties below are optional
11009
+ include_child_domain_units=False
11010
+ )
11011
+ ),
11012
+ project_identifier="projectIdentifier"
11013
+ ),
11014
+ user=datazone.CfnPolicyGrant.UserPolicyGrantPrincipalProperty(
11015
+ all_users_grant_filter=all_users_grant_filter,
11016
+ user_identifier="userIdentifier"
11017
+ )
11018
+ )
11019
+ )
11020
+ '''
11021
+ if __debug__:
11022
+ type_hints = typing.get_type_hints(_typecheckingstub__02b61ca206174fae99b63c9d6459815d1820de1a30d1dce62ac9764b08287073)
11023
+ check_type(argname="argument domain_identifier", value=domain_identifier, expected_type=type_hints["domain_identifier"])
11024
+ check_type(argname="argument entity_identifier", value=entity_identifier, expected_type=type_hints["entity_identifier"])
11025
+ check_type(argname="argument entity_type", value=entity_type, expected_type=type_hints["entity_type"])
11026
+ check_type(argname="argument policy_type", value=policy_type, expected_type=type_hints["policy_type"])
11027
+ check_type(argname="argument detail", value=detail, expected_type=type_hints["detail"])
11028
+ check_type(argname="argument principal", value=principal, expected_type=type_hints["principal"])
11029
+ self._values: typing.Dict[builtins.str, typing.Any] = {
11030
+ "domain_identifier": domain_identifier,
11031
+ "entity_identifier": entity_identifier,
11032
+ "entity_type": entity_type,
11033
+ "policy_type": policy_type,
11034
+ }
11035
+ if detail is not None:
11036
+ self._values["detail"] = detail
11037
+ if principal is not None:
11038
+ self._values["principal"] = principal
11039
+
11040
+ @builtins.property
11041
+ def domain_identifier(self) -> builtins.str:
11042
+ '''The ID of the domain where you want to add a policy grant.
11043
+
11044
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datazone-policygrant.html#cfn-datazone-policygrant-domainidentifier
11045
+ '''
11046
+ result = self._values.get("domain_identifier")
11047
+ assert result is not None, "Required property 'domain_identifier' is missing"
11048
+ return typing.cast(builtins.str, result)
11049
+
11050
+ @builtins.property
11051
+ def entity_identifier(self) -> builtins.str:
11052
+ '''The ID of the entity (resource) to which you want to add a policy grant.
11053
+
11054
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datazone-policygrant.html#cfn-datazone-policygrant-entityidentifier
11055
+ '''
11056
+ result = self._values.get("entity_identifier")
11057
+ assert result is not None, "Required property 'entity_identifier' is missing"
11058
+ return typing.cast(builtins.str, result)
11059
+
11060
+ @builtins.property
11061
+ def entity_type(self) -> builtins.str:
11062
+ '''The type of entity (resource) to which the grant is added.
11063
+
11064
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datazone-policygrant.html#cfn-datazone-policygrant-entitytype
11065
+ '''
11066
+ result = self._values.get("entity_type")
11067
+ assert result is not None, "Required property 'entity_type' is missing"
11068
+ return typing.cast(builtins.str, result)
11069
+
11070
+ @builtins.property
11071
+ def policy_type(self) -> builtins.str:
11072
+ '''The type of policy that you want to grant.
11073
+
11074
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datazone-policygrant.html#cfn-datazone-policygrant-policytype
11075
+ '''
11076
+ result = self._values.get("policy_type")
11077
+ assert result is not None, "Required property 'policy_type' is missing"
11078
+ return typing.cast(builtins.str, result)
11079
+
11080
+ @builtins.property
11081
+ def detail(
11082
+ self,
11083
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnPolicyGrant.PolicyGrantDetailProperty]]:
11084
+ '''The details of the policy grant member.
11085
+
11086
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datazone-policygrant.html#cfn-datazone-policygrant-detail
11087
+ '''
11088
+ result = self._values.get("detail")
11089
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, CfnPolicyGrant.PolicyGrantDetailProperty]], result)
11090
+
11091
+ @builtins.property
11092
+ def principal(
11093
+ self,
11094
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnPolicyGrant.PolicyGrantPrincipalProperty]]:
11095
+ '''The principal of the policy grant member.
11096
+
11097
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datazone-policygrant.html#cfn-datazone-policygrant-principal
11098
+ '''
11099
+ result = self._values.get("principal")
11100
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, CfnPolicyGrant.PolicyGrantPrincipalProperty]], result)
11101
+
11102
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
11103
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
11104
+
11105
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
11106
+ return not (rhs == self)
11107
+
11108
+ def __repr__(self) -> str:
11109
+ return "CfnPolicyGrantProps(%s)" % ", ".join(
11110
+ k + "=" + repr(v) for k, v in self._values.items()
11111
+ )
11112
+
11113
+
9078
11114
  @jsii.implements(_IInspectable_c2943556)
9079
11115
  class CfnProject(
9080
11116
  _CfnResource_9df397a6,
@@ -12106,6 +14142,8 @@ __all__ = [
12106
14142
  "CfnGroupProfileProps",
12107
14143
  "CfnOwner",
12108
14144
  "CfnOwnerProps",
14145
+ "CfnPolicyGrant",
14146
+ "CfnPolicyGrantProps",
12109
14147
  "CfnProject",
12110
14148
  "CfnProjectMembership",
12111
14149
  "CfnProjectMembershipProps",
@@ -13346,6 +15384,235 @@ def _typecheckingstub__d35804fdeb7af54df495ac452da3f154252f3e8b980bc354ae920748f
13346
15384
  """Type checking stubs"""
13347
15385
  pass
13348
15386
 
15387
+ def _typecheckingstub__4476b525fba06ea256a4c8b04c912bb45feea205dd2c102c7c88078ff113d152(
15388
+ scope: _constructs_77d1e7e8.Construct,
15389
+ id: builtins.str,
15390
+ *,
15391
+ domain_identifier: builtins.str,
15392
+ entity_identifier: builtins.str,
15393
+ entity_type: builtins.str,
15394
+ policy_type: builtins.str,
15395
+ detail: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnPolicyGrant.PolicyGrantDetailProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
15396
+ principal: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnPolicyGrant.PolicyGrantPrincipalProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
15397
+ ) -> None:
15398
+ """Type checking stubs"""
15399
+ pass
15400
+
15401
+ def _typecheckingstub__3faeafa857baa1538f71504ac217c137543b4527137502241912fb0b28e8c12d(
15402
+ inspector: _TreeInspector_488e0dd5,
15403
+ ) -> None:
15404
+ """Type checking stubs"""
15405
+ pass
15406
+
15407
+ def _typecheckingstub__06625d68fda6bb2d4ea904117fc518729d5a191ab36c54d31f85c44340706116(
15408
+ props: typing.Mapping[builtins.str, typing.Any],
15409
+ ) -> None:
15410
+ """Type checking stubs"""
15411
+ pass
15412
+
15413
+ def _typecheckingstub__2f0d592dcbc7243f6ff69d38551f2367db3dfe7cb11b722c243ba9dd21532d02(
15414
+ value: builtins.str,
15415
+ ) -> None:
15416
+ """Type checking stubs"""
15417
+ pass
15418
+
15419
+ def _typecheckingstub__45d4b8709da83c279d9ea87390acd1416bef7deff7bffec2c1eb7e5389978c71(
15420
+ value: builtins.str,
15421
+ ) -> None:
15422
+ """Type checking stubs"""
15423
+ pass
15424
+
15425
+ def _typecheckingstub__6148bd2cc24aecd94013ce883c41241c92aaeab836656321daa9824f2ff00a5d(
15426
+ value: builtins.str,
15427
+ ) -> None:
15428
+ """Type checking stubs"""
15429
+ pass
15430
+
15431
+ def _typecheckingstub__d02ae9059bf0728549e33aafc0c766b8b8f090dd52edb4c84430f54b0fb5cae4(
15432
+ value: builtins.str,
15433
+ ) -> None:
15434
+ """Type checking stubs"""
15435
+ pass
15436
+
15437
+ def _typecheckingstub__f4317929539c7f63865015badb90135dd876148b9fa458da9961190f688f1ba2(
15438
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, CfnPolicyGrant.PolicyGrantDetailProperty]],
15439
+ ) -> None:
15440
+ """Type checking stubs"""
15441
+ pass
15442
+
15443
+ def _typecheckingstub__45d419321fadd6a98deadda72952683f07d5458949542e513f1b882e2410bd06(
15444
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, CfnPolicyGrant.PolicyGrantPrincipalProperty]],
15445
+ ) -> None:
15446
+ """Type checking stubs"""
15447
+ pass
15448
+
15449
+ def _typecheckingstub__a00db485513597db27a51284165bbcb2f1f31f387521883bcd3fc2d947885a40(
15450
+ *,
15451
+ include_child_domain_units: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
15452
+ ) -> None:
15453
+ """Type checking stubs"""
15454
+ pass
15455
+
15456
+ def _typecheckingstub__929246e3829473fb86c1a986312e35066791dec7e5f0e19189e082e8ab59b633(
15457
+ *,
15458
+ include_child_domain_units: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
15459
+ ) -> None:
15460
+ """Type checking stubs"""
15461
+ pass
15462
+
15463
+ def _typecheckingstub__06a2c86ccf049f358bf260883bd5c4a779a334459f24272c3ceb1090db972291(
15464
+ *,
15465
+ include_child_domain_units: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
15466
+ ) -> None:
15467
+ """Type checking stubs"""
15468
+ pass
15469
+
15470
+ def _typecheckingstub__eb97a9aa9c216e08c5fce608a7d647c26a30b32e4c8971ac266049fb79460144(
15471
+ *,
15472
+ domain_unit_id: typing.Optional[builtins.str] = None,
15473
+ ) -> None:
15474
+ """Type checking stubs"""
15475
+ pass
15476
+
15477
+ def _typecheckingstub__ca233709c68e49672b3ebdd0d623daa388dd8ff1410ad41573fb4c73b82e7ac0(
15478
+ *,
15479
+ include_child_domain_units: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
15480
+ ) -> None:
15481
+ """Type checking stubs"""
15482
+ pass
15483
+
15484
+ def _typecheckingstub__e918618f09a88801172a408238e6500ab7dfa9e47609ebf0a1cf9e87427e1c1e(
15485
+ *,
15486
+ include_child_domain_units: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
15487
+ ) -> None:
15488
+ """Type checking stubs"""
15489
+ pass
15490
+
15491
+ def _typecheckingstub__616f7a054fc92674f6f61eb6bfd60bf476b3bb9a69a13ae61f86fe2b2f7d9b40(
15492
+ *,
15493
+ include_child_domain_units: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
15494
+ project_profiles: typing.Optional[typing.Sequence[builtins.str]] = None,
15495
+ ) -> None:
15496
+ """Type checking stubs"""
15497
+ pass
15498
+
15499
+ def _typecheckingstub__ec4ae98e03f9cf9e3c1c38c7ae5c2a5f956924a86a2ca6c11297c56233e890cb(
15500
+ *,
15501
+ include_child_domain_units: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
15502
+ ) -> None:
15503
+ """Type checking stubs"""
15504
+ pass
15505
+
15506
+ def _typecheckingstub__747a962feb1ab808802cfb5e1207ea3216d2a62ddee83545abd46525e125beb0(
15507
+ *,
15508
+ domain_unit: builtins.str,
15509
+ include_child_domain_units: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
15510
+ ) -> None:
15511
+ """Type checking stubs"""
15512
+ pass
15513
+
15514
+ def _typecheckingstub__ebc0924bf25781aafce4151571c0dfcccd73718615647943e420d46750f8f47d(
15515
+ *,
15516
+ all_domain_units_grant_filter: typing.Any,
15517
+ ) -> None:
15518
+ """Type checking stubs"""
15519
+ pass
15520
+
15521
+ def _typecheckingstub__4b16d6c5df6e090d8d518fb48d0727131a1689a69ebc02fe4d3bdb5f2414769c(
15522
+ *,
15523
+ domain_unit_designation: typing.Optional[builtins.str] = None,
15524
+ domain_unit_grant_filter: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnPolicyGrant.DomainUnitGrantFilterProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
15525
+ domain_unit_identifier: typing.Optional[builtins.str] = None,
15526
+ ) -> None:
15527
+ """Type checking stubs"""
15528
+ pass
15529
+
15530
+ def _typecheckingstub__e1ff865839abd3c71e2085544851949a5ddb8ce549e7c5de934ae95fba801d84(
15531
+ *,
15532
+ group_identifier: builtins.str,
15533
+ ) -> None:
15534
+ """Type checking stubs"""
15535
+ pass
15536
+
15537
+ def _typecheckingstub__907c10f730943e0d2be93a8bc019be369d2d72f805cc47a05bd5548250004219(
15538
+ *,
15539
+ include_child_domain_units: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
15540
+ ) -> None:
15541
+ """Type checking stubs"""
15542
+ pass
15543
+
15544
+ def _typecheckingstub__f3cc5bba89e984da33746b491e3bfba60ce3a90fe2ac4e70265a0c2f60970c4d(
15545
+ *,
15546
+ include_child_domain_units: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
15547
+ ) -> None:
15548
+ """Type checking stubs"""
15549
+ pass
15550
+
15551
+ def _typecheckingstub__1a243c72750dcbc1020d8dd303c618c4dba86b4010d67ac08fafeaabc53ba6e6(
15552
+ *,
15553
+ add_to_project_member_pool: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnPolicyGrant.AddToProjectMemberPoolPolicyGrantDetailProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
15554
+ create_asset_type: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnPolicyGrant.CreateAssetTypePolicyGrantDetailProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
15555
+ create_domain_unit: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnPolicyGrant.CreateDomainUnitPolicyGrantDetailProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
15556
+ create_environment: typing.Any = None,
15557
+ create_environment_from_blueprint: typing.Any = None,
15558
+ create_environment_profile: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnPolicyGrant.CreateEnvironmentProfilePolicyGrantDetailProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
15559
+ create_form_type: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnPolicyGrant.CreateFormTypePolicyGrantDetailProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
15560
+ create_glossary: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnPolicyGrant.CreateGlossaryPolicyGrantDetailProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
15561
+ create_project: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnPolicyGrant.CreateProjectPolicyGrantDetailProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
15562
+ create_project_from_project_profile: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnPolicyGrant.CreateProjectFromProjectProfilePolicyGrantDetailProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
15563
+ delegate_create_environment_profile: typing.Any = None,
15564
+ override_domain_unit_owners: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnPolicyGrant.OverrideDomainUnitOwnersPolicyGrantDetailProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
15565
+ override_project_owners: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnPolicyGrant.OverrideProjectOwnersPolicyGrantDetailProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
15566
+ ) -> None:
15567
+ """Type checking stubs"""
15568
+ pass
15569
+
15570
+ def _typecheckingstub__a4f16f264dfe6cc67b0a5aef8bc6077cbad5a08789dd817ca69444390ca87f5d(
15571
+ *,
15572
+ domain_unit: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnPolicyGrant.DomainUnitPolicyGrantPrincipalProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
15573
+ group: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnPolicyGrant.GroupPolicyGrantPrincipalProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
15574
+ project: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnPolicyGrant.ProjectPolicyGrantPrincipalProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
15575
+ user: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnPolicyGrant.UserPolicyGrantPrincipalProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
15576
+ ) -> None:
15577
+ """Type checking stubs"""
15578
+ pass
15579
+
15580
+ def _typecheckingstub__ca8335d0da75d7abf56d91a31f26811aec29d37deb7b388317a3b05c11f0c13d(
15581
+ *,
15582
+ domain_unit_filter: typing.Union[_IResolvable_da3f097b, typing.Union[CfnPolicyGrant.DomainUnitFilterForProjectProperty, typing.Dict[builtins.str, typing.Any]]],
15583
+ ) -> None:
15584
+ """Type checking stubs"""
15585
+ pass
15586
+
15587
+ def _typecheckingstub__cf1bf50a91307a3e78245d0aaff4e631fa1f6af80d39eca8b29f0713b85fbfe5(
15588
+ *,
15589
+ project_designation: typing.Optional[builtins.str] = None,
15590
+ project_grant_filter: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnPolicyGrant.ProjectGrantFilterProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
15591
+ project_identifier: typing.Optional[builtins.str] = None,
15592
+ ) -> None:
15593
+ """Type checking stubs"""
15594
+ pass
15595
+
15596
+ def _typecheckingstub__6082ef506e21f62dc411e4b67ef1221396b9640f1ef92375bb0dc88fa7059b18(
15597
+ *,
15598
+ all_users_grant_filter: typing.Any = None,
15599
+ user_identifier: typing.Optional[builtins.str] = None,
15600
+ ) -> None:
15601
+ """Type checking stubs"""
15602
+ pass
15603
+
15604
+ def _typecheckingstub__02b61ca206174fae99b63c9d6459815d1820de1a30d1dce62ac9764b08287073(
15605
+ *,
15606
+ domain_identifier: builtins.str,
15607
+ entity_identifier: builtins.str,
15608
+ entity_type: builtins.str,
15609
+ policy_type: builtins.str,
15610
+ detail: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnPolicyGrant.PolicyGrantDetailProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
15611
+ principal: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnPolicyGrant.PolicyGrantPrincipalProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
15612
+ ) -> None:
15613
+ """Type checking stubs"""
15614
+ pass
15615
+
13349
15616
  def _typecheckingstub__2dd190e348e5421f499a11e44b2fb0c69295587e5e7717b13a56786a897efe7f(
13350
15617
  scope: _constructs_77d1e7e8.Construct,
13351
15618
  id: builtins.str,