aws-cdk-lib 2.91.0__py3-none-any.whl → 2.92.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.
- aws_cdk/_jsii/__init__.py +2 -2
- aws_cdk/_jsii/{aws-cdk-lib@2.91.0.jsii.tgz → aws-cdk-lib@2.92.0.jsii.tgz} +0 -0
- aws_cdk/aws_appstream/__init__.py +29 -21
- aws_cdk/aws_batch/__init__.py +22 -10
- aws_cdk/aws_billingconductor/__init__.py +14 -11
- aws_cdk/aws_cloudwatch/__init__.py +3 -3
- aws_cdk/aws_dms/__init__.py +117 -58
- aws_cdk/aws_ec2/__init__.py +12 -14
- aws_cdk/aws_ecs/__init__.py +24 -12
- aws_cdk/aws_evidently/__init__.py +3 -3
- aws_cdk/aws_fsx/__init__.py +6 -5
- aws_cdk/aws_guardduty/__init__.py +60 -17
- aws_cdk/aws_iam/__init__.py +6 -8
- aws_cdk/aws_internetmonitor/__init__.py +43 -20
- aws_cdk/aws_kms/__init__.py +95 -47
- aws_cdk/aws_mwaa/__init__.py +13 -8
- aws_cdk/aws_neptune/__init__.py +5 -2
- aws_cdk/aws_omics/__init__.py +5 -3
- aws_cdk/aws_opensearchservice/__init__.py +247 -14
- aws_cdk/aws_organizations/__init__.py +17 -17
- aws_cdk/aws_route53/__init__.py +3 -1
- aws_cdk/aws_sns/__init__.py +8 -8
- aws_cdk/aws_sqs/__init__.py +13 -9
- aws_cdk/aws_transfer/__init__.py +40 -12
- aws_cdk/aws_vpclattice/__init__.py +10 -6
- aws_cdk/aws_wafv2/__init__.py +118 -84
- {aws_cdk_lib-2.91.0.dist-info → aws_cdk_lib-2.92.0.dist-info}/METADATA +3 -3
- {aws_cdk_lib-2.91.0.dist-info → aws_cdk_lib-2.92.0.dist-info}/RECORD +32 -32
- {aws_cdk_lib-2.91.0.dist-info → aws_cdk_lib-2.92.0.dist-info}/LICENSE +0 -0
- {aws_cdk_lib-2.91.0.dist-info → aws_cdk_lib-2.92.0.dist-info}/NOTICE +0 -0
- {aws_cdk_lib-2.91.0.dist-info → aws_cdk_lib-2.92.0.dist-info}/WHEEL +0 -0
- {aws_cdk_lib-2.91.0.dist-info → aws_cdk_lib-2.92.0.dist-info}/top_level.txt +0 -0
aws_cdk/aws_mwaa/__init__.py
CHANGED
|
@@ -160,7 +160,7 @@ class CfnEnvironment(
|
|
|
160
160
|
:param id: Construct identifier for this resource (unique in its scope).
|
|
161
161
|
:param name: The name of your Amazon MWAA environment.
|
|
162
162
|
:param airflow_configuration_options: A list of key-value pairs containing the Airflow configuration options for your environment. For example, ``core.default_timezone: utc`` . To learn more, see `Apache Airflow configuration options <https://docs.aws.amazon.com/mwaa/latest/userguide/configuring-env-variables.html>`_ .
|
|
163
|
-
:param airflow_version: The version of Apache Airflow to use for the environment. If no value is specified, defaults to the latest version. *Allowed Values* : ``2.0.2`` | ``1.10.12`` | ``2.2.2`` | ``2.4.3`` | ``2.5.1`` (latest)
|
|
163
|
+
:param airflow_version: The version of Apache Airflow to use for the environment. If no value is specified, defaults to the latest version. If you specify a newer version number for an existing environment, the version update requires some service interruption before taking effect. *Allowed Values* : ``2.0.2`` | ``1.10.12`` | ``2.2.2`` | ``2.4.3`` | ``2.5.1`` | ``2.6.3`` (latest)
|
|
164
164
|
:param dag_s3_path: The relative path to the DAGs folder on your Amazon S3 bucket. For example, ``dags`` . To learn more, see `Adding or updating DAGs <https://docs.aws.amazon.com/mwaa/latest/userguide/configuring-dag-folder.html>`_ .
|
|
165
165
|
:param environment_class: The environment class type. Valid values: ``mw1.small`` , ``mw1.medium`` , ``mw1.large`` . To learn more, see `Amazon MWAA environment class <https://docs.aws.amazon.com/mwaa/latest/userguide/environment-class.html>`_ .
|
|
166
166
|
:param execution_role_arn: The Amazon Resource Name (ARN) of the execution role in IAM that allows MWAA to access AWS resources in your environment. For example, ``arn:aws:iam::123456789:role/my-execution-role`` . To learn more, see `Amazon MWAA Execution role <https://docs.aws.amazon.com/mwaa/latest/userguide/mwaa-create-role.html>`_ .
|
|
@@ -177,7 +177,7 @@ class CfnEnvironment(
|
|
|
177
177
|
:param source_bucket_arn: The Amazon Resource Name (ARN) of the Amazon S3 bucket where your DAG code and supporting files are stored. For example, ``arn:aws:s3:::my-airflow-bucket-unique-name`` . To learn more, see `Create an Amazon S3 bucket for Amazon MWAA <https://docs.aws.amazon.com/mwaa/latest/userguide/mwaa-s3-bucket.html>`_ .
|
|
178
178
|
:param startup_script_s3_object_version: The version of the startup shell script in your Amazon S3 bucket. You must specify the `version ID <https://docs.aws.amazon.com/AmazonS3/latest/userguide/versioning-workflows.html>`_ that Amazon S3 assigns to the file every time you update the script. Version IDs are Unicode, UTF-8 encoded, URL-ready, opaque strings that are no more than 1,024 bytes long. The following is an example: ``3sL4kqtJlcpXroDTDmJ+rmSpXd3dIbrHY+MTRCxf3vjVBH40Nr8X8gdRQBpUMLUo`` For more information, see `Using a startup script <https://docs.aws.amazon.com/mwaa/latest/userguide/using-startup-script.html>`_ .
|
|
179
179
|
:param startup_script_s3_path: The relative path to the startup shell script in your Amazon S3 bucket. For example, ``s3://mwaa-environment/startup.sh`` . Amazon MWAA runs the script as your environment starts, and before running the Apache Airflow process. You can use this script to install dependencies, modify Apache Airflow configuration options, and set environment variables. For more information, see `Using a startup script <https://docs.aws.amazon.com/mwaa/latest/userguide/using-startup-script.html>`_ .
|
|
180
|
-
:param tags: The key-value tag pairs associated to your environment. For example, ``"Environment": "Staging"`` . To learn more, see `Tagging <https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html>`_ .
|
|
180
|
+
:param tags: The key-value tag pairs associated to your environment. For example, ``"Environment": "Staging"`` . To learn more, see `Tagging <https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html>`_ . If you specify new tags for an existing environment, the update requires service interruption before taking effect.
|
|
181
181
|
:param webserver_access_mode: The Apache Airflow *Web server* access mode. To learn more, see `Apache Airflow access modes <https://docs.aws.amazon.com/mwaa/latest/userguide/configuring-networking.html>`_ . Valid values: ``PRIVATE_ONLY`` or ``PUBLIC_ONLY`` .
|
|
182
182
|
:param weekly_maintenance_window_start: The day and time of the week to start weekly maintenance updates of your environment in the following format: ``DAY:HH:MM`` . For example: ``TUE:03:30`` . You can specify a start time in 30 minute increments only. Supported input includes the following: - MON|TUE|WED|THU|FRI|SAT|SUN:([01]\\d|2[0-3]):(00|30)
|
|
183
183
|
'''
|
|
@@ -598,7 +598,10 @@ class CfnEnvironment(
|
|
|
598
598
|
@builtins.property
|
|
599
599
|
@jsii.member(jsii_name="tagsRaw")
|
|
600
600
|
def tags_raw(self) -> typing.Any:
|
|
601
|
-
'''The key-value tag pairs associated to your environment.
|
|
601
|
+
'''The key-value tag pairs associated to your environment.
|
|
602
|
+
|
|
603
|
+
For example, ``"Environment": "Staging"`` . To learn more, see `Tagging <https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html>`_ .
|
|
604
|
+
'''
|
|
602
605
|
return typing.cast(typing.Any, jsii.get(self, "tagsRaw"))
|
|
603
606
|
|
|
604
607
|
@tags_raw.setter
|
|
@@ -1022,7 +1025,7 @@ class CfnEnvironmentProps:
|
|
|
1022
1025
|
|
|
1023
1026
|
:param name: The name of your Amazon MWAA environment.
|
|
1024
1027
|
:param airflow_configuration_options: A list of key-value pairs containing the Airflow configuration options for your environment. For example, ``core.default_timezone: utc`` . To learn more, see `Apache Airflow configuration options <https://docs.aws.amazon.com/mwaa/latest/userguide/configuring-env-variables.html>`_ .
|
|
1025
|
-
:param airflow_version: The version of Apache Airflow to use for the environment. If no value is specified, defaults to the latest version. *Allowed Values* : ``2.0.2`` | ``1.10.12`` | ``2.2.2`` | ``2.4.3`` | ``2.5.1`` (latest)
|
|
1028
|
+
:param airflow_version: The version of Apache Airflow to use for the environment. If no value is specified, defaults to the latest version. If you specify a newer version number for an existing environment, the version update requires some service interruption before taking effect. *Allowed Values* : ``2.0.2`` | ``1.10.12`` | ``2.2.2`` | ``2.4.3`` | ``2.5.1`` | ``2.6.3`` (latest)
|
|
1026
1029
|
:param dag_s3_path: The relative path to the DAGs folder on your Amazon S3 bucket. For example, ``dags`` . To learn more, see `Adding or updating DAGs <https://docs.aws.amazon.com/mwaa/latest/userguide/configuring-dag-folder.html>`_ .
|
|
1027
1030
|
:param environment_class: The environment class type. Valid values: ``mw1.small`` , ``mw1.medium`` , ``mw1.large`` . To learn more, see `Amazon MWAA environment class <https://docs.aws.amazon.com/mwaa/latest/userguide/environment-class.html>`_ .
|
|
1028
1031
|
:param execution_role_arn: The Amazon Resource Name (ARN) of the execution role in IAM that allows MWAA to access AWS resources in your environment. For example, ``arn:aws:iam::123456789:role/my-execution-role`` . To learn more, see `Amazon MWAA Execution role <https://docs.aws.amazon.com/mwaa/latest/userguide/mwaa-create-role.html>`_ .
|
|
@@ -1039,7 +1042,7 @@ class CfnEnvironmentProps:
|
|
|
1039
1042
|
:param source_bucket_arn: The Amazon Resource Name (ARN) of the Amazon S3 bucket where your DAG code and supporting files are stored. For example, ``arn:aws:s3:::my-airflow-bucket-unique-name`` . To learn more, see `Create an Amazon S3 bucket for Amazon MWAA <https://docs.aws.amazon.com/mwaa/latest/userguide/mwaa-s3-bucket.html>`_ .
|
|
1040
1043
|
:param startup_script_s3_object_version: The version of the startup shell script in your Amazon S3 bucket. You must specify the `version ID <https://docs.aws.amazon.com/AmazonS3/latest/userguide/versioning-workflows.html>`_ that Amazon S3 assigns to the file every time you update the script. Version IDs are Unicode, UTF-8 encoded, URL-ready, opaque strings that are no more than 1,024 bytes long. The following is an example: ``3sL4kqtJlcpXroDTDmJ+rmSpXd3dIbrHY+MTRCxf3vjVBH40Nr8X8gdRQBpUMLUo`` For more information, see `Using a startup script <https://docs.aws.amazon.com/mwaa/latest/userguide/using-startup-script.html>`_ .
|
|
1041
1044
|
:param startup_script_s3_path: The relative path to the startup shell script in your Amazon S3 bucket. For example, ``s3://mwaa-environment/startup.sh`` . Amazon MWAA runs the script as your environment starts, and before running the Apache Airflow process. You can use this script to install dependencies, modify Apache Airflow configuration options, and set environment variables. For more information, see `Using a startup script <https://docs.aws.amazon.com/mwaa/latest/userguide/using-startup-script.html>`_ .
|
|
1042
|
-
:param tags: The key-value tag pairs associated to your environment. For example, ``"Environment": "Staging"`` . To learn more, see `Tagging <https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html>`_ .
|
|
1045
|
+
:param tags: The key-value tag pairs associated to your environment. For example, ``"Environment": "Staging"`` . To learn more, see `Tagging <https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html>`_ . If you specify new tags for an existing environment, the update requires service interruption before taking effect.
|
|
1043
1046
|
:param webserver_access_mode: The Apache Airflow *Web server* access mode. To learn more, see `Apache Airflow access modes <https://docs.aws.amazon.com/mwaa/latest/userguide/configuring-networking.html>`_ . Valid values: ``PRIVATE_ONLY`` or ``PUBLIC_ONLY`` .
|
|
1044
1047
|
:param weekly_maintenance_window_start: The day and time of the week to start weekly maintenance updates of your environment in the following format: ``DAY:HH:MM`` . For example: ``TUE:03:30`` . You can specify a start time in 30 minute increments only. Supported input includes the following: - MON|TUE|WED|THU|FRI|SAT|SUN:([01]\\d|2[0-3]):(00|30)
|
|
1045
1048
|
|
|
@@ -1208,7 +1211,9 @@ class CfnEnvironmentProps:
|
|
|
1208
1211
|
|
|
1209
1212
|
If no value is specified, defaults to the latest version.
|
|
1210
1213
|
|
|
1211
|
-
|
|
1214
|
+
If you specify a newer version number for an existing environment, the version update requires some service interruption before taking effect.
|
|
1215
|
+
|
|
1216
|
+
*Allowed Values* : ``2.0.2`` | ``1.10.12`` | ``2.2.2`` | ``2.4.3`` | ``2.5.1`` | ``2.6.3`` (latest)
|
|
1212
1217
|
|
|
1213
1218
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mwaa-environment.html#cfn-mwaa-environment-airflowversion
|
|
1214
1219
|
'''
|
|
@@ -1394,9 +1399,9 @@ class CfnEnvironmentProps:
|
|
|
1394
1399
|
|
|
1395
1400
|
@builtins.property
|
|
1396
1401
|
def tags(self) -> typing.Any:
|
|
1397
|
-
'''The key-value tag pairs associated to your environment.
|
|
1402
|
+
'''The key-value tag pairs associated to your environment. For example, ``"Environment": "Staging"`` . To learn more, see `Tagging <https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html>`_ .
|
|
1398
1403
|
|
|
1399
|
-
|
|
1404
|
+
If you specify new tags for an existing environment, the update requires service interruption before taking effect.
|
|
1400
1405
|
|
|
1401
1406
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mwaa-environment.html#cfn-mwaa-environment-tags
|
|
1402
1407
|
'''
|
aws_cdk/aws_neptune/__init__.py
CHANGED
|
@@ -270,9 +270,12 @@ class CfnDBCluster(
|
|
|
270
270
|
@builtins.property
|
|
271
271
|
@jsii.member(jsii_name="attrPort")
|
|
272
272
|
def attr_port(self) -> builtins.str:
|
|
273
|
-
'''The port number on which the DB cluster
|
|
273
|
+
'''The port number on which the DB instances in the DB cluster accept connections.
|
|
274
274
|
|
|
275
|
-
|
|
275
|
+
If not specified, the default port used is ``8182`` .
|
|
276
|
+
.. epigraph::
|
|
277
|
+
|
|
278
|
+
This property will soon be deprecated. Please update existing templates to use the new ``DBPort`` property that has the same functionality.
|
|
276
279
|
|
|
277
280
|
:cloudformationAttribute: Port
|
|
278
281
|
'''
|
aws_cdk/aws_omics/__init__.py
CHANGED
|
@@ -1249,7 +1249,7 @@ class CfnRunGroup(
|
|
|
1249
1249
|
:param id: Construct identifier for this resource (unique in its scope).
|
|
1250
1250
|
:param max_cpus: The group's maximum CPU count setting.
|
|
1251
1251
|
:param max_duration: The group's maximum duration setting in minutes.
|
|
1252
|
-
:param max_gpus:
|
|
1252
|
+
:param max_gpus: The maximum GPUs that can be used by a run group.
|
|
1253
1253
|
:param max_runs: The group's maximum concurrent run setting.
|
|
1254
1254
|
:param name: The group's name.
|
|
1255
1255
|
:param tags: Tags for the group.
|
|
@@ -1366,6 +1366,7 @@ class CfnRunGroup(
|
|
|
1366
1366
|
@builtins.property
|
|
1367
1367
|
@jsii.member(jsii_name="maxGpus")
|
|
1368
1368
|
def max_gpus(self) -> typing.Optional[jsii.Number]:
|
|
1369
|
+
'''The maximum GPUs that can be used by a run group.'''
|
|
1369
1370
|
return typing.cast(typing.Optional[jsii.Number], jsii.get(self, "maxGpus"))
|
|
1370
1371
|
|
|
1371
1372
|
@max_gpus.setter
|
|
@@ -1445,7 +1446,7 @@ class CfnRunGroupProps:
|
|
|
1445
1446
|
|
|
1446
1447
|
:param max_cpus: The group's maximum CPU count setting.
|
|
1447
1448
|
:param max_duration: The group's maximum duration setting in minutes.
|
|
1448
|
-
:param max_gpus:
|
|
1449
|
+
:param max_gpus: The maximum GPUs that can be used by a run group.
|
|
1449
1450
|
:param max_runs: The group's maximum concurrent run setting.
|
|
1450
1451
|
:param name: The group's name.
|
|
1451
1452
|
:param tags: Tags for the group.
|
|
@@ -1512,7 +1513,8 @@ class CfnRunGroupProps:
|
|
|
1512
1513
|
|
|
1513
1514
|
@builtins.property
|
|
1514
1515
|
def max_gpus(self) -> typing.Optional[jsii.Number]:
|
|
1515
|
-
'''
|
|
1516
|
+
'''The maximum GPUs that can be used by a run group.
|
|
1517
|
+
|
|
1516
1518
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-omics-rungroup.html#cfn-omics-rungroup-maxgpus
|
|
1517
1519
|
'''
|
|
1518
1520
|
result = self._values.get("max_gpus")
|
|
@@ -199,6 +199,32 @@ domain = Domain(self, "Domain",
|
|
|
199
199
|
master_user_password = domain.master_user_password
|
|
200
200
|
```
|
|
201
201
|
|
|
202
|
+
## SAML authentication
|
|
203
|
+
|
|
204
|
+
You can enable SAML authentication to use your existing identity provider
|
|
205
|
+
to offer single sign-on (SSO) for dashboards on Amazon OpenSearch Service domains
|
|
206
|
+
running OpenSearch or Elasticsearch 6.7 or later.
|
|
207
|
+
To use SAML authentication, fine-grained access control must be enabled.
|
|
208
|
+
|
|
209
|
+
```python
|
|
210
|
+
domain = Domain(self, "Domain",
|
|
211
|
+
version=EngineVersion.OPENSEARCH_1_0,
|
|
212
|
+
enforce_https=True,
|
|
213
|
+
node_to_node_encryption=True,
|
|
214
|
+
encryption_at_rest=EncryptionAtRestOptions(
|
|
215
|
+
enabled=True
|
|
216
|
+
),
|
|
217
|
+
fine_grained_access_control=AdvancedSecurityOptions(
|
|
218
|
+
master_user_name="master-user",
|
|
219
|
+
saml_authentication_enabled=True,
|
|
220
|
+
saml_authentication_options=SAMLOptionsProperty(
|
|
221
|
+
idp_entity_id="entity-id",
|
|
222
|
+
idp_metadata_content="metadata-content-with-quotes-escaped"
|
|
223
|
+
)
|
|
224
|
+
)
|
|
225
|
+
)
|
|
226
|
+
```
|
|
227
|
+
|
|
202
228
|
## Using unsigned basic auth
|
|
203
229
|
|
|
204
230
|
For convenience, the domain can be configured to allow unsigned HTTP requests
|
|
@@ -486,6 +512,8 @@ from ..aws_route53 import IHostedZone as _IHostedZone_9a6907ad
|
|
|
486
512
|
"master_user_arn": "masterUserArn",
|
|
487
513
|
"master_user_name": "masterUserName",
|
|
488
514
|
"master_user_password": "masterUserPassword",
|
|
515
|
+
"saml_authentication_enabled": "samlAuthenticationEnabled",
|
|
516
|
+
"saml_authentication_options": "samlAuthenticationOptions",
|
|
489
517
|
},
|
|
490
518
|
)
|
|
491
519
|
class AdvancedSecurityOptions:
|
|
@@ -495,12 +523,16 @@ class AdvancedSecurityOptions:
|
|
|
495
523
|
master_user_arn: typing.Optional[builtins.str] = None,
|
|
496
524
|
master_user_name: typing.Optional[builtins.str] = None,
|
|
497
525
|
master_user_password: typing.Optional[_SecretValue_3dd0ddae] = None,
|
|
526
|
+
saml_authentication_enabled: typing.Optional[builtins.bool] = None,
|
|
527
|
+
saml_authentication_options: typing.Optional[typing.Union["SAMLOptionsProperty", typing.Dict[builtins.str, typing.Any]]] = None,
|
|
498
528
|
) -> None:
|
|
499
529
|
'''Specifies options for fine-grained access control.
|
|
500
530
|
|
|
501
531
|
:param master_user_arn: ARN for the master user. Only specify this or masterUserName, but not both. Default: - fine-grained access control is disabled
|
|
502
532
|
:param master_user_name: Username for the master user. Only specify this or masterUserArn, but not both. Default: - fine-grained access control is disabled
|
|
503
533
|
:param master_user_password: Password for the master user. You can use ``SecretValue.unsafePlainText`` to specify a password in plain text or use ``secretsmanager.Secret.fromSecretAttributes`` to reference a secret in Secrets Manager. Default: - A Secrets Manager generated password
|
|
534
|
+
:param saml_authentication_enabled: True to enable SAML authentication for a domain. Default: - SAML authentication is disabled. Enabled if ``samlAuthenticationOptions`` is set.
|
|
535
|
+
:param saml_authentication_options: Container for information about the SAML configuration for OpenSearch Dashboards. If set, ``samlAuthenticationEnabled`` will be enabled. Default: - no SAML authentication options
|
|
504
536
|
|
|
505
537
|
:exampleMetadata: infused
|
|
506
538
|
|
|
@@ -514,21 +546,24 @@ class AdvancedSecurityOptions:
|
|
|
514
546
|
enabled=True
|
|
515
547
|
),
|
|
516
548
|
fine_grained_access_control=AdvancedSecurityOptions(
|
|
517
|
-
master_user_name="master-user"
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
slow_index_log_enabled=True
|
|
549
|
+
master_user_name="master-user",
|
|
550
|
+
saml_authentication_enabled=True,
|
|
551
|
+
saml_authentication_options=SAMLOptionsProperty(
|
|
552
|
+
idp_entity_id="entity-id",
|
|
553
|
+
idp_metadata_content="metadata-content-with-quotes-escaped"
|
|
554
|
+
)
|
|
524
555
|
)
|
|
525
556
|
)
|
|
526
557
|
'''
|
|
558
|
+
if isinstance(saml_authentication_options, dict):
|
|
559
|
+
saml_authentication_options = SAMLOptionsProperty(**saml_authentication_options)
|
|
527
560
|
if __debug__:
|
|
528
561
|
type_hints = typing.get_type_hints(_typecheckingstub__c1e95392d4761126042f2d6d6160889a80c269d2f13c21476fe92febdb7f04e3)
|
|
529
562
|
check_type(argname="argument master_user_arn", value=master_user_arn, expected_type=type_hints["master_user_arn"])
|
|
530
563
|
check_type(argname="argument master_user_name", value=master_user_name, expected_type=type_hints["master_user_name"])
|
|
531
564
|
check_type(argname="argument master_user_password", value=master_user_password, expected_type=type_hints["master_user_password"])
|
|
565
|
+
check_type(argname="argument saml_authentication_enabled", value=saml_authentication_enabled, expected_type=type_hints["saml_authentication_enabled"])
|
|
566
|
+
check_type(argname="argument saml_authentication_options", value=saml_authentication_options, expected_type=type_hints["saml_authentication_options"])
|
|
532
567
|
self._values: typing.Dict[builtins.str, typing.Any] = {}
|
|
533
568
|
if master_user_arn is not None:
|
|
534
569
|
self._values["master_user_arn"] = master_user_arn
|
|
@@ -536,6 +571,10 @@ class AdvancedSecurityOptions:
|
|
|
536
571
|
self._values["master_user_name"] = master_user_name
|
|
537
572
|
if master_user_password is not None:
|
|
538
573
|
self._values["master_user_password"] = master_user_password
|
|
574
|
+
if saml_authentication_enabled is not None:
|
|
575
|
+
self._values["saml_authentication_enabled"] = saml_authentication_enabled
|
|
576
|
+
if saml_authentication_options is not None:
|
|
577
|
+
self._values["saml_authentication_options"] = saml_authentication_options
|
|
539
578
|
|
|
540
579
|
@builtins.property
|
|
541
580
|
def master_user_arn(self) -> typing.Optional[builtins.str]:
|
|
@@ -572,6 +611,28 @@ class AdvancedSecurityOptions:
|
|
|
572
611
|
result = self._values.get("master_user_password")
|
|
573
612
|
return typing.cast(typing.Optional[_SecretValue_3dd0ddae], result)
|
|
574
613
|
|
|
614
|
+
@builtins.property
|
|
615
|
+
def saml_authentication_enabled(self) -> typing.Optional[builtins.bool]:
|
|
616
|
+
'''True to enable SAML authentication for a domain.
|
|
617
|
+
|
|
618
|
+
:default: - SAML authentication is disabled. Enabled if ``samlAuthenticationOptions`` is set.
|
|
619
|
+
|
|
620
|
+
:see: https://docs.aws.amazon.com/opensearch-service/latest/developerguide/saml.html
|
|
621
|
+
'''
|
|
622
|
+
result = self._values.get("saml_authentication_enabled")
|
|
623
|
+
return typing.cast(typing.Optional[builtins.bool], result)
|
|
624
|
+
|
|
625
|
+
@builtins.property
|
|
626
|
+
def saml_authentication_options(self) -> typing.Optional["SAMLOptionsProperty"]:
|
|
627
|
+
'''Container for information about the SAML configuration for OpenSearch Dashboards.
|
|
628
|
+
|
|
629
|
+
If set, ``samlAuthenticationEnabled`` will be enabled.
|
|
630
|
+
|
|
631
|
+
:default: - no SAML authentication options
|
|
632
|
+
'''
|
|
633
|
+
result = self._values.get("saml_authentication_options")
|
|
634
|
+
return typing.cast(typing.Optional["SAMLOptionsProperty"], result)
|
|
635
|
+
|
|
575
636
|
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
576
637
|
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
577
638
|
|
|
@@ -4772,13 +4833,12 @@ class EncryptionAtRestOptions:
|
|
|
4772
4833
|
enabled=True
|
|
4773
4834
|
),
|
|
4774
4835
|
fine_grained_access_control=AdvancedSecurityOptions(
|
|
4775
|
-
master_user_name="master-user"
|
|
4776
|
-
|
|
4777
|
-
|
|
4778
|
-
|
|
4779
|
-
|
|
4780
|
-
|
|
4781
|
-
slow_index_log_enabled=True
|
|
4836
|
+
master_user_name="master-user",
|
|
4837
|
+
saml_authentication_enabled=True,
|
|
4838
|
+
saml_authentication_options=SAMLOptionsProperty(
|
|
4839
|
+
idp_entity_id="entity-id",
|
|
4840
|
+
idp_metadata_content="metadata-content-with-quotes-escaped"
|
|
4841
|
+
)
|
|
4782
4842
|
)
|
|
4783
4843
|
)
|
|
4784
4844
|
'''
|
|
@@ -6619,6 +6679,163 @@ class LoggingOptions:
|
|
|
6619
6679
|
)
|
|
6620
6680
|
|
|
6621
6681
|
|
|
6682
|
+
@jsii.data_type(
|
|
6683
|
+
jsii_type="aws-cdk-lib.aws_opensearchservice.SAMLOptionsProperty",
|
|
6684
|
+
jsii_struct_bases=[],
|
|
6685
|
+
name_mapping={
|
|
6686
|
+
"idp_entity_id": "idpEntityId",
|
|
6687
|
+
"idp_metadata_content": "idpMetadataContent",
|
|
6688
|
+
"master_backend_role": "masterBackendRole",
|
|
6689
|
+
"master_user_name": "masterUserName",
|
|
6690
|
+
"roles_key": "rolesKey",
|
|
6691
|
+
"session_timeout_minutes": "sessionTimeoutMinutes",
|
|
6692
|
+
"subject_key": "subjectKey",
|
|
6693
|
+
},
|
|
6694
|
+
)
|
|
6695
|
+
class SAMLOptionsProperty:
|
|
6696
|
+
def __init__(
|
|
6697
|
+
self,
|
|
6698
|
+
*,
|
|
6699
|
+
idp_entity_id: builtins.str,
|
|
6700
|
+
idp_metadata_content: builtins.str,
|
|
6701
|
+
master_backend_role: typing.Optional[builtins.str] = None,
|
|
6702
|
+
master_user_name: typing.Optional[builtins.str] = None,
|
|
6703
|
+
roles_key: typing.Optional[builtins.str] = None,
|
|
6704
|
+
session_timeout_minutes: typing.Optional[jsii.Number] = None,
|
|
6705
|
+
subject_key: typing.Optional[builtins.str] = None,
|
|
6706
|
+
) -> None:
|
|
6707
|
+
'''Container for information about the SAML configuration for OpenSearch Dashboards.
|
|
6708
|
+
|
|
6709
|
+
:param idp_entity_id: The unique entity ID of the application in the SAML identity provider.
|
|
6710
|
+
:param idp_metadata_content: The metadata of the SAML application, in XML format.
|
|
6711
|
+
:param master_backend_role: The backend role that the SAML master user is mapped to. Any users with this backend role receives full permission in OpenSearch Dashboards/Kibana. To use a SAML master backend role, configure the ``rolesKey`` property. Default: - The master user is not mapped to a backend role
|
|
6712
|
+
:param master_user_name: The SAML master username, which is stored in the domain's internal user database. This SAML user receives full permission in OpenSearch Dashboards/Kibana. Creating a new master username does not delete any existing master usernames. Default: - No master user name is configured
|
|
6713
|
+
:param roles_key: Element of the SAML assertion to use for backend roles. Default: - roles
|
|
6714
|
+
:param session_timeout_minutes: The duration, in minutes, after which a user session becomes inactive. Default: - 60
|
|
6715
|
+
:param subject_key: Element of the SAML assertion to use for the user name. Default: - NameID element of the SAML assertion fot the user name
|
|
6716
|
+
|
|
6717
|
+
:exampleMetadata: infused
|
|
6718
|
+
|
|
6719
|
+
Example::
|
|
6720
|
+
|
|
6721
|
+
domain = Domain(self, "Domain",
|
|
6722
|
+
version=EngineVersion.OPENSEARCH_1_0,
|
|
6723
|
+
enforce_https=True,
|
|
6724
|
+
node_to_node_encryption=True,
|
|
6725
|
+
encryption_at_rest=EncryptionAtRestOptions(
|
|
6726
|
+
enabled=True
|
|
6727
|
+
),
|
|
6728
|
+
fine_grained_access_control=AdvancedSecurityOptions(
|
|
6729
|
+
master_user_name="master-user",
|
|
6730
|
+
saml_authentication_enabled=True,
|
|
6731
|
+
saml_authentication_options=SAMLOptionsProperty(
|
|
6732
|
+
idp_entity_id="entity-id",
|
|
6733
|
+
idp_metadata_content="metadata-content-with-quotes-escaped"
|
|
6734
|
+
)
|
|
6735
|
+
)
|
|
6736
|
+
)
|
|
6737
|
+
'''
|
|
6738
|
+
if __debug__:
|
|
6739
|
+
type_hints = typing.get_type_hints(_typecheckingstub__3971b3c73627d57587c667b1ede64fbba4de4fd4a086af959dc2d0f812f8e36b)
|
|
6740
|
+
check_type(argname="argument idp_entity_id", value=idp_entity_id, expected_type=type_hints["idp_entity_id"])
|
|
6741
|
+
check_type(argname="argument idp_metadata_content", value=idp_metadata_content, expected_type=type_hints["idp_metadata_content"])
|
|
6742
|
+
check_type(argname="argument master_backend_role", value=master_backend_role, expected_type=type_hints["master_backend_role"])
|
|
6743
|
+
check_type(argname="argument master_user_name", value=master_user_name, expected_type=type_hints["master_user_name"])
|
|
6744
|
+
check_type(argname="argument roles_key", value=roles_key, expected_type=type_hints["roles_key"])
|
|
6745
|
+
check_type(argname="argument session_timeout_minutes", value=session_timeout_minutes, expected_type=type_hints["session_timeout_minutes"])
|
|
6746
|
+
check_type(argname="argument subject_key", value=subject_key, expected_type=type_hints["subject_key"])
|
|
6747
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
6748
|
+
"idp_entity_id": idp_entity_id,
|
|
6749
|
+
"idp_metadata_content": idp_metadata_content,
|
|
6750
|
+
}
|
|
6751
|
+
if master_backend_role is not None:
|
|
6752
|
+
self._values["master_backend_role"] = master_backend_role
|
|
6753
|
+
if master_user_name is not None:
|
|
6754
|
+
self._values["master_user_name"] = master_user_name
|
|
6755
|
+
if roles_key is not None:
|
|
6756
|
+
self._values["roles_key"] = roles_key
|
|
6757
|
+
if session_timeout_minutes is not None:
|
|
6758
|
+
self._values["session_timeout_minutes"] = session_timeout_minutes
|
|
6759
|
+
if subject_key is not None:
|
|
6760
|
+
self._values["subject_key"] = subject_key
|
|
6761
|
+
|
|
6762
|
+
@builtins.property
|
|
6763
|
+
def idp_entity_id(self) -> builtins.str:
|
|
6764
|
+
'''The unique entity ID of the application in the SAML identity provider.'''
|
|
6765
|
+
result = self._values.get("idp_entity_id")
|
|
6766
|
+
assert result is not None, "Required property 'idp_entity_id' is missing"
|
|
6767
|
+
return typing.cast(builtins.str, result)
|
|
6768
|
+
|
|
6769
|
+
@builtins.property
|
|
6770
|
+
def idp_metadata_content(self) -> builtins.str:
|
|
6771
|
+
'''The metadata of the SAML application, in XML format.'''
|
|
6772
|
+
result = self._values.get("idp_metadata_content")
|
|
6773
|
+
assert result is not None, "Required property 'idp_metadata_content' is missing"
|
|
6774
|
+
return typing.cast(builtins.str, result)
|
|
6775
|
+
|
|
6776
|
+
@builtins.property
|
|
6777
|
+
def master_backend_role(self) -> typing.Optional[builtins.str]:
|
|
6778
|
+
'''The backend role that the SAML master user is mapped to.
|
|
6779
|
+
|
|
6780
|
+
Any users with this backend role receives full permission in OpenSearch Dashboards/Kibana.
|
|
6781
|
+
To use a SAML master backend role, configure the ``rolesKey`` property.
|
|
6782
|
+
|
|
6783
|
+
:default: - The master user is not mapped to a backend role
|
|
6784
|
+
'''
|
|
6785
|
+
result = self._values.get("master_backend_role")
|
|
6786
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
6787
|
+
|
|
6788
|
+
@builtins.property
|
|
6789
|
+
def master_user_name(self) -> typing.Optional[builtins.str]:
|
|
6790
|
+
'''The SAML master username, which is stored in the domain's internal user database.
|
|
6791
|
+
|
|
6792
|
+
This SAML user receives full permission in OpenSearch Dashboards/Kibana.
|
|
6793
|
+
Creating a new master username does not delete any existing master usernames.
|
|
6794
|
+
|
|
6795
|
+
:default: - No master user name is configured
|
|
6796
|
+
'''
|
|
6797
|
+
result = self._values.get("master_user_name")
|
|
6798
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
6799
|
+
|
|
6800
|
+
@builtins.property
|
|
6801
|
+
def roles_key(self) -> typing.Optional[builtins.str]:
|
|
6802
|
+
'''Element of the SAML assertion to use for backend roles.
|
|
6803
|
+
|
|
6804
|
+
:default: - roles
|
|
6805
|
+
'''
|
|
6806
|
+
result = self._values.get("roles_key")
|
|
6807
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
6808
|
+
|
|
6809
|
+
@builtins.property
|
|
6810
|
+
def session_timeout_minutes(self) -> typing.Optional[jsii.Number]:
|
|
6811
|
+
'''The duration, in minutes, after which a user session becomes inactive.
|
|
6812
|
+
|
|
6813
|
+
:default: - 60
|
|
6814
|
+
'''
|
|
6815
|
+
result = self._values.get("session_timeout_minutes")
|
|
6816
|
+
return typing.cast(typing.Optional[jsii.Number], result)
|
|
6817
|
+
|
|
6818
|
+
@builtins.property
|
|
6819
|
+
def subject_key(self) -> typing.Optional[builtins.str]:
|
|
6820
|
+
'''Element of the SAML assertion to use for the user name.
|
|
6821
|
+
|
|
6822
|
+
:default: - NameID element of the SAML assertion fot the user name
|
|
6823
|
+
'''
|
|
6824
|
+
result = self._values.get("subject_key")
|
|
6825
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
6826
|
+
|
|
6827
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
6828
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
6829
|
+
|
|
6830
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
6831
|
+
return not (rhs == self)
|
|
6832
|
+
|
|
6833
|
+
def __repr__(self) -> str:
|
|
6834
|
+
return "SAMLOptionsProperty(%s)" % ", ".join(
|
|
6835
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
6836
|
+
)
|
|
6837
|
+
|
|
6838
|
+
|
|
6622
6839
|
@jsii.enum(jsii_type="aws-cdk-lib.aws_opensearchservice.TLSSecurityPolicy")
|
|
6623
6840
|
class TLSSecurityPolicy(enum.Enum):
|
|
6624
6841
|
'''The minimum TLS version required for traffic to the domain.'''
|
|
@@ -7823,6 +8040,7 @@ __all__ = [
|
|
|
7823
8040
|
"EngineVersion",
|
|
7824
8041
|
"IDomain",
|
|
7825
8042
|
"LoggingOptions",
|
|
8043
|
+
"SAMLOptionsProperty",
|
|
7826
8044
|
"TLSSecurityPolicy",
|
|
7827
8045
|
"WindowStartTime",
|
|
7828
8046
|
"ZoneAwarenessConfig",
|
|
@@ -7835,6 +8053,8 @@ def _typecheckingstub__c1e95392d4761126042f2d6d6160889a80c269d2f13c21476fe92febd
|
|
|
7835
8053
|
master_user_arn: typing.Optional[builtins.str] = None,
|
|
7836
8054
|
master_user_name: typing.Optional[builtins.str] = None,
|
|
7837
8055
|
master_user_password: typing.Optional[_SecretValue_3dd0ddae] = None,
|
|
8056
|
+
saml_authentication_enabled: typing.Optional[builtins.bool] = None,
|
|
8057
|
+
saml_authentication_options: typing.Optional[typing.Union[SAMLOptionsProperty, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
7838
8058
|
) -> None:
|
|
7839
8059
|
"""Type checking stubs"""
|
|
7840
8060
|
pass
|
|
@@ -8378,6 +8598,19 @@ def _typecheckingstub__6f2efbcf1fc757504a748851740a44deb59ed98ee9c1d8c213d60960f
|
|
|
8378
8598
|
"""Type checking stubs"""
|
|
8379
8599
|
pass
|
|
8380
8600
|
|
|
8601
|
+
def _typecheckingstub__3971b3c73627d57587c667b1ede64fbba4de4fd4a086af959dc2d0f812f8e36b(
|
|
8602
|
+
*,
|
|
8603
|
+
idp_entity_id: builtins.str,
|
|
8604
|
+
idp_metadata_content: builtins.str,
|
|
8605
|
+
master_backend_role: typing.Optional[builtins.str] = None,
|
|
8606
|
+
master_user_name: typing.Optional[builtins.str] = None,
|
|
8607
|
+
roles_key: typing.Optional[builtins.str] = None,
|
|
8608
|
+
session_timeout_minutes: typing.Optional[jsii.Number] = None,
|
|
8609
|
+
subject_key: typing.Optional[builtins.str] = None,
|
|
8610
|
+
) -> None:
|
|
8611
|
+
"""Type checking stubs"""
|
|
8612
|
+
pass
|
|
8613
|
+
|
|
8381
8614
|
def _typecheckingstub__6aa10c95f5a58e650c77a0c42630f2fa77e6475974ad59138caebb586e5fad2c(
|
|
8382
8615
|
*,
|
|
8383
8616
|
hours: jsii.Number,
|