aws-cdk-lib 2.176.0__py3-none-any.whl → 2.178.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 (120) hide show
  1. aws_cdk/__init__.py +106 -62
  2. aws_cdk/_jsii/__init__.py +1 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.176.0.jsii.tgz → aws-cdk-lib@2.178.0.jsii.tgz} +0 -0
  4. aws_cdk/aws_amplifyuibuilder/__init__.py +8 -8
  5. aws_cdk/aws_apigateway/__init__.py +97 -97
  6. aws_cdk/aws_apigatewayv2/__init__.py +35 -10
  7. aws_cdk/aws_apigatewayv2_integrations/__init__.py +2 -2
  8. aws_cdk/aws_appconfig/__init__.py +10 -10
  9. aws_cdk/aws_appflow/__init__.py +20 -20
  10. aws_cdk/aws_applicationsignals/__init__.py +8 -8
  11. aws_cdk/aws_appmesh/__init__.py +8 -8
  12. aws_cdk/aws_appsync/__init__.py +10387 -7038
  13. aws_cdk/aws_apptest/__init__.py +4 -4
  14. aws_cdk/aws_aps/__init__.py +135 -0
  15. aws_cdk/aws_athena/__init__.py +10 -10
  16. aws_cdk/aws_backup/__init__.py +14 -14
  17. aws_cdk/aws_batch/__init__.py +189 -24
  18. aws_cdk/aws_bcmdataexports/__init__.py +4 -4
  19. aws_cdk/aws_bedrock/__init__.py +5494 -2518
  20. aws_cdk/aws_certificatemanager/__init__.py +15 -14
  21. aws_cdk/aws_chatbot/__init__.py +4 -4
  22. aws_cdk/aws_cloudformation/__init__.py +22 -18
  23. aws_cdk/aws_cloudfront/__init__.py +686 -9
  24. aws_cdk/aws_cloudfront_origins/__init__.py +73 -2
  25. aws_cdk/aws_cloudtrail/__init__.py +4 -4
  26. aws_cdk/aws_cloudwatch/__init__.py +53 -53
  27. aws_cdk/aws_codedeploy/__init__.py +2 -2
  28. aws_cdk/aws_codepipeline/__init__.py +59 -6
  29. aws_cdk/aws_codepipeline_actions/__init__.py +2 -2
  30. aws_cdk/aws_cognito/__init__.py +204 -159
  31. aws_cdk/aws_connect/__init__.py +4 -4
  32. aws_cdk/aws_customerprofiles/__init__.py +6 -4
  33. aws_cdk/aws_databrew/__init__.py +16 -16
  34. aws_cdk/aws_datasync/__init__.py +14 -11
  35. aws_cdk/aws_datazone/__init__.py +199 -129
  36. aws_cdk/aws_dms/__init__.py +4 -4
  37. aws_cdk/aws_dynamodb/__init__.py +267 -25
  38. aws_cdk/aws_ec2/__init__.py +1142 -184
  39. aws_cdk/aws_ecs/__init__.py +767 -124
  40. aws_cdk/aws_ecs_patterns/__init__.py +49 -0
  41. aws_cdk/aws_efs/__init__.py +8 -8
  42. aws_cdk/aws_eks/__init__.py +55 -35
  43. aws_cdk/aws_elasticache/__init__.py +10 -10
  44. aws_cdk/aws_elasticloadbalancingv2/__init__.py +47 -18
  45. aws_cdk/aws_elasticsearch/__init__.py +10 -10
  46. aws_cdk/aws_emr/__init__.py +16 -16
  47. aws_cdk/aws_emrserverless/__init__.py +93 -4
  48. aws_cdk/aws_entityresolution/__init__.py +31 -17
  49. aws_cdk/aws_events/__init__.py +12 -12
  50. aws_cdk/aws_fis/__init__.py +16 -16
  51. aws_cdk/aws_fms/__init__.py +46 -0
  52. aws_cdk/aws_gamelift/__init__.py +8 -10
  53. aws_cdk/aws_glue/__init__.py +1326 -7
  54. aws_cdk/aws_greengrassv2/__init__.py +8 -8
  55. aws_cdk/aws_guardduty/__init__.py +521 -0
  56. aws_cdk/aws_healthlake/__init__.py +10 -2
  57. aws_cdk/aws_iam/__init__.py +8 -0
  58. aws_cdk/aws_imagebuilder/__init__.py +88 -74
  59. aws_cdk/aws_iot/__init__.py +40 -40
  60. aws_cdk/aws_iotanalytics/__init__.py +4 -4
  61. aws_cdk/aws_iotfleetwise/__init__.py +424 -10
  62. aws_cdk/aws_iotsitewise/__init__.py +84 -13
  63. aws_cdk/aws_iottwinmaker/__init__.py +18 -18
  64. aws_cdk/aws_iotwireless/__init__.py +4 -4
  65. aws_cdk/aws_kafkaconnect/__init__.py +10 -10
  66. aws_cdk/aws_kendra/__init__.py +0 -10
  67. aws_cdk/aws_kinesisanalytics/__init__.py +4 -4
  68. aws_cdk/aws_kinesisanalyticsv2/__init__.py +4 -4
  69. aws_cdk/aws_kinesisfirehose/__init__.py +4544 -183
  70. aws_cdk/aws_kms/__init__.py +11 -10
  71. aws_cdk/aws_lambda/__init__.py +47 -4
  72. aws_cdk/aws_lambda_nodejs/__init__.py +24 -5
  73. aws_cdk/aws_launchwizard/__init__.py +10 -10
  74. aws_cdk/aws_logs/__init__.py +78 -74
  75. aws_cdk/aws_mediaconnect/__init__.py +509 -12
  76. aws_cdk/aws_medialive/__init__.py +16 -16
  77. aws_cdk/aws_mediatailor/__init__.py +10 -10
  78. aws_cdk/aws_networkfirewall/__init__.py +12 -12
  79. aws_cdk/aws_notifications/__init__.py +1927 -0
  80. aws_cdk/aws_notificationscontacts/__init__.py +593 -0
  81. aws_cdk/aws_omics/__init__.py +4 -4
  82. aws_cdk/aws_opensearchservice/__init__.py +10 -10
  83. aws_cdk/aws_opsworks/__init__.py +58 -58
  84. aws_cdk/aws_personalize/__init__.py +8 -8
  85. aws_cdk/aws_pipes/__init__.py +20 -20
  86. aws_cdk/aws_qbusiness/__init__.py +119 -0
  87. aws_cdk/aws_quicksight/__init__.py +247 -92
  88. aws_cdk/aws_rds/__init__.py +37 -37
  89. aws_cdk/aws_redshift/__init__.py +19 -15
  90. aws_cdk/aws_resiliencehub/__init__.py +0 -41
  91. aws_cdk/aws_route53/__init__.py +10 -4
  92. aws_cdk/aws_route53_targets/__init__.py +15 -15
  93. aws_cdk/aws_rum/__init__.py +4 -4
  94. aws_cdk/aws_s3/__init__.py +801 -2
  95. aws_cdk/aws_s3_notifications/__init__.py +5 -5
  96. aws_cdk/aws_s3tables/__init__.py +2 -2
  97. aws_cdk/aws_sagemaker/__init__.py +84 -60
  98. aws_cdk/aws_sam/__init__.py +48 -48
  99. aws_cdk/aws_secretsmanager/__init__.py +30 -14
  100. aws_cdk/aws_securityhub/__init__.py +12 -12
  101. aws_cdk/aws_sns/__init__.py +137 -12
  102. aws_cdk/aws_ssm/__init__.py +5 -5
  103. aws_cdk/aws_ssmquicksetup/__init__.py +10 -10
  104. aws_cdk/aws_stepfunctions/__init__.py +13207 -4740
  105. aws_cdk/aws_stepfunctions_tasks/__init__.py +77615 -22817
  106. aws_cdk/aws_synthetics/__init__.py +109 -36
  107. aws_cdk/aws_timestream/__init__.py +41 -0
  108. aws_cdk/aws_transfer/__init__.py +9 -10
  109. aws_cdk/aws_wafv2/__init__.py +24 -22
  110. aws_cdk/aws_wisdom/__init__.py +8 -8
  111. aws_cdk/aws_workspacesweb/__init__.py +60 -60
  112. aws_cdk/aws_xray/__init__.py +8 -8
  113. aws_cdk/cloud_assembly_schema/__init__.py +63 -4
  114. aws_cdk/cx_api/__init__.py +62 -4
  115. {aws_cdk_lib-2.176.0.dist-info → aws_cdk_lib-2.178.0.dist-info}/METADATA +3 -3
  116. {aws_cdk_lib-2.176.0.dist-info → aws_cdk_lib-2.178.0.dist-info}/RECORD +120 -118
  117. {aws_cdk_lib-2.176.0.dist-info → aws_cdk_lib-2.178.0.dist-info}/LICENSE +0 -0
  118. {aws_cdk_lib-2.176.0.dist-info → aws_cdk_lib-2.178.0.dist-info}/NOTICE +0 -0
  119. {aws_cdk_lib-2.176.0.dist-info → aws_cdk_lib-2.178.0.dist-info}/WHEEL +0 -0
  120. {aws_cdk_lib-2.176.0.dist-info → aws_cdk_lib-2.178.0.dist-info}/top_level.txt +0 -0
@@ -924,7 +924,12 @@ class CfnConnection(
924
924
  # The values are placeholders you should change.
925
925
  from aws_cdk import aws_glue as glue
926
926
 
927
+ # athena_properties: Any
927
928
  # connection_properties: Any
929
+ # custom_authentication_credentials: Any
930
+ # python_properties: Any
931
+ # spark_properties: Any
932
+ # token_url_parameters_map: Any
928
933
 
929
934
  cfn_connection = glue.CfnConnection(self, "MyCfnConnection",
930
935
  catalog_id="catalogId",
@@ -932,6 +937,38 @@ class CfnConnection(
932
937
  connection_type="connectionType",
933
938
 
934
939
  # the properties below are optional
940
+ athena_properties=athena_properties,
941
+ authentication_configuration=glue.CfnConnection.AuthenticationConfigurationInputProperty(
942
+ authentication_type="authenticationType",
943
+
944
+ # the properties below are optional
945
+ basic_authentication_credentials=glue.CfnConnection.BasicAuthenticationCredentialsProperty(
946
+ password="password",
947
+ username="username"
948
+ ),
949
+ custom_authentication_credentials=custom_authentication_credentials,
950
+ kms_key_arn="kmsKeyArn",
951
+ o_auth2_properties=glue.CfnConnection.OAuth2PropertiesInputProperty(
952
+ authorization_code_properties=glue.CfnConnection.AuthorizationCodePropertiesProperty(
953
+ authorization_code="authorizationCode",
954
+ redirect_uri="redirectUri"
955
+ ),
956
+ o_auth2_client_application=glue.CfnConnection.OAuth2ClientApplicationProperty(
957
+ aws_managed_client_application_reference="awsManagedClientApplicationReference",
958
+ user_managed_client_application_client_id="userManagedClientApplicationClientId"
959
+ ),
960
+ o_auth2_credentials=glue.CfnConnection.OAuth2CredentialsProperty(
961
+ access_token="accessToken",
962
+ jwt_token="jwtToken",
963
+ refresh_token="refreshToken",
964
+ user_managed_client_application_client_secret="userManagedClientApplicationClientSecret"
965
+ ),
966
+ o_auth2_grant_type="oAuth2GrantType",
967
+ token_url="tokenUrl",
968
+ token_url_parameters_map=token_url_parameters_map
969
+ ),
970
+ secret_arn="secretArn"
971
+ ),
935
972
  connection_properties=connection_properties,
936
973
  description="description",
937
974
  match_criteria=["matchCriteria"],
@@ -940,7 +977,11 @@ class CfnConnection(
940
977
  availability_zone="availabilityZone",
941
978
  security_group_id_list=["securityGroupIdList"],
942
979
  subnet_id="subnetId"
943
- )
980
+ ),
981
+ python_properties=python_properties,
982
+ spark_properties=spark_properties,
983
+ validate_credentials=False,
984
+ validate_for_compute_environments=["validateForComputeEnvironments"]
944
985
  )
945
986
  )
946
987
  '''
@@ -1043,16 +1084,339 @@ class CfnConnection(
1043
1084
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1044
1085
  jsii.set(self, "connectionInput", value) # pyright: ignore[reportArgumentType]
1045
1086
 
1087
+ @jsii.data_type(
1088
+ jsii_type="aws-cdk-lib.aws_glue.CfnConnection.AuthenticationConfigurationInputProperty",
1089
+ jsii_struct_bases=[],
1090
+ name_mapping={
1091
+ "authentication_type": "authenticationType",
1092
+ "basic_authentication_credentials": "basicAuthenticationCredentials",
1093
+ "custom_authentication_credentials": "customAuthenticationCredentials",
1094
+ "kms_key_arn": "kmsKeyArn",
1095
+ "o_auth2_properties": "oAuth2Properties",
1096
+ "secret_arn": "secretArn",
1097
+ },
1098
+ )
1099
+ class AuthenticationConfigurationInputProperty:
1100
+ def __init__(
1101
+ self,
1102
+ *,
1103
+ authentication_type: builtins.str,
1104
+ basic_authentication_credentials: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnConnection.BasicAuthenticationCredentialsProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
1105
+ custom_authentication_credentials: typing.Any = None,
1106
+ kms_key_arn: typing.Optional[builtins.str] = None,
1107
+ o_auth2_properties: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnConnection.OAuth2PropertiesInputProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
1108
+ secret_arn: typing.Optional[builtins.str] = None,
1109
+ ) -> None:
1110
+ '''A structure containing the authentication configuration in the CreateConnection request.
1111
+
1112
+ :param authentication_type: A structure containing the authentication configuration in the CreateConnection request.
1113
+ :param basic_authentication_credentials: The credentials used when the authentication type is basic authentication.
1114
+ :param custom_authentication_credentials: The credentials used when the authentication type is custom authentication.
1115
+ :param kms_key_arn: The ARN of the KMS key used to encrypt the connection. Only taken an as input in the request and stored in the Secret Manager.
1116
+ :param o_auth2_properties: The properties for OAuth2 authentication in the CreateConnection request.
1117
+ :param secret_arn: The secret manager ARN to store credentials in the CreateConnection request.
1118
+
1119
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-connection-authenticationconfigurationinput.html
1120
+ :exampleMetadata: fixture=_generated
1121
+
1122
+ Example::
1123
+
1124
+ # The code below shows an example of how to instantiate this type.
1125
+ # The values are placeholders you should change.
1126
+ from aws_cdk import aws_glue as glue
1127
+
1128
+ # custom_authentication_credentials: Any
1129
+ # token_url_parameters_map: Any
1130
+
1131
+ authentication_configuration_input_property = glue.CfnConnection.AuthenticationConfigurationInputProperty(
1132
+ authentication_type="authenticationType",
1133
+
1134
+ # the properties below are optional
1135
+ basic_authentication_credentials=glue.CfnConnection.BasicAuthenticationCredentialsProperty(
1136
+ password="password",
1137
+ username="username"
1138
+ ),
1139
+ custom_authentication_credentials=custom_authentication_credentials,
1140
+ kms_key_arn="kmsKeyArn",
1141
+ o_auth2_properties=glue.CfnConnection.OAuth2PropertiesInputProperty(
1142
+ authorization_code_properties=glue.CfnConnection.AuthorizationCodePropertiesProperty(
1143
+ authorization_code="authorizationCode",
1144
+ redirect_uri="redirectUri"
1145
+ ),
1146
+ o_auth2_client_application=glue.CfnConnection.OAuth2ClientApplicationProperty(
1147
+ aws_managed_client_application_reference="awsManagedClientApplicationReference",
1148
+ user_managed_client_application_client_id="userManagedClientApplicationClientId"
1149
+ ),
1150
+ o_auth2_credentials=glue.CfnConnection.OAuth2CredentialsProperty(
1151
+ access_token="accessToken",
1152
+ jwt_token="jwtToken",
1153
+ refresh_token="refreshToken",
1154
+ user_managed_client_application_client_secret="userManagedClientApplicationClientSecret"
1155
+ ),
1156
+ o_auth2_grant_type="oAuth2GrantType",
1157
+ token_url="tokenUrl",
1158
+ token_url_parameters_map=token_url_parameters_map
1159
+ ),
1160
+ secret_arn="secretArn"
1161
+ )
1162
+ '''
1163
+ if __debug__:
1164
+ type_hints = typing.get_type_hints(_typecheckingstub__7b8293d6f944daa9f33a106f65a8945bd03ac5038f2713c175a1c7a89dd114bf)
1165
+ check_type(argname="argument authentication_type", value=authentication_type, expected_type=type_hints["authentication_type"])
1166
+ check_type(argname="argument basic_authentication_credentials", value=basic_authentication_credentials, expected_type=type_hints["basic_authentication_credentials"])
1167
+ check_type(argname="argument custom_authentication_credentials", value=custom_authentication_credentials, expected_type=type_hints["custom_authentication_credentials"])
1168
+ check_type(argname="argument kms_key_arn", value=kms_key_arn, expected_type=type_hints["kms_key_arn"])
1169
+ check_type(argname="argument o_auth2_properties", value=o_auth2_properties, expected_type=type_hints["o_auth2_properties"])
1170
+ check_type(argname="argument secret_arn", value=secret_arn, expected_type=type_hints["secret_arn"])
1171
+ self._values: typing.Dict[builtins.str, typing.Any] = {
1172
+ "authentication_type": authentication_type,
1173
+ }
1174
+ if basic_authentication_credentials is not None:
1175
+ self._values["basic_authentication_credentials"] = basic_authentication_credentials
1176
+ if custom_authentication_credentials is not None:
1177
+ self._values["custom_authentication_credentials"] = custom_authentication_credentials
1178
+ if kms_key_arn is not None:
1179
+ self._values["kms_key_arn"] = kms_key_arn
1180
+ if o_auth2_properties is not None:
1181
+ self._values["o_auth2_properties"] = o_auth2_properties
1182
+ if secret_arn is not None:
1183
+ self._values["secret_arn"] = secret_arn
1184
+
1185
+ @builtins.property
1186
+ def authentication_type(self) -> builtins.str:
1187
+ '''A structure containing the authentication configuration in the CreateConnection request.
1188
+
1189
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-connection-authenticationconfigurationinput.html#cfn-glue-connection-authenticationconfigurationinput-authenticationtype
1190
+ '''
1191
+ result = self._values.get("authentication_type")
1192
+ assert result is not None, "Required property 'authentication_type' is missing"
1193
+ return typing.cast(builtins.str, result)
1194
+
1195
+ @builtins.property
1196
+ def basic_authentication_credentials(
1197
+ self,
1198
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnConnection.BasicAuthenticationCredentialsProperty"]]:
1199
+ '''The credentials used when the authentication type is basic authentication.
1200
+
1201
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-connection-authenticationconfigurationinput.html#cfn-glue-connection-authenticationconfigurationinput-basicauthenticationcredentials
1202
+ '''
1203
+ result = self._values.get("basic_authentication_credentials")
1204
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnConnection.BasicAuthenticationCredentialsProperty"]], result)
1205
+
1206
+ @builtins.property
1207
+ def custom_authentication_credentials(self) -> typing.Any:
1208
+ '''The credentials used when the authentication type is custom authentication.
1209
+
1210
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-connection-authenticationconfigurationinput.html#cfn-glue-connection-authenticationconfigurationinput-customauthenticationcredentials
1211
+ '''
1212
+ result = self._values.get("custom_authentication_credentials")
1213
+ return typing.cast(typing.Any, result)
1214
+
1215
+ @builtins.property
1216
+ def kms_key_arn(self) -> typing.Optional[builtins.str]:
1217
+ '''The ARN of the KMS key used to encrypt the connection.
1218
+
1219
+ Only taken an as input in the request and stored in the Secret Manager.
1220
+
1221
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-connection-authenticationconfigurationinput.html#cfn-glue-connection-authenticationconfigurationinput-kmskeyarn
1222
+ '''
1223
+ result = self._values.get("kms_key_arn")
1224
+ return typing.cast(typing.Optional[builtins.str], result)
1225
+
1226
+ @builtins.property
1227
+ def o_auth2_properties(
1228
+ self,
1229
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnConnection.OAuth2PropertiesInputProperty"]]:
1230
+ '''The properties for OAuth2 authentication in the CreateConnection request.
1231
+
1232
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-connection-authenticationconfigurationinput.html#cfn-glue-connection-authenticationconfigurationinput-oauth2properties
1233
+ '''
1234
+ result = self._values.get("o_auth2_properties")
1235
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnConnection.OAuth2PropertiesInputProperty"]], result)
1236
+
1237
+ @builtins.property
1238
+ def secret_arn(self) -> typing.Optional[builtins.str]:
1239
+ '''The secret manager ARN to store credentials in the CreateConnection request.
1240
+
1241
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-connection-authenticationconfigurationinput.html#cfn-glue-connection-authenticationconfigurationinput-secretarn
1242
+ '''
1243
+ result = self._values.get("secret_arn")
1244
+ return typing.cast(typing.Optional[builtins.str], result)
1245
+
1246
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
1247
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
1248
+
1249
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
1250
+ return not (rhs == self)
1251
+
1252
+ def __repr__(self) -> str:
1253
+ return "AuthenticationConfigurationInputProperty(%s)" % ", ".join(
1254
+ k + "=" + repr(v) for k, v in self._values.items()
1255
+ )
1256
+
1257
+ @jsii.data_type(
1258
+ jsii_type="aws-cdk-lib.aws_glue.CfnConnection.AuthorizationCodePropertiesProperty",
1259
+ jsii_struct_bases=[],
1260
+ name_mapping={
1261
+ "authorization_code": "authorizationCode",
1262
+ "redirect_uri": "redirectUri",
1263
+ },
1264
+ )
1265
+ class AuthorizationCodePropertiesProperty:
1266
+ def __init__(
1267
+ self,
1268
+ *,
1269
+ authorization_code: typing.Optional[builtins.str] = None,
1270
+ redirect_uri: typing.Optional[builtins.str] = None,
1271
+ ) -> None:
1272
+ '''The set of properties required for the the OAuth2 ``AUTHORIZATION_CODE`` grant type workflow.
1273
+
1274
+ :param authorization_code: An authorization code to be used in the third leg of the ``AUTHORIZATION_CODE`` grant workflow. This is a single-use code which becomes invalid once exchanged for an access token, thus it is acceptable to have this value as a request parameter.
1275
+ :param redirect_uri: The redirect URI where the user gets redirected to by authorization server when issuing an authorization code. The URI is subsequently used when the authorization code is exchanged for an access token.
1276
+
1277
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-connection-authorizationcodeproperties.html
1278
+ :exampleMetadata: fixture=_generated
1279
+
1280
+ Example::
1281
+
1282
+ # The code below shows an example of how to instantiate this type.
1283
+ # The values are placeholders you should change.
1284
+ from aws_cdk import aws_glue as glue
1285
+
1286
+ authorization_code_properties_property = glue.CfnConnection.AuthorizationCodePropertiesProperty(
1287
+ authorization_code="authorizationCode",
1288
+ redirect_uri="redirectUri"
1289
+ )
1290
+ '''
1291
+ if __debug__:
1292
+ type_hints = typing.get_type_hints(_typecheckingstub__d74e17f9057fdeeb2436fa4ecbe726ba9cd4a57895a74748d475fac637d7e934)
1293
+ check_type(argname="argument authorization_code", value=authorization_code, expected_type=type_hints["authorization_code"])
1294
+ check_type(argname="argument redirect_uri", value=redirect_uri, expected_type=type_hints["redirect_uri"])
1295
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
1296
+ if authorization_code is not None:
1297
+ self._values["authorization_code"] = authorization_code
1298
+ if redirect_uri is not None:
1299
+ self._values["redirect_uri"] = redirect_uri
1300
+
1301
+ @builtins.property
1302
+ def authorization_code(self) -> typing.Optional[builtins.str]:
1303
+ '''An authorization code to be used in the third leg of the ``AUTHORIZATION_CODE`` grant workflow.
1304
+
1305
+ This is a single-use code which becomes invalid once exchanged for an access token, thus it is acceptable to have this value as a request parameter.
1306
+
1307
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-connection-authorizationcodeproperties.html#cfn-glue-connection-authorizationcodeproperties-authorizationcode
1308
+ '''
1309
+ result = self._values.get("authorization_code")
1310
+ return typing.cast(typing.Optional[builtins.str], result)
1311
+
1312
+ @builtins.property
1313
+ def redirect_uri(self) -> typing.Optional[builtins.str]:
1314
+ '''The redirect URI where the user gets redirected to by authorization server when issuing an authorization code.
1315
+
1316
+ The URI is subsequently used when the authorization code is exchanged for an access token.
1317
+
1318
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-connection-authorizationcodeproperties.html#cfn-glue-connection-authorizationcodeproperties-redirecturi
1319
+ '''
1320
+ result = self._values.get("redirect_uri")
1321
+ return typing.cast(typing.Optional[builtins.str], result)
1322
+
1323
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
1324
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
1325
+
1326
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
1327
+ return not (rhs == self)
1328
+
1329
+ def __repr__(self) -> str:
1330
+ return "AuthorizationCodePropertiesProperty(%s)" % ", ".join(
1331
+ k + "=" + repr(v) for k, v in self._values.items()
1332
+ )
1333
+
1334
+ @jsii.data_type(
1335
+ jsii_type="aws-cdk-lib.aws_glue.CfnConnection.BasicAuthenticationCredentialsProperty",
1336
+ jsii_struct_bases=[],
1337
+ name_mapping={"password": "password", "username": "username"},
1338
+ )
1339
+ class BasicAuthenticationCredentialsProperty:
1340
+ def __init__(
1341
+ self,
1342
+ *,
1343
+ password: typing.Optional[builtins.str] = None,
1344
+ username: typing.Optional[builtins.str] = None,
1345
+ ) -> None:
1346
+ '''For supplying basic auth credentials when not providing a ``SecretArn`` value.
1347
+
1348
+ :param password: The password to connect to the data source.
1349
+ :param username: The username to connect to the data source.
1350
+
1351
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-connection-basicauthenticationcredentials.html
1352
+ :exampleMetadata: fixture=_generated
1353
+
1354
+ Example::
1355
+
1356
+ # The code below shows an example of how to instantiate this type.
1357
+ # The values are placeholders you should change.
1358
+ from aws_cdk import aws_glue as glue
1359
+
1360
+ basic_authentication_credentials_property = glue.CfnConnection.BasicAuthenticationCredentialsProperty(
1361
+ password="password",
1362
+ username="username"
1363
+ )
1364
+ '''
1365
+ if __debug__:
1366
+ type_hints = typing.get_type_hints(_typecheckingstub__392898efc7a4e5916baac73fe572ea1b29fb7cfcdd12903cca26595c5534adea)
1367
+ check_type(argname="argument password", value=password, expected_type=type_hints["password"])
1368
+ check_type(argname="argument username", value=username, expected_type=type_hints["username"])
1369
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
1370
+ if password is not None:
1371
+ self._values["password"] = password
1372
+ if username is not None:
1373
+ self._values["username"] = username
1374
+
1375
+ @builtins.property
1376
+ def password(self) -> typing.Optional[builtins.str]:
1377
+ '''The password to connect to the data source.
1378
+
1379
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-connection-basicauthenticationcredentials.html#cfn-glue-connection-basicauthenticationcredentials-password
1380
+ '''
1381
+ result = self._values.get("password")
1382
+ return typing.cast(typing.Optional[builtins.str], result)
1383
+
1384
+ @builtins.property
1385
+ def username(self) -> typing.Optional[builtins.str]:
1386
+ '''The username to connect to the data source.
1387
+
1388
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-connection-basicauthenticationcredentials.html#cfn-glue-connection-basicauthenticationcredentials-username
1389
+ '''
1390
+ result = self._values.get("username")
1391
+ return typing.cast(typing.Optional[builtins.str], result)
1392
+
1393
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
1394
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
1395
+
1396
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
1397
+ return not (rhs == self)
1398
+
1399
+ def __repr__(self) -> str:
1400
+ return "BasicAuthenticationCredentialsProperty(%s)" % ", ".join(
1401
+ k + "=" + repr(v) for k, v in self._values.items()
1402
+ )
1403
+
1046
1404
  @jsii.data_type(
1047
1405
  jsii_type="aws-cdk-lib.aws_glue.CfnConnection.ConnectionInputProperty",
1048
1406
  jsii_struct_bases=[],
1049
1407
  name_mapping={
1050
1408
  "connection_type": "connectionType",
1409
+ "athena_properties": "athenaProperties",
1410
+ "authentication_configuration": "authenticationConfiguration",
1051
1411
  "connection_properties": "connectionProperties",
1052
1412
  "description": "description",
1053
1413
  "match_criteria": "matchCriteria",
1054
1414
  "name": "name",
1055
1415
  "physical_connection_requirements": "physicalConnectionRequirements",
1416
+ "python_properties": "pythonProperties",
1417
+ "spark_properties": "sparkProperties",
1418
+ "validate_credentials": "validateCredentials",
1419
+ "validate_for_compute_environments": "validateForComputeEnvironments",
1056
1420
  },
1057
1421
  )
1058
1422
  class ConnectionInputProperty:
@@ -1060,20 +1424,32 @@ class CfnConnection(
1060
1424
  self,
1061
1425
  *,
1062
1426
  connection_type: builtins.str,
1427
+ athena_properties: typing.Any = None,
1428
+ authentication_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnConnection.AuthenticationConfigurationInputProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
1063
1429
  connection_properties: typing.Any = None,
1064
1430
  description: typing.Optional[builtins.str] = None,
1065
1431
  match_criteria: typing.Optional[typing.Sequence[builtins.str]] = None,
1066
1432
  name: typing.Optional[builtins.str] = None,
1067
1433
  physical_connection_requirements: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnConnection.PhysicalConnectionRequirementsProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
1434
+ python_properties: typing.Any = None,
1435
+ spark_properties: typing.Any = None,
1436
+ validate_credentials: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
1437
+ validate_for_compute_environments: typing.Optional[typing.Sequence[builtins.str]] = None,
1068
1438
  ) -> None:
1069
1439
  '''A structure that is used to specify a connection to create or update.
1070
1440
 
1071
1441
  :param connection_type: The type of the connection. Currently, these types are supported:. - ``JDBC`` - Designates a connection to a database through Java Database Connectivity (JDBC). ``JDBC`` Connections use the following ConnectionParameters. - Required: All of ( ``HOST`` , ``PORT`` , ``JDBC_ENGINE`` ) or ``JDBC_CONNECTION_URL`` . - Required: All of ( ``USERNAME`` , ``PASSWORD`` ) or ``SECRET_ID`` . - Optional: ``JDBC_ENFORCE_SSL`` , ``CUSTOM_JDBC_CERT`` , ``CUSTOM_JDBC_CERT_STRING`` , ``SKIP_CUSTOM_JDBC_CERT_VALIDATION`` . These parameters are used to configure SSL with JDBC. - ``KAFKA`` - Designates a connection to an Apache Kafka streaming platform. ``KAFKA`` Connections use the following ConnectionParameters. - Required: ``KAFKA_BOOTSTRAP_SERVERS`` . - Optional: ``KAFKA_SSL_ENABLED`` , ``KAFKA_CUSTOM_CERT`` , ``KAFKA_SKIP_CUSTOM_CERT_VALIDATION`` . These parameters are used to configure SSL with ``KAFKA`` . - Optional: ``KAFKA_CLIENT_KEYSTORE`` , ``KAFKA_CLIENT_KEYSTORE_PASSWORD`` , ``KAFKA_CLIENT_KEY_PASSWORD`` , ``ENCRYPTED_KAFKA_CLIENT_KEYSTORE_PASSWORD`` , ``ENCRYPTED_KAFKA_CLIENT_KEY_PASSWORD`` . These parameters are used to configure TLS client configuration with SSL in ``KAFKA`` . - Optional: ``KAFKA_SASL_MECHANISM`` . Can be specified as ``SCRAM-SHA-512`` , ``GSSAPI`` , or ``AWS_MSK_IAM`` . - Optional: ``KAFKA_SASL_SCRAM_USERNAME`` , ``KAFKA_SASL_SCRAM_PASSWORD`` , ``ENCRYPTED_KAFKA_SASL_SCRAM_PASSWORD`` . These parameters are used to configure SASL/SCRAM-SHA-512 authentication with ``KAFKA`` . - Optional: ``KAFKA_SASL_GSSAPI_KEYTAB`` , ``KAFKA_SASL_GSSAPI_KRB5_CONF`` , ``KAFKA_SASL_GSSAPI_SERVICE`` , ``KAFKA_SASL_GSSAPI_PRINCIPAL`` . These parameters are used to configure SASL/GSSAPI authentication with ``KAFKA`` . - ``MONGODB`` - Designates a connection to a MongoDB document database. ``MONGODB`` Connections use the following ConnectionParameters. - Required: ``CONNECTION_URL`` . - Required: All of ( ``USERNAME`` , ``PASSWORD`` ) or ``SECRET_ID`` . - ``VIEW_VALIDATION_REDSHIFT`` - Designates a connection used for view validation by Amazon Redshift. - ``VIEW_VALIDATION_ATHENA`` - Designates a connection used for view validation by Amazon Athena. - ``NETWORK`` - Designates a network connection to a data source within an Amazon Virtual Private Cloud environment (Amazon VPC). ``NETWORK`` Connections do not require ConnectionParameters. Instead, provide a PhysicalConnectionRequirements. - ``MARKETPLACE`` - Uses configuration settings contained in a connector purchased from AWS Marketplace to read from and write to data stores that are not natively supported by AWS Glue . ``MARKETPLACE`` Connections use the following ConnectionParameters. - Required: ``CONNECTOR_TYPE`` , ``CONNECTOR_URL`` , ``CONNECTOR_CLASS_NAME`` , ``CONNECTION_URL`` . - Required for ``JDBC`` ``CONNECTOR_TYPE`` connections: All of ( ``USERNAME`` , ``PASSWORD`` ) or ``SECRET_ID`` . - ``CUSTOM`` - Uses configuration settings contained in a custom connector to read from and write to data stores that are not natively supported by AWS Glue . Additionally, a ``ConnectionType`` for the following SaaS connectors is supported: - ``FACEBOOKADS`` - Designates a connection to Facebook Ads. - ``GOOGLEADS`` - Designates a connection to Google Ads. - ``GOOGLESHEETS`` - Designates a connection to Google Sheets. - ``GOOGLEANALYTICS4`` - Designates a connection to Google Analytics 4. - ``HUBSPOT`` - Designates a connection to HubSpot. - ``INSTAGRAMADS`` - Designates a connection to Instagram Ads. - ``INTERCOM`` - Designates a connection to Intercom. - ``JIRACLOUD`` - Designates a connection to Jira Cloud. - ``MARKETO`` - Designates a connection to Adobe Marketo Engage. - ``NETSUITEERP`` - Designates a connection to Oracle NetSuite. - ``SALESFORCE`` - Designates a connection to Salesforce using OAuth authentication. - ``SALESFORCEMARKETINGCLOUD`` - Designates a connection to Salesforce Marketing Cloud. - ``SALESFORCEPARDOT`` - Designates a connection to Salesforce Marketing Cloud Account Engagement (MCAE). - ``SAPODATA`` - Designates a connection to SAP OData. - ``SERVICENOW`` - Designates a connection to ServiceNow. - ``SLACK`` - Designates a connection to Slack. - ``SNAPCHATADS`` - Designates a connection to Snapchat Ads. - ``STRIPE`` - Designates a connection to Stripe. - ``ZENDESK`` - Designates a connection to Zendesk. - ``ZOHOCRM`` - Designates a connection to Zoho CRM. For more information on the connection parameters needed for a particular connector, see the documentation for the connector in `Adding an AWS Glue connection <https://docs.aws.amazon.com/glue/latest/dg/console-connections.html>`_ in the AWS Glue User Guide. ``SFTP`` is not supported. For more information about how optional ConnectionProperties are used to configure features in AWS Glue , consult `AWS Glue connection properties <https://docs.aws.amazon.com/glue/latest/dg/connection-defining.html>`_ . For more information about how optional ConnectionProperties are used to configure features in AWS Glue Studio, consult `Using connectors and connections <https://docs.aws.amazon.com/glue/latest/ug/connectors-chapter.html>`_ .
1442
+ :param athena_properties: Connection properties specific to the Athena compute environment.
1443
+ :param authentication_configuration: The authentication properties of the connection.
1072
1444
  :param connection_properties: These key-value pairs define parameters for the connection.
1073
1445
  :param description: The description of the connection.
1074
1446
  :param match_criteria: A list of criteria that can be used in selecting this connection.
1075
1447
  :param name: The name of the connection.
1076
1448
  :param physical_connection_requirements: The physical connection requirements, such as virtual private cloud (VPC) and ``SecurityGroup`` , that are needed to successfully make this connection.
1449
+ :param python_properties: Connection properties specific to the Python compute environment.
1450
+ :param spark_properties: Connection properties specific to the Spark compute environment.
1451
+ :param validate_credentials: A flag to validate the credentials during create connection. Default is true.
1452
+ :param validate_for_compute_environments: The compute environments that the specified connection properties are validated against.
1077
1453
 
1078
1454
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-connection-connectioninput.html
1079
1455
  :exampleMetadata: fixture=_generated
@@ -1084,12 +1460,49 @@ class CfnConnection(
1084
1460
  # The values are placeholders you should change.
1085
1461
  from aws_cdk import aws_glue as glue
1086
1462
 
1463
+ # athena_properties: Any
1087
1464
  # connection_properties: Any
1465
+ # custom_authentication_credentials: Any
1466
+ # python_properties: Any
1467
+ # spark_properties: Any
1468
+ # token_url_parameters_map: Any
1088
1469
 
1089
1470
  connection_input_property = glue.CfnConnection.ConnectionInputProperty(
1090
1471
  connection_type="connectionType",
1091
1472
 
1092
1473
  # the properties below are optional
1474
+ athena_properties=athena_properties,
1475
+ authentication_configuration=glue.CfnConnection.AuthenticationConfigurationInputProperty(
1476
+ authentication_type="authenticationType",
1477
+
1478
+ # the properties below are optional
1479
+ basic_authentication_credentials=glue.CfnConnection.BasicAuthenticationCredentialsProperty(
1480
+ password="password",
1481
+ username="username"
1482
+ ),
1483
+ custom_authentication_credentials=custom_authentication_credentials,
1484
+ kms_key_arn="kmsKeyArn",
1485
+ o_auth2_properties=glue.CfnConnection.OAuth2PropertiesInputProperty(
1486
+ authorization_code_properties=glue.CfnConnection.AuthorizationCodePropertiesProperty(
1487
+ authorization_code="authorizationCode",
1488
+ redirect_uri="redirectUri"
1489
+ ),
1490
+ o_auth2_client_application=glue.CfnConnection.OAuth2ClientApplicationProperty(
1491
+ aws_managed_client_application_reference="awsManagedClientApplicationReference",
1492
+ user_managed_client_application_client_id="userManagedClientApplicationClientId"
1493
+ ),
1494
+ o_auth2_credentials=glue.CfnConnection.OAuth2CredentialsProperty(
1495
+ access_token="accessToken",
1496
+ jwt_token="jwtToken",
1497
+ refresh_token="refreshToken",
1498
+ user_managed_client_application_client_secret="userManagedClientApplicationClientSecret"
1499
+ ),
1500
+ o_auth2_grant_type="oAuth2GrantType",
1501
+ token_url="tokenUrl",
1502
+ token_url_parameters_map=token_url_parameters_map
1503
+ ),
1504
+ secret_arn="secretArn"
1505
+ ),
1093
1506
  connection_properties=connection_properties,
1094
1507
  description="description",
1095
1508
  match_criteria=["matchCriteria"],
@@ -1098,20 +1511,34 @@ class CfnConnection(
1098
1511
  availability_zone="availabilityZone",
1099
1512
  security_group_id_list=["securityGroupIdList"],
1100
1513
  subnet_id="subnetId"
1101
- )
1514
+ ),
1515
+ python_properties=python_properties,
1516
+ spark_properties=spark_properties,
1517
+ validate_credentials=False,
1518
+ validate_for_compute_environments=["validateForComputeEnvironments"]
1102
1519
  )
1103
1520
  '''
1104
1521
  if __debug__:
1105
1522
  type_hints = typing.get_type_hints(_typecheckingstub__74e68b34e0a01df244f744096d99b1ff48c5f31548a88acaaf6d555c46a2fb76)
1106
1523
  check_type(argname="argument connection_type", value=connection_type, expected_type=type_hints["connection_type"])
1524
+ check_type(argname="argument athena_properties", value=athena_properties, expected_type=type_hints["athena_properties"])
1525
+ check_type(argname="argument authentication_configuration", value=authentication_configuration, expected_type=type_hints["authentication_configuration"])
1107
1526
  check_type(argname="argument connection_properties", value=connection_properties, expected_type=type_hints["connection_properties"])
1108
1527
  check_type(argname="argument description", value=description, expected_type=type_hints["description"])
1109
1528
  check_type(argname="argument match_criteria", value=match_criteria, expected_type=type_hints["match_criteria"])
1110
1529
  check_type(argname="argument name", value=name, expected_type=type_hints["name"])
1111
1530
  check_type(argname="argument physical_connection_requirements", value=physical_connection_requirements, expected_type=type_hints["physical_connection_requirements"])
1531
+ check_type(argname="argument python_properties", value=python_properties, expected_type=type_hints["python_properties"])
1532
+ check_type(argname="argument spark_properties", value=spark_properties, expected_type=type_hints["spark_properties"])
1533
+ check_type(argname="argument validate_credentials", value=validate_credentials, expected_type=type_hints["validate_credentials"])
1534
+ check_type(argname="argument validate_for_compute_environments", value=validate_for_compute_environments, expected_type=type_hints["validate_for_compute_environments"])
1112
1535
  self._values: typing.Dict[builtins.str, typing.Any] = {
1113
1536
  "connection_type": connection_type,
1114
1537
  }
1538
+ if athena_properties is not None:
1539
+ self._values["athena_properties"] = athena_properties
1540
+ if authentication_configuration is not None:
1541
+ self._values["authentication_configuration"] = authentication_configuration
1115
1542
  if connection_properties is not None:
1116
1543
  self._values["connection_properties"] = connection_properties
1117
1544
  if description is not None:
@@ -1122,6 +1549,14 @@ class CfnConnection(
1122
1549
  self._values["name"] = name
1123
1550
  if physical_connection_requirements is not None:
1124
1551
  self._values["physical_connection_requirements"] = physical_connection_requirements
1552
+ if python_properties is not None:
1553
+ self._values["python_properties"] = python_properties
1554
+ if spark_properties is not None:
1555
+ self._values["spark_properties"] = spark_properties
1556
+ if validate_credentials is not None:
1557
+ self._values["validate_credentials"] = validate_credentials
1558
+ if validate_for_compute_environments is not None:
1559
+ self._values["validate_for_compute_environments"] = validate_for_compute_environments
1125
1560
 
1126
1561
  @builtins.property
1127
1562
  def connection_type(self) -> builtins.str:
@@ -1201,6 +1636,26 @@ class CfnConnection(
1201
1636
  assert result is not None, "Required property 'connection_type' is missing"
1202
1637
  return typing.cast(builtins.str, result)
1203
1638
 
1639
+ @builtins.property
1640
+ def athena_properties(self) -> typing.Any:
1641
+ '''Connection properties specific to the Athena compute environment.
1642
+
1643
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-connection-connectioninput.html#cfn-glue-connection-connectioninput-athenaproperties
1644
+ '''
1645
+ result = self._values.get("athena_properties")
1646
+ return typing.cast(typing.Any, result)
1647
+
1648
+ @builtins.property
1649
+ def authentication_configuration(
1650
+ self,
1651
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnConnection.AuthenticationConfigurationInputProperty"]]:
1652
+ '''The authentication properties of the connection.
1653
+
1654
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-connection-connectioninput.html#cfn-glue-connection-connectioninput-authenticationconfiguration
1655
+ '''
1656
+ result = self._values.get("authentication_configuration")
1657
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnConnection.AuthenticationConfigurationInputProperty"]], result)
1658
+
1204
1659
  @builtins.property
1205
1660
  def connection_properties(self) -> typing.Any:
1206
1661
  '''These key-value pairs define parameters for the connection.
@@ -1248,6 +1703,48 @@ class CfnConnection(
1248
1703
  result = self._values.get("physical_connection_requirements")
1249
1704
  return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnConnection.PhysicalConnectionRequirementsProperty"]], result)
1250
1705
 
1706
+ @builtins.property
1707
+ def python_properties(self) -> typing.Any:
1708
+ '''Connection properties specific to the Python compute environment.
1709
+
1710
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-connection-connectioninput.html#cfn-glue-connection-connectioninput-pythonproperties
1711
+ '''
1712
+ result = self._values.get("python_properties")
1713
+ return typing.cast(typing.Any, result)
1714
+
1715
+ @builtins.property
1716
+ def spark_properties(self) -> typing.Any:
1717
+ '''Connection properties specific to the Spark compute environment.
1718
+
1719
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-connection-connectioninput.html#cfn-glue-connection-connectioninput-sparkproperties
1720
+ '''
1721
+ result = self._values.get("spark_properties")
1722
+ return typing.cast(typing.Any, result)
1723
+
1724
+ @builtins.property
1725
+ def validate_credentials(
1726
+ self,
1727
+ ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
1728
+ '''A flag to validate the credentials during create connection.
1729
+
1730
+ Default is true.
1731
+
1732
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-connection-connectioninput.html#cfn-glue-connection-connectioninput-validatecredentials
1733
+ '''
1734
+ result = self._values.get("validate_credentials")
1735
+ return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], result)
1736
+
1737
+ @builtins.property
1738
+ def validate_for_compute_environments(
1739
+ self,
1740
+ ) -> typing.Optional[typing.List[builtins.str]]:
1741
+ '''The compute environments that the specified connection properties are validated against.
1742
+
1743
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-connection-connectioninput.html#cfn-glue-connection-connectioninput-validateforcomputeenvironments
1744
+ '''
1745
+ result = self._values.get("validate_for_compute_environments")
1746
+ return typing.cast(typing.Optional[typing.List[builtins.str]], result)
1747
+
1251
1748
  def __eq__(self, rhs: typing.Any) -> builtins.bool:
1252
1749
  return isinstance(rhs, self.__class__) and rhs._values == self._values
1253
1750
 
@@ -1259,6 +1756,350 @@ class CfnConnection(
1259
1756
  k + "=" + repr(v) for k, v in self._values.items()
1260
1757
  )
1261
1758
 
1759
+ @jsii.data_type(
1760
+ jsii_type="aws-cdk-lib.aws_glue.CfnConnection.OAuth2ClientApplicationProperty",
1761
+ jsii_struct_bases=[],
1762
+ name_mapping={
1763
+ "aws_managed_client_application_reference": "awsManagedClientApplicationReference",
1764
+ "user_managed_client_application_client_id": "userManagedClientApplicationClientId",
1765
+ },
1766
+ )
1767
+ class OAuth2ClientApplicationProperty:
1768
+ def __init__(
1769
+ self,
1770
+ *,
1771
+ aws_managed_client_application_reference: typing.Optional[builtins.str] = None,
1772
+ user_managed_client_application_client_id: typing.Optional[builtins.str] = None,
1773
+ ) -> None:
1774
+ '''The OAuth2 client app used for the connection.
1775
+
1776
+ :param aws_managed_client_application_reference: The reference to the SaaS-side client app that is AWS managed.
1777
+ :param user_managed_client_application_client_id: The client application clientID if the ClientAppType is ``USER_MANAGED`` .
1778
+
1779
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-connection-oauth2clientapplication.html
1780
+ :exampleMetadata: fixture=_generated
1781
+
1782
+ Example::
1783
+
1784
+ # The code below shows an example of how to instantiate this type.
1785
+ # The values are placeholders you should change.
1786
+ from aws_cdk import aws_glue as glue
1787
+
1788
+ o_auth2_client_application_property = glue.CfnConnection.OAuth2ClientApplicationProperty(
1789
+ aws_managed_client_application_reference="awsManagedClientApplicationReference",
1790
+ user_managed_client_application_client_id="userManagedClientApplicationClientId"
1791
+ )
1792
+ '''
1793
+ if __debug__:
1794
+ type_hints = typing.get_type_hints(_typecheckingstub__7710d681c033dc4ac19273f4b949aa5a4d9647bfe83197e09b44b15b7574a0b6)
1795
+ check_type(argname="argument aws_managed_client_application_reference", value=aws_managed_client_application_reference, expected_type=type_hints["aws_managed_client_application_reference"])
1796
+ check_type(argname="argument user_managed_client_application_client_id", value=user_managed_client_application_client_id, expected_type=type_hints["user_managed_client_application_client_id"])
1797
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
1798
+ if aws_managed_client_application_reference is not None:
1799
+ self._values["aws_managed_client_application_reference"] = aws_managed_client_application_reference
1800
+ if user_managed_client_application_client_id is not None:
1801
+ self._values["user_managed_client_application_client_id"] = user_managed_client_application_client_id
1802
+
1803
+ @builtins.property
1804
+ def aws_managed_client_application_reference(
1805
+ self,
1806
+ ) -> typing.Optional[builtins.str]:
1807
+ '''The reference to the SaaS-side client app that is AWS managed.
1808
+
1809
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-connection-oauth2clientapplication.html#cfn-glue-connection-oauth2clientapplication-awsmanagedclientapplicationreference
1810
+ '''
1811
+ result = self._values.get("aws_managed_client_application_reference")
1812
+ return typing.cast(typing.Optional[builtins.str], result)
1813
+
1814
+ @builtins.property
1815
+ def user_managed_client_application_client_id(
1816
+ self,
1817
+ ) -> typing.Optional[builtins.str]:
1818
+ '''The client application clientID if the ClientAppType is ``USER_MANAGED`` .
1819
+
1820
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-connection-oauth2clientapplication.html#cfn-glue-connection-oauth2clientapplication-usermanagedclientapplicationclientid
1821
+ '''
1822
+ result = self._values.get("user_managed_client_application_client_id")
1823
+ return typing.cast(typing.Optional[builtins.str], result)
1824
+
1825
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
1826
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
1827
+
1828
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
1829
+ return not (rhs == self)
1830
+
1831
+ def __repr__(self) -> str:
1832
+ return "OAuth2ClientApplicationProperty(%s)" % ", ".join(
1833
+ k + "=" + repr(v) for k, v in self._values.items()
1834
+ )
1835
+
1836
+ @jsii.data_type(
1837
+ jsii_type="aws-cdk-lib.aws_glue.CfnConnection.OAuth2CredentialsProperty",
1838
+ jsii_struct_bases=[],
1839
+ name_mapping={
1840
+ "access_token": "accessToken",
1841
+ "jwt_token": "jwtToken",
1842
+ "refresh_token": "refreshToken",
1843
+ "user_managed_client_application_client_secret": "userManagedClientApplicationClientSecret",
1844
+ },
1845
+ )
1846
+ class OAuth2CredentialsProperty:
1847
+ def __init__(
1848
+ self,
1849
+ *,
1850
+ access_token: typing.Optional[builtins.str] = None,
1851
+ jwt_token: typing.Optional[builtins.str] = None,
1852
+ refresh_token: typing.Optional[builtins.str] = None,
1853
+ user_managed_client_application_client_secret: typing.Optional[builtins.str] = None,
1854
+ ) -> None:
1855
+ '''The credentials used when the authentication type is OAuth2 authentication.
1856
+
1857
+ :param access_token: The access token used when the authentication type is OAuth2.
1858
+ :param jwt_token: The JSON Web Token (JWT) used when the authentication type is OAuth2.
1859
+ :param refresh_token: The refresh token used when the authentication type is OAuth2.
1860
+ :param user_managed_client_application_client_secret: The client application client secret if the client application is user managed.
1861
+
1862
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-connection-oauth2credentials.html
1863
+ :exampleMetadata: fixture=_generated
1864
+
1865
+ Example::
1866
+
1867
+ # The code below shows an example of how to instantiate this type.
1868
+ # The values are placeholders you should change.
1869
+ from aws_cdk import aws_glue as glue
1870
+
1871
+ o_auth2_credentials_property = glue.CfnConnection.OAuth2CredentialsProperty(
1872
+ access_token="accessToken",
1873
+ jwt_token="jwtToken",
1874
+ refresh_token="refreshToken",
1875
+ user_managed_client_application_client_secret="userManagedClientApplicationClientSecret"
1876
+ )
1877
+ '''
1878
+ if __debug__:
1879
+ type_hints = typing.get_type_hints(_typecheckingstub__27d74da4415cfbdcf1458df4ebe97a92e25c33263bb49403d3e480a00b8dca55)
1880
+ check_type(argname="argument access_token", value=access_token, expected_type=type_hints["access_token"])
1881
+ check_type(argname="argument jwt_token", value=jwt_token, expected_type=type_hints["jwt_token"])
1882
+ check_type(argname="argument refresh_token", value=refresh_token, expected_type=type_hints["refresh_token"])
1883
+ check_type(argname="argument user_managed_client_application_client_secret", value=user_managed_client_application_client_secret, expected_type=type_hints["user_managed_client_application_client_secret"])
1884
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
1885
+ if access_token is not None:
1886
+ self._values["access_token"] = access_token
1887
+ if jwt_token is not None:
1888
+ self._values["jwt_token"] = jwt_token
1889
+ if refresh_token is not None:
1890
+ self._values["refresh_token"] = refresh_token
1891
+ if user_managed_client_application_client_secret is not None:
1892
+ self._values["user_managed_client_application_client_secret"] = user_managed_client_application_client_secret
1893
+
1894
+ @builtins.property
1895
+ def access_token(self) -> typing.Optional[builtins.str]:
1896
+ '''The access token used when the authentication type is OAuth2.
1897
+
1898
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-connection-oauth2credentials.html#cfn-glue-connection-oauth2credentials-accesstoken
1899
+ '''
1900
+ result = self._values.get("access_token")
1901
+ return typing.cast(typing.Optional[builtins.str], result)
1902
+
1903
+ @builtins.property
1904
+ def jwt_token(self) -> typing.Optional[builtins.str]:
1905
+ '''The JSON Web Token (JWT) used when the authentication type is OAuth2.
1906
+
1907
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-connection-oauth2credentials.html#cfn-glue-connection-oauth2credentials-jwttoken
1908
+ '''
1909
+ result = self._values.get("jwt_token")
1910
+ return typing.cast(typing.Optional[builtins.str], result)
1911
+
1912
+ @builtins.property
1913
+ def refresh_token(self) -> typing.Optional[builtins.str]:
1914
+ '''The refresh token used when the authentication type is OAuth2.
1915
+
1916
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-connection-oauth2credentials.html#cfn-glue-connection-oauth2credentials-refreshtoken
1917
+ '''
1918
+ result = self._values.get("refresh_token")
1919
+ return typing.cast(typing.Optional[builtins.str], result)
1920
+
1921
+ @builtins.property
1922
+ def user_managed_client_application_client_secret(
1923
+ self,
1924
+ ) -> typing.Optional[builtins.str]:
1925
+ '''The client application client secret if the client application is user managed.
1926
+
1927
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-connection-oauth2credentials.html#cfn-glue-connection-oauth2credentials-usermanagedclientapplicationclientsecret
1928
+ '''
1929
+ result = self._values.get("user_managed_client_application_client_secret")
1930
+ return typing.cast(typing.Optional[builtins.str], result)
1931
+
1932
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
1933
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
1934
+
1935
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
1936
+ return not (rhs == self)
1937
+
1938
+ def __repr__(self) -> str:
1939
+ return "OAuth2CredentialsProperty(%s)" % ", ".join(
1940
+ k + "=" + repr(v) for k, v in self._values.items()
1941
+ )
1942
+
1943
+ @jsii.data_type(
1944
+ jsii_type="aws-cdk-lib.aws_glue.CfnConnection.OAuth2PropertiesInputProperty",
1945
+ jsii_struct_bases=[],
1946
+ name_mapping={
1947
+ "authorization_code_properties": "authorizationCodeProperties",
1948
+ "o_auth2_client_application": "oAuth2ClientApplication",
1949
+ "o_auth2_credentials": "oAuth2Credentials",
1950
+ "o_auth2_grant_type": "oAuth2GrantType",
1951
+ "token_url": "tokenUrl",
1952
+ "token_url_parameters_map": "tokenUrlParametersMap",
1953
+ },
1954
+ )
1955
+ class OAuth2PropertiesInputProperty:
1956
+ def __init__(
1957
+ self,
1958
+ *,
1959
+ authorization_code_properties: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnConnection.AuthorizationCodePropertiesProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
1960
+ o_auth2_client_application: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnConnection.OAuth2ClientApplicationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
1961
+ o_auth2_credentials: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnConnection.OAuth2CredentialsProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
1962
+ o_auth2_grant_type: typing.Optional[builtins.str] = None,
1963
+ token_url: typing.Optional[builtins.str] = None,
1964
+ token_url_parameters_map: typing.Any = None,
1965
+ ) -> None:
1966
+ '''A structure containing properties for OAuth2 in the CreateConnection request.
1967
+
1968
+ :param authorization_code_properties: The set of properties required for the the OAuth2 ``AUTHORIZATION_CODE`` grant type.
1969
+ :param o_auth2_client_application: The client application type in the CreateConnection request. For example, ``AWS_MANAGED`` or ``USER_MANAGED`` .
1970
+ :param o_auth2_credentials: The credentials used when the authentication type is OAuth2 authentication.
1971
+ :param o_auth2_grant_type: The OAuth2 grant type in the CreateConnection request. For example, ``AUTHORIZATION_CODE`` , ``JWT_BEARER`` , or ``CLIENT_CREDENTIALS`` .
1972
+ :param token_url: The URL of the provider's authentication server, to exchange an authorization code for an access token.
1973
+ :param token_url_parameters_map: A map of parameters that are added to the token ``GET`` request.
1974
+
1975
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-connection-oauth2propertiesinput.html
1976
+ :exampleMetadata: fixture=_generated
1977
+
1978
+ Example::
1979
+
1980
+ # The code below shows an example of how to instantiate this type.
1981
+ # The values are placeholders you should change.
1982
+ from aws_cdk import aws_glue as glue
1983
+
1984
+ # token_url_parameters_map: Any
1985
+
1986
+ o_auth2_properties_input_property = glue.CfnConnection.OAuth2PropertiesInputProperty(
1987
+ authorization_code_properties=glue.CfnConnection.AuthorizationCodePropertiesProperty(
1988
+ authorization_code="authorizationCode",
1989
+ redirect_uri="redirectUri"
1990
+ ),
1991
+ o_auth2_client_application=glue.CfnConnection.OAuth2ClientApplicationProperty(
1992
+ aws_managed_client_application_reference="awsManagedClientApplicationReference",
1993
+ user_managed_client_application_client_id="userManagedClientApplicationClientId"
1994
+ ),
1995
+ o_auth2_credentials=glue.CfnConnection.OAuth2CredentialsProperty(
1996
+ access_token="accessToken",
1997
+ jwt_token="jwtToken",
1998
+ refresh_token="refreshToken",
1999
+ user_managed_client_application_client_secret="userManagedClientApplicationClientSecret"
2000
+ ),
2001
+ o_auth2_grant_type="oAuth2GrantType",
2002
+ token_url="tokenUrl",
2003
+ token_url_parameters_map=token_url_parameters_map
2004
+ )
2005
+ '''
2006
+ if __debug__:
2007
+ type_hints = typing.get_type_hints(_typecheckingstub__94979c176950c7ae992821ea167fc3dfb50ef9be3db200e17a9825d57abfc866)
2008
+ check_type(argname="argument authorization_code_properties", value=authorization_code_properties, expected_type=type_hints["authorization_code_properties"])
2009
+ check_type(argname="argument o_auth2_client_application", value=o_auth2_client_application, expected_type=type_hints["o_auth2_client_application"])
2010
+ check_type(argname="argument o_auth2_credentials", value=o_auth2_credentials, expected_type=type_hints["o_auth2_credentials"])
2011
+ check_type(argname="argument o_auth2_grant_type", value=o_auth2_grant_type, expected_type=type_hints["o_auth2_grant_type"])
2012
+ check_type(argname="argument token_url", value=token_url, expected_type=type_hints["token_url"])
2013
+ check_type(argname="argument token_url_parameters_map", value=token_url_parameters_map, expected_type=type_hints["token_url_parameters_map"])
2014
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
2015
+ if authorization_code_properties is not None:
2016
+ self._values["authorization_code_properties"] = authorization_code_properties
2017
+ if o_auth2_client_application is not None:
2018
+ self._values["o_auth2_client_application"] = o_auth2_client_application
2019
+ if o_auth2_credentials is not None:
2020
+ self._values["o_auth2_credentials"] = o_auth2_credentials
2021
+ if o_auth2_grant_type is not None:
2022
+ self._values["o_auth2_grant_type"] = o_auth2_grant_type
2023
+ if token_url is not None:
2024
+ self._values["token_url"] = token_url
2025
+ if token_url_parameters_map is not None:
2026
+ self._values["token_url_parameters_map"] = token_url_parameters_map
2027
+
2028
+ @builtins.property
2029
+ def authorization_code_properties(
2030
+ self,
2031
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnConnection.AuthorizationCodePropertiesProperty"]]:
2032
+ '''The set of properties required for the the OAuth2 ``AUTHORIZATION_CODE`` grant type.
2033
+
2034
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-connection-oauth2propertiesinput.html#cfn-glue-connection-oauth2propertiesinput-authorizationcodeproperties
2035
+ '''
2036
+ result = self._values.get("authorization_code_properties")
2037
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnConnection.AuthorizationCodePropertiesProperty"]], result)
2038
+
2039
+ @builtins.property
2040
+ def o_auth2_client_application(
2041
+ self,
2042
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnConnection.OAuth2ClientApplicationProperty"]]:
2043
+ '''The client application type in the CreateConnection request.
2044
+
2045
+ For example, ``AWS_MANAGED`` or ``USER_MANAGED`` .
2046
+
2047
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-connection-oauth2propertiesinput.html#cfn-glue-connection-oauth2propertiesinput-oauth2clientapplication
2048
+ '''
2049
+ result = self._values.get("o_auth2_client_application")
2050
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnConnection.OAuth2ClientApplicationProperty"]], result)
2051
+
2052
+ @builtins.property
2053
+ def o_auth2_credentials(
2054
+ self,
2055
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnConnection.OAuth2CredentialsProperty"]]:
2056
+ '''The credentials used when the authentication type is OAuth2 authentication.
2057
+
2058
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-connection-oauth2propertiesinput.html#cfn-glue-connection-oauth2propertiesinput-oauth2credentials
2059
+ '''
2060
+ result = self._values.get("o_auth2_credentials")
2061
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnConnection.OAuth2CredentialsProperty"]], result)
2062
+
2063
+ @builtins.property
2064
+ def o_auth2_grant_type(self) -> typing.Optional[builtins.str]:
2065
+ '''The OAuth2 grant type in the CreateConnection request.
2066
+
2067
+ For example, ``AUTHORIZATION_CODE`` , ``JWT_BEARER`` , or ``CLIENT_CREDENTIALS`` .
2068
+
2069
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-connection-oauth2propertiesinput.html#cfn-glue-connection-oauth2propertiesinput-oauth2granttype
2070
+ '''
2071
+ result = self._values.get("o_auth2_grant_type")
2072
+ return typing.cast(typing.Optional[builtins.str], result)
2073
+
2074
+ @builtins.property
2075
+ def token_url(self) -> typing.Optional[builtins.str]:
2076
+ '''The URL of the provider's authentication server, to exchange an authorization code for an access token.
2077
+
2078
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-connection-oauth2propertiesinput.html#cfn-glue-connection-oauth2propertiesinput-tokenurl
2079
+ '''
2080
+ result = self._values.get("token_url")
2081
+ return typing.cast(typing.Optional[builtins.str], result)
2082
+
2083
+ @builtins.property
2084
+ def token_url_parameters_map(self) -> typing.Any:
2085
+ '''A map of parameters that are added to the token ``GET`` request.
2086
+
2087
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-connection-oauth2propertiesinput.html#cfn-glue-connection-oauth2propertiesinput-tokenurlparametersmap
2088
+ '''
2089
+ result = self._values.get("token_url_parameters_map")
2090
+ return typing.cast(typing.Any, result)
2091
+
2092
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
2093
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
2094
+
2095
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
2096
+ return not (rhs == self)
2097
+
2098
+ def __repr__(self) -> str:
2099
+ return "OAuth2PropertiesInputProperty(%s)" % ", ".join(
2100
+ k + "=" + repr(v) for k, v in self._values.items()
2101
+ )
2102
+
1262
2103
  @jsii.data_type(
1263
2104
  jsii_type="aws-cdk-lib.aws_glue.CfnConnection.PhysicalConnectionRequirementsProperty",
1264
2105
  jsii_struct_bases=[],
@@ -1375,7 +2216,12 @@ class CfnConnectionProps:
1375
2216
  # The values are placeholders you should change.
1376
2217
  from aws_cdk import aws_glue as glue
1377
2218
 
2219
+ # athena_properties: Any
1378
2220
  # connection_properties: Any
2221
+ # custom_authentication_credentials: Any
2222
+ # python_properties: Any
2223
+ # spark_properties: Any
2224
+ # token_url_parameters_map: Any
1379
2225
 
1380
2226
  cfn_connection_props = glue.CfnConnectionProps(
1381
2227
  catalog_id="catalogId",
@@ -1383,6 +2229,38 @@ class CfnConnectionProps:
1383
2229
  connection_type="connectionType",
1384
2230
 
1385
2231
  # the properties below are optional
2232
+ athena_properties=athena_properties,
2233
+ authentication_configuration=glue.CfnConnection.AuthenticationConfigurationInputProperty(
2234
+ authentication_type="authenticationType",
2235
+
2236
+ # the properties below are optional
2237
+ basic_authentication_credentials=glue.CfnConnection.BasicAuthenticationCredentialsProperty(
2238
+ password="password",
2239
+ username="username"
2240
+ ),
2241
+ custom_authentication_credentials=custom_authentication_credentials,
2242
+ kms_key_arn="kmsKeyArn",
2243
+ o_auth2_properties=glue.CfnConnection.OAuth2PropertiesInputProperty(
2244
+ authorization_code_properties=glue.CfnConnection.AuthorizationCodePropertiesProperty(
2245
+ authorization_code="authorizationCode",
2246
+ redirect_uri="redirectUri"
2247
+ ),
2248
+ o_auth2_client_application=glue.CfnConnection.OAuth2ClientApplicationProperty(
2249
+ aws_managed_client_application_reference="awsManagedClientApplicationReference",
2250
+ user_managed_client_application_client_id="userManagedClientApplicationClientId"
2251
+ ),
2252
+ o_auth2_credentials=glue.CfnConnection.OAuth2CredentialsProperty(
2253
+ access_token="accessToken",
2254
+ jwt_token="jwtToken",
2255
+ refresh_token="refreshToken",
2256
+ user_managed_client_application_client_secret="userManagedClientApplicationClientSecret"
2257
+ ),
2258
+ o_auth2_grant_type="oAuth2GrantType",
2259
+ token_url="tokenUrl",
2260
+ token_url_parameters_map=token_url_parameters_map
2261
+ ),
2262
+ secret_arn="secretArn"
2263
+ ),
1386
2264
  connection_properties=connection_properties,
1387
2265
  description="description",
1388
2266
  match_criteria=["matchCriteria"],
@@ -1391,7 +2269,11 @@ class CfnConnectionProps:
1391
2269
  availability_zone="availabilityZone",
1392
2270
  security_group_id_list=["securityGroupIdList"],
1393
2271
  subnet_id="subnetId"
1394
- )
2272
+ ),
2273
+ python_properties=python_properties,
2274
+ spark_properties=spark_properties,
2275
+ validate_credentials=False,
2276
+ validate_for_compute_environments=["validateForComputeEnvironments"]
1395
2277
  )
1396
2278
  )
1397
2279
  '''
@@ -13428,7 +14310,24 @@ class CfnTableOptimizer(
13428
14310
  table_name="tableName",
13429
14311
  table_optimizer_configuration=glue.CfnTableOptimizer.TableOptimizerConfigurationProperty(
13430
14312
  enabled=False,
13431
- role_arn="roleArn"
14313
+ role_arn="roleArn",
14314
+
14315
+ # the properties below are optional
14316
+ orphan_file_deletion_configuration=glue.CfnTableOptimizer.OrphanFileDeletionConfigurationProperty(
14317
+ iceberg_configuration=glue.CfnTableOptimizer.IcebergConfigurationProperty(
14318
+ location="location",
14319
+ orphan_file_retention_period_in_days=123
14320
+ )
14321
+ ),
14322
+ retention_configuration=glue.CfnTableOptimizer.RetentionConfigurationProperty(
14323
+ iceberg_configuration=glue.CfnTableOptimizer.IcebergConfigurationProperty(
14324
+ location="location",
14325
+ orphan_file_retention_period_in_days=123
14326
+ )
14327
+ ),
14328
+ vpc_configuration=glue.CfnTableOptimizer.VpcConfigurationProperty(
14329
+ glue_connection_name="glueConnectionName"
14330
+ )
13432
14331
  ),
13433
14332
  type="type"
13434
14333
  )
@@ -13581,10 +14480,202 @@ class CfnTableOptimizer(
13581
14480
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
13582
14481
  jsii.set(self, "type", value) # pyright: ignore[reportArgumentType]
13583
14482
 
14483
+ @jsii.data_type(
14484
+ jsii_type="aws-cdk-lib.aws_glue.CfnTableOptimizer.IcebergConfigurationProperty",
14485
+ jsii_struct_bases=[],
14486
+ name_mapping={
14487
+ "location": "location",
14488
+ "orphan_file_retention_period_in_days": "orphanFileRetentionPeriodInDays",
14489
+ },
14490
+ )
14491
+ class IcebergConfigurationProperty:
14492
+ def __init__(
14493
+ self,
14494
+ *,
14495
+ location: typing.Optional[builtins.str] = None,
14496
+ orphan_file_retention_period_in_days: typing.Optional[jsii.Number] = None,
14497
+ ) -> None:
14498
+ '''
14499
+ :param location:
14500
+ :param orphan_file_retention_period_in_days:
14501
+
14502
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-tableoptimizer-icebergconfiguration.html
14503
+ :exampleMetadata: fixture=_generated
14504
+
14505
+ Example::
14506
+
14507
+ # The code below shows an example of how to instantiate this type.
14508
+ # The values are placeholders you should change.
14509
+ from aws_cdk import aws_glue as glue
14510
+
14511
+ iceberg_configuration_property = glue.CfnTableOptimizer.IcebergConfigurationProperty(
14512
+ location="location",
14513
+ orphan_file_retention_period_in_days=123
14514
+ )
14515
+ '''
14516
+ if __debug__:
14517
+ type_hints = typing.get_type_hints(_typecheckingstub__5e7a911f626ca723b7f0b1c35deb71291cb06af5a64d75f3dcb432988ef4bf42)
14518
+ check_type(argname="argument location", value=location, expected_type=type_hints["location"])
14519
+ check_type(argname="argument orphan_file_retention_period_in_days", value=orphan_file_retention_period_in_days, expected_type=type_hints["orphan_file_retention_period_in_days"])
14520
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
14521
+ if location is not None:
14522
+ self._values["location"] = location
14523
+ if orphan_file_retention_period_in_days is not None:
14524
+ self._values["orphan_file_retention_period_in_days"] = orphan_file_retention_period_in_days
14525
+
14526
+ @builtins.property
14527
+ def location(self) -> typing.Optional[builtins.str]:
14528
+ '''
14529
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-tableoptimizer-icebergconfiguration.html#cfn-glue-tableoptimizer-icebergconfiguration-location
14530
+ '''
14531
+ result = self._values.get("location")
14532
+ return typing.cast(typing.Optional[builtins.str], result)
14533
+
14534
+ @builtins.property
14535
+ def orphan_file_retention_period_in_days(self) -> typing.Optional[jsii.Number]:
14536
+ '''
14537
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-tableoptimizer-icebergconfiguration.html#cfn-glue-tableoptimizer-icebergconfiguration-orphanfileretentionperiodindays
14538
+ '''
14539
+ result = self._values.get("orphan_file_retention_period_in_days")
14540
+ return typing.cast(typing.Optional[jsii.Number], result)
14541
+
14542
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
14543
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
14544
+
14545
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
14546
+ return not (rhs == self)
14547
+
14548
+ def __repr__(self) -> str:
14549
+ return "IcebergConfigurationProperty(%s)" % ", ".join(
14550
+ k + "=" + repr(v) for k, v in self._values.items()
14551
+ )
14552
+
14553
+ @jsii.data_type(
14554
+ jsii_type="aws-cdk-lib.aws_glue.CfnTableOptimizer.OrphanFileDeletionConfigurationProperty",
14555
+ jsii_struct_bases=[],
14556
+ name_mapping={"iceberg_configuration": "icebergConfiguration"},
14557
+ )
14558
+ class OrphanFileDeletionConfigurationProperty:
14559
+ def __init__(
14560
+ self,
14561
+ *,
14562
+ iceberg_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnTableOptimizer.IcebergConfigurationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
14563
+ ) -> None:
14564
+ '''
14565
+ :param iceberg_configuration:
14566
+
14567
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-tableoptimizer-orphanfiledeletionconfiguration.html
14568
+ :exampleMetadata: fixture=_generated
14569
+
14570
+ Example::
14571
+
14572
+ # The code below shows an example of how to instantiate this type.
14573
+ # The values are placeholders you should change.
14574
+ from aws_cdk import aws_glue as glue
14575
+
14576
+ orphan_file_deletion_configuration_property = glue.CfnTableOptimizer.OrphanFileDeletionConfigurationProperty(
14577
+ iceberg_configuration=glue.CfnTableOptimizer.IcebergConfigurationProperty(
14578
+ location="location",
14579
+ orphan_file_retention_period_in_days=123
14580
+ )
14581
+ )
14582
+ '''
14583
+ if __debug__:
14584
+ type_hints = typing.get_type_hints(_typecheckingstub__fd6b7e3a46937a5c19f35e6c499494a7bff00c3eb67dd21cf60217c60a49b95b)
14585
+ check_type(argname="argument iceberg_configuration", value=iceberg_configuration, expected_type=type_hints["iceberg_configuration"])
14586
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
14587
+ if iceberg_configuration is not None:
14588
+ self._values["iceberg_configuration"] = iceberg_configuration
14589
+
14590
+ @builtins.property
14591
+ def iceberg_configuration(
14592
+ self,
14593
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnTableOptimizer.IcebergConfigurationProperty"]]:
14594
+ '''
14595
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-tableoptimizer-orphanfiledeletionconfiguration.html#cfn-glue-tableoptimizer-orphanfiledeletionconfiguration-icebergconfiguration
14596
+ '''
14597
+ result = self._values.get("iceberg_configuration")
14598
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnTableOptimizer.IcebergConfigurationProperty"]], result)
14599
+
14600
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
14601
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
14602
+
14603
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
14604
+ return not (rhs == self)
14605
+
14606
+ def __repr__(self) -> str:
14607
+ return "OrphanFileDeletionConfigurationProperty(%s)" % ", ".join(
14608
+ k + "=" + repr(v) for k, v in self._values.items()
14609
+ )
14610
+
14611
+ @jsii.data_type(
14612
+ jsii_type="aws-cdk-lib.aws_glue.CfnTableOptimizer.RetentionConfigurationProperty",
14613
+ jsii_struct_bases=[],
14614
+ name_mapping={"iceberg_configuration": "icebergConfiguration"},
14615
+ )
14616
+ class RetentionConfigurationProperty:
14617
+ def __init__(
14618
+ self,
14619
+ *,
14620
+ iceberg_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnTableOptimizer.IcebergConfigurationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
14621
+ ) -> None:
14622
+ '''
14623
+ :param iceberg_configuration:
14624
+
14625
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-tableoptimizer-retentionconfiguration.html
14626
+ :exampleMetadata: fixture=_generated
14627
+
14628
+ Example::
14629
+
14630
+ # The code below shows an example of how to instantiate this type.
14631
+ # The values are placeholders you should change.
14632
+ from aws_cdk import aws_glue as glue
14633
+
14634
+ retention_configuration_property = glue.CfnTableOptimizer.RetentionConfigurationProperty(
14635
+ iceberg_configuration=glue.CfnTableOptimizer.IcebergConfigurationProperty(
14636
+ location="location",
14637
+ orphan_file_retention_period_in_days=123
14638
+ )
14639
+ )
14640
+ '''
14641
+ if __debug__:
14642
+ type_hints = typing.get_type_hints(_typecheckingstub__c5ba28f1de672bfecf327282ce4e55b72b9a4850e73f7c390aa55e0c015e2ce8)
14643
+ check_type(argname="argument iceberg_configuration", value=iceberg_configuration, expected_type=type_hints["iceberg_configuration"])
14644
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
14645
+ if iceberg_configuration is not None:
14646
+ self._values["iceberg_configuration"] = iceberg_configuration
14647
+
14648
+ @builtins.property
14649
+ def iceberg_configuration(
14650
+ self,
14651
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnTableOptimizer.IcebergConfigurationProperty"]]:
14652
+ '''
14653
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-tableoptimizer-retentionconfiguration.html#cfn-glue-tableoptimizer-retentionconfiguration-icebergconfiguration
14654
+ '''
14655
+ result = self._values.get("iceberg_configuration")
14656
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnTableOptimizer.IcebergConfigurationProperty"]], result)
14657
+
14658
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
14659
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
14660
+
14661
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
14662
+ return not (rhs == self)
14663
+
14664
+ def __repr__(self) -> str:
14665
+ return "RetentionConfigurationProperty(%s)" % ", ".join(
14666
+ k + "=" + repr(v) for k, v in self._values.items()
14667
+ )
14668
+
13584
14669
  @jsii.data_type(
13585
14670
  jsii_type="aws-cdk-lib.aws_glue.CfnTableOptimizer.TableOptimizerConfigurationProperty",
13586
14671
  jsii_struct_bases=[],
13587
- name_mapping={"enabled": "enabled", "role_arn": "roleArn"},
14672
+ name_mapping={
14673
+ "enabled": "enabled",
14674
+ "role_arn": "roleArn",
14675
+ "orphan_file_deletion_configuration": "orphanFileDeletionConfiguration",
14676
+ "retention_configuration": "retentionConfiguration",
14677
+ "vpc_configuration": "vpcConfiguration",
14678
+ },
13588
14679
  )
13589
14680
  class TableOptimizerConfigurationProperty:
13590
14681
  def __init__(
@@ -13592,11 +14683,17 @@ class CfnTableOptimizer(
13592
14683
  *,
13593
14684
  enabled: typing.Union[builtins.bool, _IResolvable_da3f097b],
13594
14685
  role_arn: builtins.str,
14686
+ orphan_file_deletion_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnTableOptimizer.OrphanFileDeletionConfigurationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
14687
+ retention_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnTableOptimizer.RetentionConfigurationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
14688
+ vpc_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnTableOptimizer.VpcConfigurationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
13595
14689
  ) -> None:
13596
14690
  '''Specifies configuration details of a table optimizer.
13597
14691
 
13598
14692
  :param enabled: Whether the table optimization is enabled.
13599
14693
  :param role_arn: A role passed by the caller which gives the service permission to update the resources associated with the optimizer on the caller's behalf.
14694
+ :param orphan_file_deletion_configuration:
14695
+ :param retention_configuration:
14696
+ :param vpc_configuration:
13600
14697
 
13601
14698
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-tableoptimizer-tableoptimizerconfiguration.html
13602
14699
  :exampleMetadata: fixture=_generated
@@ -13609,17 +14706,43 @@ class CfnTableOptimizer(
13609
14706
 
13610
14707
  table_optimizer_configuration_property = glue.CfnTableOptimizer.TableOptimizerConfigurationProperty(
13611
14708
  enabled=False,
13612
- role_arn="roleArn"
14709
+ role_arn="roleArn",
14710
+
14711
+ # the properties below are optional
14712
+ orphan_file_deletion_configuration=glue.CfnTableOptimizer.OrphanFileDeletionConfigurationProperty(
14713
+ iceberg_configuration=glue.CfnTableOptimizer.IcebergConfigurationProperty(
14714
+ location="location",
14715
+ orphan_file_retention_period_in_days=123
14716
+ )
14717
+ ),
14718
+ retention_configuration=glue.CfnTableOptimizer.RetentionConfigurationProperty(
14719
+ iceberg_configuration=glue.CfnTableOptimizer.IcebergConfigurationProperty(
14720
+ location="location",
14721
+ orphan_file_retention_period_in_days=123
14722
+ )
14723
+ ),
14724
+ vpc_configuration=glue.CfnTableOptimizer.VpcConfigurationProperty(
14725
+ glue_connection_name="glueConnectionName"
14726
+ )
13613
14727
  )
13614
14728
  '''
13615
14729
  if __debug__:
13616
14730
  type_hints = typing.get_type_hints(_typecheckingstub__666694d6c0728808477673b52278e31d95b87b4226552b0f2f91addb33aeed3e)
13617
14731
  check_type(argname="argument enabled", value=enabled, expected_type=type_hints["enabled"])
13618
14732
  check_type(argname="argument role_arn", value=role_arn, expected_type=type_hints["role_arn"])
14733
+ check_type(argname="argument orphan_file_deletion_configuration", value=orphan_file_deletion_configuration, expected_type=type_hints["orphan_file_deletion_configuration"])
14734
+ check_type(argname="argument retention_configuration", value=retention_configuration, expected_type=type_hints["retention_configuration"])
14735
+ check_type(argname="argument vpc_configuration", value=vpc_configuration, expected_type=type_hints["vpc_configuration"])
13619
14736
  self._values: typing.Dict[builtins.str, typing.Any] = {
13620
14737
  "enabled": enabled,
13621
14738
  "role_arn": role_arn,
13622
14739
  }
14740
+ if orphan_file_deletion_configuration is not None:
14741
+ self._values["orphan_file_deletion_configuration"] = orphan_file_deletion_configuration
14742
+ if retention_configuration is not None:
14743
+ self._values["retention_configuration"] = retention_configuration
14744
+ if vpc_configuration is not None:
14745
+ self._values["vpc_configuration"] = vpc_configuration
13623
14746
 
13624
14747
  @builtins.property
13625
14748
  def enabled(self) -> typing.Union[builtins.bool, _IResolvable_da3f097b]:
@@ -13641,6 +14764,36 @@ class CfnTableOptimizer(
13641
14764
  assert result is not None, "Required property 'role_arn' is missing"
13642
14765
  return typing.cast(builtins.str, result)
13643
14766
 
14767
+ @builtins.property
14768
+ def orphan_file_deletion_configuration(
14769
+ self,
14770
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnTableOptimizer.OrphanFileDeletionConfigurationProperty"]]:
14771
+ '''
14772
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-tableoptimizer-tableoptimizerconfiguration.html#cfn-glue-tableoptimizer-tableoptimizerconfiguration-orphanfiledeletionconfiguration
14773
+ '''
14774
+ result = self._values.get("orphan_file_deletion_configuration")
14775
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnTableOptimizer.OrphanFileDeletionConfigurationProperty"]], result)
14776
+
14777
+ @builtins.property
14778
+ def retention_configuration(
14779
+ self,
14780
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnTableOptimizer.RetentionConfigurationProperty"]]:
14781
+ '''
14782
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-tableoptimizer-tableoptimizerconfiguration.html#cfn-glue-tableoptimizer-tableoptimizerconfiguration-retentionconfiguration
14783
+ '''
14784
+ result = self._values.get("retention_configuration")
14785
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnTableOptimizer.RetentionConfigurationProperty"]], result)
14786
+
14787
+ @builtins.property
14788
+ def vpc_configuration(
14789
+ self,
14790
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnTableOptimizer.VpcConfigurationProperty"]]:
14791
+ '''
14792
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-tableoptimizer-tableoptimizerconfiguration.html#cfn-glue-tableoptimizer-tableoptimizerconfiguration-vpcconfiguration
14793
+ '''
14794
+ result = self._values.get("vpc_configuration")
14795
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnTableOptimizer.VpcConfigurationProperty"]], result)
14796
+
13644
14797
  def __eq__(self, rhs: typing.Any) -> builtins.bool:
13645
14798
  return isinstance(rhs, self.__class__) and rhs._values == self._values
13646
14799
 
@@ -13652,6 +14805,59 @@ class CfnTableOptimizer(
13652
14805
  k + "=" + repr(v) for k, v in self._values.items()
13653
14806
  )
13654
14807
 
14808
+ @jsii.data_type(
14809
+ jsii_type="aws-cdk-lib.aws_glue.CfnTableOptimizer.VpcConfigurationProperty",
14810
+ jsii_struct_bases=[],
14811
+ name_mapping={"glue_connection_name": "glueConnectionName"},
14812
+ )
14813
+ class VpcConfigurationProperty:
14814
+ def __init__(
14815
+ self,
14816
+ *,
14817
+ glue_connection_name: typing.Optional[builtins.str] = None,
14818
+ ) -> None:
14819
+ '''
14820
+ :param glue_connection_name:
14821
+
14822
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-tableoptimizer-vpcconfiguration.html
14823
+ :exampleMetadata: fixture=_generated
14824
+
14825
+ Example::
14826
+
14827
+ # The code below shows an example of how to instantiate this type.
14828
+ # The values are placeholders you should change.
14829
+ from aws_cdk import aws_glue as glue
14830
+
14831
+ vpc_configuration_property = glue.CfnTableOptimizer.VpcConfigurationProperty(
14832
+ glue_connection_name="glueConnectionName"
14833
+ )
14834
+ '''
14835
+ if __debug__:
14836
+ type_hints = typing.get_type_hints(_typecheckingstub__796411c679a728d3eac55b590403d388f9e277d89bfd1adab5b9be712a998878)
14837
+ check_type(argname="argument glue_connection_name", value=glue_connection_name, expected_type=type_hints["glue_connection_name"])
14838
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
14839
+ if glue_connection_name is not None:
14840
+ self._values["glue_connection_name"] = glue_connection_name
14841
+
14842
+ @builtins.property
14843
+ def glue_connection_name(self) -> typing.Optional[builtins.str]:
14844
+ '''
14845
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-tableoptimizer-vpcconfiguration.html#cfn-glue-tableoptimizer-vpcconfiguration-glueconnectionname
14846
+ '''
14847
+ result = self._values.get("glue_connection_name")
14848
+ return typing.cast(typing.Optional[builtins.str], result)
14849
+
14850
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
14851
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
14852
+
14853
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
14854
+ return not (rhs == self)
14855
+
14856
+ def __repr__(self) -> str:
14857
+ return "VpcConfigurationProperty(%s)" % ", ".join(
14858
+ k + "=" + repr(v) for k, v in self._values.items()
14859
+ )
14860
+
13655
14861
 
13656
14862
  @jsii.data_type(
13657
14863
  jsii_type="aws-cdk-lib.aws_glue.CfnTableOptimizerProps",
@@ -13697,7 +14903,24 @@ class CfnTableOptimizerProps:
13697
14903
  table_name="tableName",
13698
14904
  table_optimizer_configuration=glue.CfnTableOptimizer.TableOptimizerConfigurationProperty(
13699
14905
  enabled=False,
13700
- role_arn="roleArn"
14906
+ role_arn="roleArn",
14907
+
14908
+ # the properties below are optional
14909
+ orphan_file_deletion_configuration=glue.CfnTableOptimizer.OrphanFileDeletionConfigurationProperty(
14910
+ iceberg_configuration=glue.CfnTableOptimizer.IcebergConfigurationProperty(
14911
+ location="location",
14912
+ orphan_file_retention_period_in_days=123
14913
+ )
14914
+ ),
14915
+ retention_configuration=glue.CfnTableOptimizer.RetentionConfigurationProperty(
14916
+ iceberg_configuration=glue.CfnTableOptimizer.IcebergConfigurationProperty(
14917
+ location="location",
14918
+ orphan_file_retention_period_in_days=123
14919
+ )
14920
+ ),
14921
+ vpc_configuration=glue.CfnTableOptimizer.VpcConfigurationProperty(
14922
+ glue_connection_name="glueConnectionName"
14923
+ )
13701
14924
  ),
13702
14925
  type="type"
13703
14926
  )
@@ -16002,14 +17225,78 @@ def _typecheckingstub__f3a76484105010dc758d81394f436d3461656f97faa1bf881b484b7db
16002
17225
  """Type checking stubs"""
16003
17226
  pass
16004
17227
 
17228
+ def _typecheckingstub__7b8293d6f944daa9f33a106f65a8945bd03ac5038f2713c175a1c7a89dd114bf(
17229
+ *,
17230
+ authentication_type: builtins.str,
17231
+ basic_authentication_credentials: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnConnection.BasicAuthenticationCredentialsProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
17232
+ custom_authentication_credentials: typing.Any = None,
17233
+ kms_key_arn: typing.Optional[builtins.str] = None,
17234
+ o_auth2_properties: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnConnection.OAuth2PropertiesInputProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
17235
+ secret_arn: typing.Optional[builtins.str] = None,
17236
+ ) -> None:
17237
+ """Type checking stubs"""
17238
+ pass
17239
+
17240
+ def _typecheckingstub__d74e17f9057fdeeb2436fa4ecbe726ba9cd4a57895a74748d475fac637d7e934(
17241
+ *,
17242
+ authorization_code: typing.Optional[builtins.str] = None,
17243
+ redirect_uri: typing.Optional[builtins.str] = None,
17244
+ ) -> None:
17245
+ """Type checking stubs"""
17246
+ pass
17247
+
17248
+ def _typecheckingstub__392898efc7a4e5916baac73fe572ea1b29fb7cfcdd12903cca26595c5534adea(
17249
+ *,
17250
+ password: typing.Optional[builtins.str] = None,
17251
+ username: typing.Optional[builtins.str] = None,
17252
+ ) -> None:
17253
+ """Type checking stubs"""
17254
+ pass
17255
+
16005
17256
  def _typecheckingstub__74e68b34e0a01df244f744096d99b1ff48c5f31548a88acaaf6d555c46a2fb76(
16006
17257
  *,
16007
17258
  connection_type: builtins.str,
17259
+ athena_properties: typing.Any = None,
17260
+ authentication_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnConnection.AuthenticationConfigurationInputProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
16008
17261
  connection_properties: typing.Any = None,
16009
17262
  description: typing.Optional[builtins.str] = None,
16010
17263
  match_criteria: typing.Optional[typing.Sequence[builtins.str]] = None,
16011
17264
  name: typing.Optional[builtins.str] = None,
16012
17265
  physical_connection_requirements: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnConnection.PhysicalConnectionRequirementsProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
17266
+ python_properties: typing.Any = None,
17267
+ spark_properties: typing.Any = None,
17268
+ validate_credentials: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
17269
+ validate_for_compute_environments: typing.Optional[typing.Sequence[builtins.str]] = None,
17270
+ ) -> None:
17271
+ """Type checking stubs"""
17272
+ pass
17273
+
17274
+ def _typecheckingstub__7710d681c033dc4ac19273f4b949aa5a4d9647bfe83197e09b44b15b7574a0b6(
17275
+ *,
17276
+ aws_managed_client_application_reference: typing.Optional[builtins.str] = None,
17277
+ user_managed_client_application_client_id: typing.Optional[builtins.str] = None,
17278
+ ) -> None:
17279
+ """Type checking stubs"""
17280
+ pass
17281
+
17282
+ def _typecheckingstub__27d74da4415cfbdcf1458df4ebe97a92e25c33263bb49403d3e480a00b8dca55(
17283
+ *,
17284
+ access_token: typing.Optional[builtins.str] = None,
17285
+ jwt_token: typing.Optional[builtins.str] = None,
17286
+ refresh_token: typing.Optional[builtins.str] = None,
17287
+ user_managed_client_application_client_secret: typing.Optional[builtins.str] = None,
17288
+ ) -> None:
17289
+ """Type checking stubs"""
17290
+ pass
17291
+
17292
+ def _typecheckingstub__94979c176950c7ae992821ea167fc3dfb50ef9be3db200e17a9825d57abfc866(
17293
+ *,
17294
+ authorization_code_properties: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnConnection.AuthorizationCodePropertiesProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
17295
+ o_auth2_client_application: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnConnection.OAuth2ClientApplicationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
17296
+ o_auth2_credentials: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnConnection.OAuth2CredentialsProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
17297
+ o_auth2_grant_type: typing.Optional[builtins.str] = None,
17298
+ token_url: typing.Optional[builtins.str] = None,
17299
+ token_url_parameters_map: typing.Any = None,
16013
17300
  ) -> None:
16014
17301
  """Type checking stubs"""
16015
17302
  pass
@@ -17838,10 +19125,42 @@ def _typecheckingstub__ed41a967c471f3fd661f6d5f9a4dc138f08aae636c030322c2e80ced1
17838
19125
  """Type checking stubs"""
17839
19126
  pass
17840
19127
 
19128
+ def _typecheckingstub__5e7a911f626ca723b7f0b1c35deb71291cb06af5a64d75f3dcb432988ef4bf42(
19129
+ *,
19130
+ location: typing.Optional[builtins.str] = None,
19131
+ orphan_file_retention_period_in_days: typing.Optional[jsii.Number] = None,
19132
+ ) -> None:
19133
+ """Type checking stubs"""
19134
+ pass
19135
+
19136
+ def _typecheckingstub__fd6b7e3a46937a5c19f35e6c499494a7bff00c3eb67dd21cf60217c60a49b95b(
19137
+ *,
19138
+ iceberg_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnTableOptimizer.IcebergConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
19139
+ ) -> None:
19140
+ """Type checking stubs"""
19141
+ pass
19142
+
19143
+ def _typecheckingstub__c5ba28f1de672bfecf327282ce4e55b72b9a4850e73f7c390aa55e0c015e2ce8(
19144
+ *,
19145
+ iceberg_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnTableOptimizer.IcebergConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
19146
+ ) -> None:
19147
+ """Type checking stubs"""
19148
+ pass
19149
+
17841
19150
  def _typecheckingstub__666694d6c0728808477673b52278e31d95b87b4226552b0f2f91addb33aeed3e(
17842
19151
  *,
17843
19152
  enabled: typing.Union[builtins.bool, _IResolvable_da3f097b],
17844
19153
  role_arn: builtins.str,
19154
+ orphan_file_deletion_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnTableOptimizer.OrphanFileDeletionConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
19155
+ retention_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnTableOptimizer.RetentionConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
19156
+ vpc_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnTableOptimizer.VpcConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
19157
+ ) -> None:
19158
+ """Type checking stubs"""
19159
+ pass
19160
+
19161
+ def _typecheckingstub__796411c679a728d3eac55b590403d388f9e277d89bfd1adab5b9be712a998878(
19162
+ *,
19163
+ glue_connection_name: typing.Optional[builtins.str] = None,
17845
19164
  ) -> None:
17846
19165
  """Type checking stubs"""
17847
19166
  pass