aws-cdk-lib 2.197.0__py3-none-any.whl → 2.198.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 (31) hide show
  1. aws_cdk/_jsii/__init__.py +1 -1
  2. aws_cdk/_jsii/{aws-cdk-lib@2.197.0.jsii.tgz → aws-cdk-lib@2.198.0.jsii.tgz} +0 -0
  3. aws_cdk/aws_applicationautoscaling/__init__.py +36 -0
  4. aws_cdk/aws_appsync/__init__.py +31 -21
  5. aws_cdk/aws_autoscaling/__init__.py +2 -1
  6. aws_cdk/aws_codepipeline/__init__.py +4 -2
  7. aws_cdk/aws_datasync/__init__.py +885 -839
  8. aws_cdk/aws_deadline/__init__.py +23 -4
  9. aws_cdk/aws_ec2/__init__.py +210 -4
  10. aws_cdk/aws_ecs/__init__.py +14 -2
  11. aws_cdk/aws_ecs_patterns/__init__.py +15 -9
  12. aws_cdk/aws_elasticloadbalancingv2/__init__.py +14 -8
  13. aws_cdk/aws_gamelift/__init__.py +15 -17
  14. aws_cdk/aws_lex/__init__.py +1245 -172
  15. aws_cdk/aws_mediapackagev2/__init__.py +11 -10
  16. aws_cdk/aws_omics/__init__.py +41 -19
  17. aws_cdk/aws_pcs/__init__.py +126 -0
  18. aws_cdk/aws_rds/__init__.py +42 -15
  19. aws_cdk/aws_rolesanywhere/__init__.py +14 -13
  20. aws_cdk/aws_sagemaker/__init__.py +38 -12
  21. aws_cdk/aws_ses/__init__.py +188 -0
  22. aws_cdk/aws_ssmquicksetup/__init__.py +10 -2
  23. aws_cdk/aws_synthetics/__init__.py +137 -3
  24. aws_cdk/aws_wafv2/__init__.py +4 -4
  25. aws_cdk/aws_workspaces/__init__.py +5 -3
  26. {aws_cdk_lib-2.197.0.dist-info → aws_cdk_lib-2.198.0.dist-info}/METADATA +2 -2
  27. {aws_cdk_lib-2.197.0.dist-info → aws_cdk_lib-2.198.0.dist-info}/RECORD +31 -31
  28. {aws_cdk_lib-2.197.0.dist-info → aws_cdk_lib-2.198.0.dist-info}/LICENSE +0 -0
  29. {aws_cdk_lib-2.197.0.dist-info → aws_cdk_lib-2.198.0.dist-info}/NOTICE +0 -0
  30. {aws_cdk_lib-2.197.0.dist-info → aws_cdk_lib-2.198.0.dist-info}/WHEEL +0 -0
  31. {aws_cdk_lib-2.197.0.dist-info → aws_cdk_lib-2.198.0.dist-info}/top_level.txt +0 -0
@@ -473,16 +473,24 @@ class CfnLocationAzureBlob(
473
473
  from aws_cdk import aws_datasync as datasync
474
474
 
475
475
  cfn_location_azure_blob = datasync.CfnLocationAzureBlob(self, "MyCfnLocationAzureBlob",
476
- agent_arns=["agentArns"],
477
476
  azure_blob_authentication_type="azureBlobAuthenticationType",
478
477
 
479
478
  # the properties below are optional
479
+ agent_arns=["agentArns"],
480
480
  azure_access_tier="azureAccessTier",
481
481
  azure_blob_container_url="azureBlobContainerUrl",
482
482
  azure_blob_sas_configuration=datasync.CfnLocationAzureBlob.AzureBlobSasConfigurationProperty(
483
483
  azure_blob_sas_token="azureBlobSasToken"
484
484
  ),
485
485
  azure_blob_type="azureBlobType",
486
+ cmk_secret_config=datasync.CfnLocationAzureBlob.CmkSecretConfigProperty(
487
+ kms_key_arn="kmsKeyArn",
488
+ secret_arn="secretArn"
489
+ ),
490
+ custom_secret_config=datasync.CfnLocationAzureBlob.CustomSecretConfigProperty(
491
+ secret_access_role_arn="secretAccessRoleArn",
492
+ secret_arn="secretArn"
493
+ ),
486
494
  subdirectory="subdirectory",
487
495
  tags=[CfnTag(
488
496
  key="key",
@@ -496,24 +504,28 @@ class CfnLocationAzureBlob(
496
504
  scope: _constructs_77d1e7e8.Construct,
497
505
  id: builtins.str,
498
506
  *,
499
- agent_arns: typing.Sequence[builtins.str],
500
507
  azure_blob_authentication_type: builtins.str,
508
+ agent_arns: typing.Optional[typing.Sequence[builtins.str]] = None,
501
509
  azure_access_tier: typing.Optional[builtins.str] = None,
502
510
  azure_blob_container_url: typing.Optional[builtins.str] = None,
503
511
  azure_blob_sas_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnLocationAzureBlob.AzureBlobSasConfigurationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
504
512
  azure_blob_type: typing.Optional[builtins.str] = None,
513
+ cmk_secret_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnLocationAzureBlob.CmkSecretConfigProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
514
+ custom_secret_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnLocationAzureBlob.CustomSecretConfigProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
505
515
  subdirectory: typing.Optional[builtins.str] = None,
506
516
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
507
517
  ) -> None:
508
518
  '''
509
519
  :param scope: Scope in which this resource is defined.
510
520
  :param id: Construct identifier for this resource (unique in its scope).
511
- :param agent_arns: Specifies the Amazon Resource Name (ARN) of the DataSync agent that can connect with your Azure Blob Storage container. You can specify more than one agent. For more information, see `Using multiple agents for your transfer <https://docs.aws.amazon.com/datasync/latest/userguide/multiple-agents.html>`_ .
512
521
  :param azure_blob_authentication_type: Specifies the authentication method DataSync uses to access your Azure Blob Storage. DataSync can access blob storage using a shared access signature (SAS). Default: - "SAS"
522
+ :param agent_arns: Specifies the Amazon Resource Name (ARN) of the DataSync agent that can connect with your Azure Blob Storage container. You can specify more than one agent. For more information, see `Using multiple agents for your transfer <https://docs.aws.amazon.com/datasync/latest/userguide/multiple-agents.html>`_ .
513
523
  :param azure_access_tier: Specifies the access tier that you want your objects or files transferred into. This only applies when using the location as a transfer destination. For more information, see `Access tiers <https://docs.aws.amazon.com/datasync/latest/userguide/creating-azure-blob-location.html#azure-blob-access-tiers>`_ . Default: - "HOT"
514
524
  :param azure_blob_container_url: Specifies the URL of the Azure Blob Storage container involved in your transfer.
515
525
  :param azure_blob_sas_configuration: Specifies the SAS configuration that allows DataSync to access your Azure Blob Storage.
516
526
  :param azure_blob_type: Specifies the type of blob that you want your objects or files to be when transferring them into Azure Blob Storage. Currently, DataSync only supports moving data into Azure Blob Storage as block blobs. For more information on blob types, see the `Azure Blob Storage documentation <https://docs.aws.amazon.com/https://learn.microsoft.com/en-us/rest/api/storageservices/understanding-block-blobs--append-blobs--and-page-blobs>`_ . Default: - "BLOCK"
527
+ :param cmk_secret_config: Specifies configuration information for a DataSync-managed secret, such as an authentication token or set of credentials that DataSync uses to access a specific transfer location, and a customer-managed AWS KMS key.
528
+ :param custom_secret_config: Specifies configuration information for a customer-managed secret, such as an authentication token or set of credentials that DataSync uses to access a specific transfer location, and an IAM role that DataSync can assume and access the customer-managed secret.
517
529
  :param subdirectory: Specifies path segments if you want to limit your transfer to a virtual directory in your container (for example, ``/my/images`` ).
518
530
  :param tags: Specifies labels that help you categorize, filter, and search for your AWS resources. We recommend creating at least a name tag for your transfer location.
519
531
  '''
@@ -522,12 +534,14 @@ class CfnLocationAzureBlob(
522
534
  check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
523
535
  check_type(argname="argument id", value=id, expected_type=type_hints["id"])
524
536
  props = CfnLocationAzureBlobProps(
525
- agent_arns=agent_arns,
526
537
  azure_blob_authentication_type=azure_blob_authentication_type,
538
+ agent_arns=agent_arns,
527
539
  azure_access_tier=azure_access_tier,
528
540
  azure_blob_container_url=azure_blob_container_url,
529
541
  azure_blob_sas_configuration=azure_blob_sas_configuration,
530
542
  azure_blob_type=azure_blob_type,
543
+ cmk_secret_config=cmk_secret_config,
544
+ custom_secret_config=custom_secret_config,
531
545
  subdirectory=subdirectory,
532
546
  tags=tags,
533
547
  )
@@ -564,6 +578,15 @@ class CfnLocationAzureBlob(
564
578
  '''The CloudFormation resource type name for this resource class.'''
565
579
  return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
566
580
 
581
+ @builtins.property
582
+ @jsii.member(jsii_name="attrCmkSecretConfigSecretArn")
583
+ def attr_cmk_secret_config_secret_arn(self) -> builtins.str:
584
+ '''Specifies the ARN for an AWS Secrets Manager secret, managed by DataSync.
585
+
586
+ :cloudformationAttribute: CmkSecretConfig.SecretArn
587
+ '''
588
+ return typing.cast(builtins.str, jsii.get(self, "attrCmkSecretConfigSecretArn"))
589
+
567
590
  @builtins.property
568
591
  @jsii.member(jsii_name="attrLocationArn")
569
592
  def attr_location_arn(self) -> builtins.str:
@@ -582,6 +605,17 @@ class CfnLocationAzureBlob(
582
605
  '''
583
606
  return typing.cast(builtins.str, jsii.get(self, "attrLocationUri"))
584
607
 
608
+ @builtins.property
609
+ @jsii.member(jsii_name="attrManagedSecretConfig")
610
+ def attr_managed_secret_config(self) -> _IResolvable_da3f097b:
611
+ '''Specifies configuration information for a DataSync-managed secret, such as an authentication token or set of credentials that DataSync uses to access a specific transfer location.
612
+
613
+ DataSync uses the default AWS-managed KMS key to encrypt this secret in AWS Secrets Manager.
614
+
615
+ :cloudformationAttribute: ManagedSecretConfig
616
+ '''
617
+ return typing.cast(_IResolvable_da3f097b, jsii.get(self, "attrManagedSecretConfig"))
618
+
585
619
  @builtins.property
586
620
  @jsii.member(jsii_name="cdkTagManager")
587
621
  def cdk_tag_manager(self) -> _TagManager_0a598cb3:
@@ -593,19 +627,6 @@ class CfnLocationAzureBlob(
593
627
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
594
628
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
595
629
 
596
- @builtins.property
597
- @jsii.member(jsii_name="agentArns")
598
- def agent_arns(self) -> typing.List[builtins.str]:
599
- '''Specifies the Amazon Resource Name (ARN) of the DataSync agent that can connect with your Azure Blob Storage container.'''
600
- return typing.cast(typing.List[builtins.str], jsii.get(self, "agentArns"))
601
-
602
- @agent_arns.setter
603
- def agent_arns(self, value: typing.List[builtins.str]) -> None:
604
- if __debug__:
605
- type_hints = typing.get_type_hints(_typecheckingstub__04d94ab53395a58893ca5e5668d51e78b5d567de304ebc1b3c8937ab5824c459)
606
- check_type(argname="argument value", value=value, expected_type=type_hints["value"])
607
- jsii.set(self, "agentArns", value) # pyright: ignore[reportArgumentType]
608
-
609
630
  @builtins.property
610
631
  @jsii.member(jsii_name="azureBlobAuthenticationType")
611
632
  def azure_blob_authentication_type(self) -> builtins.str:
@@ -619,6 +640,19 @@ class CfnLocationAzureBlob(
619
640
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
620
641
  jsii.set(self, "azureBlobAuthenticationType", value) # pyright: ignore[reportArgumentType]
621
642
 
643
+ @builtins.property
644
+ @jsii.member(jsii_name="agentArns")
645
+ def agent_arns(self) -> typing.Optional[typing.List[builtins.str]]:
646
+ '''Specifies the Amazon Resource Name (ARN) of the DataSync agent that can connect with your Azure Blob Storage container.'''
647
+ return typing.cast(typing.Optional[typing.List[builtins.str]], jsii.get(self, "agentArns"))
648
+
649
+ @agent_arns.setter
650
+ def agent_arns(self, value: typing.Optional[typing.List[builtins.str]]) -> None:
651
+ if __debug__:
652
+ type_hints = typing.get_type_hints(_typecheckingstub__04d94ab53395a58893ca5e5668d51e78b5d567de304ebc1b3c8937ab5824c459)
653
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
654
+ jsii.set(self, "agentArns", value) # pyright: ignore[reportArgumentType]
655
+
622
656
  @builtins.property
623
657
  @jsii.member(jsii_name="azureAccessTier")
624
658
  def azure_access_tier(self) -> typing.Optional[builtins.str]:
@@ -676,6 +710,42 @@ class CfnLocationAzureBlob(
676
710
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
677
711
  jsii.set(self, "azureBlobType", value) # pyright: ignore[reportArgumentType]
678
712
 
713
+ @builtins.property
714
+ @jsii.member(jsii_name="cmkSecretConfig")
715
+ def cmk_secret_config(
716
+ self,
717
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnLocationAzureBlob.CmkSecretConfigProperty"]]:
718
+ '''Specifies configuration information for a DataSync-managed secret, such as an authentication token or set of credentials that DataSync uses to access a specific transfer location, and a customer-managed AWS KMS key.'''
719
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnLocationAzureBlob.CmkSecretConfigProperty"]], jsii.get(self, "cmkSecretConfig"))
720
+
721
+ @cmk_secret_config.setter
722
+ def cmk_secret_config(
723
+ self,
724
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnLocationAzureBlob.CmkSecretConfigProperty"]],
725
+ ) -> None:
726
+ if __debug__:
727
+ type_hints = typing.get_type_hints(_typecheckingstub__bbe60c9e1409294412076468854254983957a988d2e0d53f2fa73767e4a48525)
728
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
729
+ jsii.set(self, "cmkSecretConfig", value) # pyright: ignore[reportArgumentType]
730
+
731
+ @builtins.property
732
+ @jsii.member(jsii_name="customSecretConfig")
733
+ def custom_secret_config(
734
+ self,
735
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnLocationAzureBlob.CustomSecretConfigProperty"]]:
736
+ '''Specifies configuration information for a customer-managed secret, such as an authentication token or set of credentials that DataSync uses to access a specific transfer location, and an IAM role that DataSync can assume and access the customer-managed secret.'''
737
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnLocationAzureBlob.CustomSecretConfigProperty"]], jsii.get(self, "customSecretConfig"))
738
+
739
+ @custom_secret_config.setter
740
+ def custom_secret_config(
741
+ self,
742
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnLocationAzureBlob.CustomSecretConfigProperty"]],
743
+ ) -> None:
744
+ if __debug__:
745
+ type_hints = typing.get_type_hints(_typecheckingstub__3276084bb32edc8f06759cb50268fc7821cd740602d985f3b1b967d5267f90dc)
746
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
747
+ jsii.set(self, "customSecretConfig", value) # pyright: ignore[reportArgumentType]
748
+
679
749
  @builtins.property
680
750
  @jsii.member(jsii_name="subdirectory")
681
751
  def subdirectory(self) -> typing.Optional[builtins.str]:
@@ -760,17 +830,219 @@ class CfnLocationAzureBlob(
760
830
  k + "=" + repr(v) for k, v in self._values.items()
761
831
  )
762
832
 
833
+ @jsii.data_type(
834
+ jsii_type="aws-cdk-lib.aws_datasync.CfnLocationAzureBlob.CmkSecretConfigProperty",
835
+ jsii_struct_bases=[],
836
+ name_mapping={"kms_key_arn": "kmsKeyArn", "secret_arn": "secretArn"},
837
+ )
838
+ class CmkSecretConfigProperty:
839
+ def __init__(
840
+ self,
841
+ *,
842
+ kms_key_arn: typing.Optional[builtins.str] = None,
843
+ secret_arn: typing.Optional[builtins.str] = None,
844
+ ) -> None:
845
+ '''Specifies configuration information for a DataSync-managed secret, such as an authentication token or set of credentials that DataSync uses to access a specific transfer location, and a customer-managed AWS KMS key.
846
+
847
+ :param kms_key_arn: Specifies the ARN for the customer-managed AWS KMS key used to encrypt the secret specified for SecretArn. DataSync provides this key to AWS Secrets Manager.
848
+ :param secret_arn: Specifies the ARN for an AWS Secrets Manager secret, managed by DataSync.
849
+
850
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-locationazureblob-cmksecretconfig.html
851
+ :exampleMetadata: fixture=_generated
852
+
853
+ Example::
854
+
855
+ # The code below shows an example of how to instantiate this type.
856
+ # The values are placeholders you should change.
857
+ from aws_cdk import aws_datasync as datasync
858
+
859
+ cmk_secret_config_property = datasync.CfnLocationAzureBlob.CmkSecretConfigProperty(
860
+ kms_key_arn="kmsKeyArn",
861
+ secret_arn="secretArn"
862
+ )
863
+ '''
864
+ if __debug__:
865
+ type_hints = typing.get_type_hints(_typecheckingstub__d03d5287185c3e65174404788128d96c2205212b3aa189dc5803a4b4b4b8ab36)
866
+ check_type(argname="argument kms_key_arn", value=kms_key_arn, expected_type=type_hints["kms_key_arn"])
867
+ check_type(argname="argument secret_arn", value=secret_arn, expected_type=type_hints["secret_arn"])
868
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
869
+ if kms_key_arn is not None:
870
+ self._values["kms_key_arn"] = kms_key_arn
871
+ if secret_arn is not None:
872
+ self._values["secret_arn"] = secret_arn
873
+
874
+ @builtins.property
875
+ def kms_key_arn(self) -> typing.Optional[builtins.str]:
876
+ '''Specifies the ARN for the customer-managed AWS KMS key used to encrypt the secret specified for SecretArn.
877
+
878
+ DataSync provides this key to AWS Secrets Manager.
879
+
880
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-locationazureblob-cmksecretconfig.html#cfn-datasync-locationazureblob-cmksecretconfig-kmskeyarn
881
+ '''
882
+ result = self._values.get("kms_key_arn")
883
+ return typing.cast(typing.Optional[builtins.str], result)
884
+
885
+ @builtins.property
886
+ def secret_arn(self) -> typing.Optional[builtins.str]:
887
+ '''Specifies the ARN for an AWS Secrets Manager secret, managed by DataSync.
888
+
889
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-locationazureblob-cmksecretconfig.html#cfn-datasync-locationazureblob-cmksecretconfig-secretarn
890
+ '''
891
+ result = self._values.get("secret_arn")
892
+ return typing.cast(typing.Optional[builtins.str], result)
893
+
894
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
895
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
896
+
897
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
898
+ return not (rhs == self)
899
+
900
+ def __repr__(self) -> str:
901
+ return "CmkSecretConfigProperty(%s)" % ", ".join(
902
+ k + "=" + repr(v) for k, v in self._values.items()
903
+ )
904
+
905
+ @jsii.data_type(
906
+ jsii_type="aws-cdk-lib.aws_datasync.CfnLocationAzureBlob.CustomSecretConfigProperty",
907
+ jsii_struct_bases=[],
908
+ name_mapping={
909
+ "secret_access_role_arn": "secretAccessRoleArn",
910
+ "secret_arn": "secretArn",
911
+ },
912
+ )
913
+ class CustomSecretConfigProperty:
914
+ def __init__(
915
+ self,
916
+ *,
917
+ secret_access_role_arn: builtins.str,
918
+ secret_arn: builtins.str,
919
+ ) -> None:
920
+ '''Specifies configuration information for a customer-managed secret, such as an authentication token or set of credentials that DataSync uses to access a specific transfer location, and an IAM role that DataSync can assume and access the customer-managed secret.
921
+
922
+ :param secret_access_role_arn: Specifies the ARN for the AWS Identity and Access Management role that DataSync uses to access the secret specified for SecretArn.
923
+ :param secret_arn: Specifies the ARN for a customer created AWS Secrets Manager secret.
924
+
925
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-locationazureblob-customsecretconfig.html
926
+ :exampleMetadata: fixture=_generated
927
+
928
+ Example::
929
+
930
+ # The code below shows an example of how to instantiate this type.
931
+ # The values are placeholders you should change.
932
+ from aws_cdk import aws_datasync as datasync
933
+
934
+ custom_secret_config_property = datasync.CfnLocationAzureBlob.CustomSecretConfigProperty(
935
+ secret_access_role_arn="secretAccessRoleArn",
936
+ secret_arn="secretArn"
937
+ )
938
+ '''
939
+ if __debug__:
940
+ type_hints = typing.get_type_hints(_typecheckingstub__0b2d06a0f90feb2e23667a772b3c70d85bf30ee5c9bef02d35fd7339fdffaf93)
941
+ check_type(argname="argument secret_access_role_arn", value=secret_access_role_arn, expected_type=type_hints["secret_access_role_arn"])
942
+ check_type(argname="argument secret_arn", value=secret_arn, expected_type=type_hints["secret_arn"])
943
+ self._values: typing.Dict[builtins.str, typing.Any] = {
944
+ "secret_access_role_arn": secret_access_role_arn,
945
+ "secret_arn": secret_arn,
946
+ }
947
+
948
+ @builtins.property
949
+ def secret_access_role_arn(self) -> builtins.str:
950
+ '''Specifies the ARN for the AWS Identity and Access Management role that DataSync uses to access the secret specified for SecretArn.
951
+
952
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-locationazureblob-customsecretconfig.html#cfn-datasync-locationazureblob-customsecretconfig-secretaccessrolearn
953
+ '''
954
+ result = self._values.get("secret_access_role_arn")
955
+ assert result is not None, "Required property 'secret_access_role_arn' is missing"
956
+ return typing.cast(builtins.str, result)
957
+
958
+ @builtins.property
959
+ def secret_arn(self) -> builtins.str:
960
+ '''Specifies the ARN for a customer created AWS Secrets Manager secret.
961
+
962
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-locationazureblob-customsecretconfig.html#cfn-datasync-locationazureblob-customsecretconfig-secretarn
963
+ '''
964
+ result = self._values.get("secret_arn")
965
+ assert result is not None, "Required property 'secret_arn' is missing"
966
+ return typing.cast(builtins.str, result)
967
+
968
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
969
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
970
+
971
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
972
+ return not (rhs == self)
973
+
974
+ def __repr__(self) -> str:
975
+ return "CustomSecretConfigProperty(%s)" % ", ".join(
976
+ k + "=" + repr(v) for k, v in self._values.items()
977
+ )
978
+
979
+ @jsii.data_type(
980
+ jsii_type="aws-cdk-lib.aws_datasync.CfnLocationAzureBlob.ManagedSecretConfigProperty",
981
+ jsii_struct_bases=[],
982
+ name_mapping={"secret_arn": "secretArn"},
983
+ )
984
+ class ManagedSecretConfigProperty:
985
+ def __init__(self, *, secret_arn: builtins.str) -> None:
986
+ '''Specifies configuration information for a DataSync-managed secret, such as an authentication token or set of credentials that DataSync uses to access a specific transfer location.
987
+
988
+ DataSync uses the default AWS-managed KMS key to encrypt this secret in AWS Secrets Manager.
989
+
990
+ :param secret_arn: Specifies the ARN for an AWS Secrets Manager secret.
991
+
992
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-locationazureblob-managedsecretconfig.html
993
+ :exampleMetadata: fixture=_generated
994
+
995
+ Example::
996
+
997
+ # The code below shows an example of how to instantiate this type.
998
+ # The values are placeholders you should change.
999
+ from aws_cdk import aws_datasync as datasync
1000
+
1001
+ managed_secret_config_property = datasync.CfnLocationAzureBlob.ManagedSecretConfigProperty(
1002
+ secret_arn="secretArn"
1003
+ )
1004
+ '''
1005
+ if __debug__:
1006
+ type_hints = typing.get_type_hints(_typecheckingstub__8ed16453ba6567e90e7b3e0e37a7206cf71efddb64e1cca1af96064be80c9609)
1007
+ check_type(argname="argument secret_arn", value=secret_arn, expected_type=type_hints["secret_arn"])
1008
+ self._values: typing.Dict[builtins.str, typing.Any] = {
1009
+ "secret_arn": secret_arn,
1010
+ }
1011
+
1012
+ @builtins.property
1013
+ def secret_arn(self) -> builtins.str:
1014
+ '''Specifies the ARN for an AWS Secrets Manager secret.
1015
+
1016
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-locationazureblob-managedsecretconfig.html#cfn-datasync-locationazureblob-managedsecretconfig-secretarn
1017
+ '''
1018
+ result = self._values.get("secret_arn")
1019
+ assert result is not None, "Required property 'secret_arn' is missing"
1020
+ return typing.cast(builtins.str, result)
1021
+
1022
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
1023
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
1024
+
1025
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
1026
+ return not (rhs == self)
1027
+
1028
+ def __repr__(self) -> str:
1029
+ return "ManagedSecretConfigProperty(%s)" % ", ".join(
1030
+ k + "=" + repr(v) for k, v in self._values.items()
1031
+ )
1032
+
763
1033
 
764
1034
  @jsii.data_type(
765
1035
  jsii_type="aws-cdk-lib.aws_datasync.CfnLocationAzureBlobProps",
766
1036
  jsii_struct_bases=[],
767
1037
  name_mapping={
768
- "agent_arns": "agentArns",
769
1038
  "azure_blob_authentication_type": "azureBlobAuthenticationType",
1039
+ "agent_arns": "agentArns",
770
1040
  "azure_access_tier": "azureAccessTier",
771
1041
  "azure_blob_container_url": "azureBlobContainerUrl",
772
1042
  "azure_blob_sas_configuration": "azureBlobSasConfiguration",
773
1043
  "azure_blob_type": "azureBlobType",
1044
+ "cmk_secret_config": "cmkSecretConfig",
1045
+ "custom_secret_config": "customSecretConfig",
774
1046
  "subdirectory": "subdirectory",
775
1047
  "tags": "tags",
776
1048
  },
@@ -779,23 +1051,27 @@ class CfnLocationAzureBlobProps:
779
1051
  def __init__(
780
1052
  self,
781
1053
  *,
782
- agent_arns: typing.Sequence[builtins.str],
783
1054
  azure_blob_authentication_type: builtins.str,
1055
+ agent_arns: typing.Optional[typing.Sequence[builtins.str]] = None,
784
1056
  azure_access_tier: typing.Optional[builtins.str] = None,
785
1057
  azure_blob_container_url: typing.Optional[builtins.str] = None,
786
1058
  azure_blob_sas_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnLocationAzureBlob.AzureBlobSasConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
787
1059
  azure_blob_type: typing.Optional[builtins.str] = None,
1060
+ cmk_secret_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnLocationAzureBlob.CmkSecretConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
1061
+ custom_secret_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnLocationAzureBlob.CustomSecretConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
788
1062
  subdirectory: typing.Optional[builtins.str] = None,
789
1063
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
790
1064
  ) -> None:
791
1065
  '''Properties for defining a ``CfnLocationAzureBlob``.
792
1066
 
793
- :param agent_arns: Specifies the Amazon Resource Name (ARN) of the DataSync agent that can connect with your Azure Blob Storage container. You can specify more than one agent. For more information, see `Using multiple agents for your transfer <https://docs.aws.amazon.com/datasync/latest/userguide/multiple-agents.html>`_ .
794
1067
  :param azure_blob_authentication_type: Specifies the authentication method DataSync uses to access your Azure Blob Storage. DataSync can access blob storage using a shared access signature (SAS). Default: - "SAS"
1068
+ :param agent_arns: Specifies the Amazon Resource Name (ARN) of the DataSync agent that can connect with your Azure Blob Storage container. You can specify more than one agent. For more information, see `Using multiple agents for your transfer <https://docs.aws.amazon.com/datasync/latest/userguide/multiple-agents.html>`_ .
795
1069
  :param azure_access_tier: Specifies the access tier that you want your objects or files transferred into. This only applies when using the location as a transfer destination. For more information, see `Access tiers <https://docs.aws.amazon.com/datasync/latest/userguide/creating-azure-blob-location.html#azure-blob-access-tiers>`_ . Default: - "HOT"
796
1070
  :param azure_blob_container_url: Specifies the URL of the Azure Blob Storage container involved in your transfer.
797
1071
  :param azure_blob_sas_configuration: Specifies the SAS configuration that allows DataSync to access your Azure Blob Storage.
798
1072
  :param azure_blob_type: Specifies the type of blob that you want your objects or files to be when transferring them into Azure Blob Storage. Currently, DataSync only supports moving data into Azure Blob Storage as block blobs. For more information on blob types, see the `Azure Blob Storage documentation <https://docs.aws.amazon.com/https://learn.microsoft.com/en-us/rest/api/storageservices/understanding-block-blobs--append-blobs--and-page-blobs>`_ . Default: - "BLOCK"
1073
+ :param cmk_secret_config: Specifies configuration information for a DataSync-managed secret, such as an authentication token or set of credentials that DataSync uses to access a specific transfer location, and a customer-managed AWS KMS key.
1074
+ :param custom_secret_config: Specifies configuration information for a customer-managed secret, such as an authentication token or set of credentials that DataSync uses to access a specific transfer location, and an IAM role that DataSync can assume and access the customer-managed secret.
799
1075
  :param subdirectory: Specifies path segments if you want to limit your transfer to a virtual directory in your container (for example, ``/my/images`` ).
800
1076
  :param tags: Specifies labels that help you categorize, filter, and search for your AWS resources. We recommend creating at least a name tag for your transfer location.
801
1077
 
@@ -809,16 +1085,24 @@ class CfnLocationAzureBlobProps:
809
1085
  from aws_cdk import aws_datasync as datasync
810
1086
 
811
1087
  cfn_location_azure_blob_props = datasync.CfnLocationAzureBlobProps(
812
- agent_arns=["agentArns"],
813
1088
  azure_blob_authentication_type="azureBlobAuthenticationType",
814
1089
 
815
1090
  # the properties below are optional
1091
+ agent_arns=["agentArns"],
816
1092
  azure_access_tier="azureAccessTier",
817
1093
  azure_blob_container_url="azureBlobContainerUrl",
818
1094
  azure_blob_sas_configuration=datasync.CfnLocationAzureBlob.AzureBlobSasConfigurationProperty(
819
1095
  azure_blob_sas_token="azureBlobSasToken"
820
1096
  ),
821
1097
  azure_blob_type="azureBlobType",
1098
+ cmk_secret_config=datasync.CfnLocationAzureBlob.CmkSecretConfigProperty(
1099
+ kms_key_arn="kmsKeyArn",
1100
+ secret_arn="secretArn"
1101
+ ),
1102
+ custom_secret_config=datasync.CfnLocationAzureBlob.CustomSecretConfigProperty(
1103
+ secret_access_role_arn="secretAccessRoleArn",
1104
+ secret_arn="secretArn"
1105
+ ),
822
1106
  subdirectory="subdirectory",
823
1107
  tags=[CfnTag(
824
1108
  key="key",
@@ -828,18 +1112,21 @@ class CfnLocationAzureBlobProps:
828
1112
  '''
829
1113
  if __debug__:
830
1114
  type_hints = typing.get_type_hints(_typecheckingstub__d386b9f5845962fa66385393ccc6424f66b9aee312fecdc96fe3ec242f754bf1)
831
- check_type(argname="argument agent_arns", value=agent_arns, expected_type=type_hints["agent_arns"])
832
1115
  check_type(argname="argument azure_blob_authentication_type", value=azure_blob_authentication_type, expected_type=type_hints["azure_blob_authentication_type"])
1116
+ check_type(argname="argument agent_arns", value=agent_arns, expected_type=type_hints["agent_arns"])
833
1117
  check_type(argname="argument azure_access_tier", value=azure_access_tier, expected_type=type_hints["azure_access_tier"])
834
1118
  check_type(argname="argument azure_blob_container_url", value=azure_blob_container_url, expected_type=type_hints["azure_blob_container_url"])
835
1119
  check_type(argname="argument azure_blob_sas_configuration", value=azure_blob_sas_configuration, expected_type=type_hints["azure_blob_sas_configuration"])
836
1120
  check_type(argname="argument azure_blob_type", value=azure_blob_type, expected_type=type_hints["azure_blob_type"])
1121
+ check_type(argname="argument cmk_secret_config", value=cmk_secret_config, expected_type=type_hints["cmk_secret_config"])
1122
+ check_type(argname="argument custom_secret_config", value=custom_secret_config, expected_type=type_hints["custom_secret_config"])
837
1123
  check_type(argname="argument subdirectory", value=subdirectory, expected_type=type_hints["subdirectory"])
838
1124
  check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
839
1125
  self._values: typing.Dict[builtins.str, typing.Any] = {
840
- "agent_arns": agent_arns,
841
1126
  "azure_blob_authentication_type": azure_blob_authentication_type,
842
1127
  }
1128
+ if agent_arns is not None:
1129
+ self._values["agent_arns"] = agent_arns
843
1130
  if azure_access_tier is not None:
844
1131
  self._values["azure_access_tier"] = azure_access_tier
845
1132
  if azure_blob_container_url is not None:
@@ -848,23 +1135,15 @@ class CfnLocationAzureBlobProps:
848
1135
  self._values["azure_blob_sas_configuration"] = azure_blob_sas_configuration
849
1136
  if azure_blob_type is not None:
850
1137
  self._values["azure_blob_type"] = azure_blob_type
1138
+ if cmk_secret_config is not None:
1139
+ self._values["cmk_secret_config"] = cmk_secret_config
1140
+ if custom_secret_config is not None:
1141
+ self._values["custom_secret_config"] = custom_secret_config
851
1142
  if subdirectory is not None:
852
1143
  self._values["subdirectory"] = subdirectory
853
1144
  if tags is not None:
854
1145
  self._values["tags"] = tags
855
1146
 
856
- @builtins.property
857
- def agent_arns(self) -> typing.List[builtins.str]:
858
- '''Specifies the Amazon Resource Name (ARN) of the DataSync agent that can connect with your Azure Blob Storage container.
859
-
860
- You can specify more than one agent. For more information, see `Using multiple agents for your transfer <https://docs.aws.amazon.com/datasync/latest/userguide/multiple-agents.html>`_ .
861
-
862
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationazureblob.html#cfn-datasync-locationazureblob-agentarns
863
- '''
864
- result = self._values.get("agent_arns")
865
- assert result is not None, "Required property 'agent_arns' is missing"
866
- return typing.cast(typing.List[builtins.str], result)
867
-
868
1147
  @builtins.property
869
1148
  def azure_blob_authentication_type(self) -> builtins.str:
870
1149
  '''Specifies the authentication method DataSync uses to access your Azure Blob Storage.
@@ -879,6 +1158,17 @@ class CfnLocationAzureBlobProps:
879
1158
  assert result is not None, "Required property 'azure_blob_authentication_type' is missing"
880
1159
  return typing.cast(builtins.str, result)
881
1160
 
1161
+ @builtins.property
1162
+ def agent_arns(self) -> typing.Optional[typing.List[builtins.str]]:
1163
+ '''Specifies the Amazon Resource Name (ARN) of the DataSync agent that can connect with your Azure Blob Storage container.
1164
+
1165
+ You can specify more than one agent. For more information, see `Using multiple agents for your transfer <https://docs.aws.amazon.com/datasync/latest/userguide/multiple-agents.html>`_ .
1166
+
1167
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationazureblob.html#cfn-datasync-locationazureblob-agentarns
1168
+ '''
1169
+ result = self._values.get("agent_arns")
1170
+ return typing.cast(typing.Optional[typing.List[builtins.str]], result)
1171
+
882
1172
  @builtins.property
883
1173
  def azure_access_tier(self) -> typing.Optional[builtins.str]:
884
1174
  '''Specifies the access tier that you want your objects or files transferred into.
@@ -925,6 +1215,28 @@ class CfnLocationAzureBlobProps:
925
1215
  result = self._values.get("azure_blob_type")
926
1216
  return typing.cast(typing.Optional[builtins.str], result)
927
1217
 
1218
+ @builtins.property
1219
+ def cmk_secret_config(
1220
+ self,
1221
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnLocationAzureBlob.CmkSecretConfigProperty]]:
1222
+ '''Specifies configuration information for a DataSync-managed secret, such as an authentication token or set of credentials that DataSync uses to access a specific transfer location, and a customer-managed AWS KMS key.
1223
+
1224
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationazureblob.html#cfn-datasync-locationazureblob-cmksecretconfig
1225
+ '''
1226
+ result = self._values.get("cmk_secret_config")
1227
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, CfnLocationAzureBlob.CmkSecretConfigProperty]], result)
1228
+
1229
+ @builtins.property
1230
+ def custom_secret_config(
1231
+ self,
1232
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnLocationAzureBlob.CustomSecretConfigProperty]]:
1233
+ '''Specifies configuration information for a customer-managed secret, such as an authentication token or set of credentials that DataSync uses to access a specific transfer location, and an IAM role that DataSync can assume and access the customer-managed secret.
1234
+
1235
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationazureblob.html#cfn-datasync-locationazureblob-customsecretconfig
1236
+ '''
1237
+ result = self._values.get("custom_secret_config")
1238
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, CfnLocationAzureBlob.CustomSecretConfigProperty]], result)
1239
+
928
1240
  @builtins.property
929
1241
  def subdirectory(self) -> typing.Optional[builtins.str]:
930
1242
  '''Specifies path segments if you want to limit your transfer to a virtual directory in your container (for example, ``/my/images`` ).
@@ -4734,11 +5046,17 @@ class CfnLocationObjectStorage(
4734
5046
  from aws_cdk import aws_datasync as datasync
4735
5047
 
4736
5048
  cfn_location_object_storage = datasync.CfnLocationObjectStorage(self, "MyCfnLocationObjectStorage",
4737
- agent_arns=["agentArns"],
4738
-
4739
- # the properties below are optional
4740
5049
  access_key="accessKey",
5050
+ agent_arns=["agentArns"],
4741
5051
  bucket_name="bucketName",
5052
+ cmk_secret_config=datasync.CfnLocationObjectStorage.CmkSecretConfigProperty(
5053
+ kms_key_arn="kmsKeyArn",
5054
+ secret_arn="secretArn"
5055
+ ),
5056
+ custom_secret_config=datasync.CfnLocationObjectStorage.CustomSecretConfigProperty(
5057
+ secret_access_role_arn="secretAccessRoleArn",
5058
+ secret_arn="secretArn"
5059
+ ),
4742
5060
  secret_key="secretKey",
4743
5061
  server_certificate="serverCertificate",
4744
5062
  server_hostname="serverHostname",
@@ -4757,9 +5075,11 @@ class CfnLocationObjectStorage(
4757
5075
  scope: _constructs_77d1e7e8.Construct,
4758
5076
  id: builtins.str,
4759
5077
  *,
4760
- agent_arns: typing.Sequence[builtins.str],
4761
5078
  access_key: typing.Optional[builtins.str] = None,
5079
+ agent_arns: typing.Optional[typing.Sequence[builtins.str]] = None,
4762
5080
  bucket_name: typing.Optional[builtins.str] = None,
5081
+ cmk_secret_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnLocationObjectStorage.CmkSecretConfigProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
5082
+ custom_secret_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnLocationObjectStorage.CustomSecretConfigProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
4763
5083
  secret_key: typing.Optional[builtins.str] = None,
4764
5084
  server_certificate: typing.Optional[builtins.str] = None,
4765
5085
  server_hostname: typing.Optional[builtins.str] = None,
@@ -4771,9 +5091,11 @@ class CfnLocationObjectStorage(
4771
5091
  '''
4772
5092
  :param scope: Scope in which this resource is defined.
4773
5093
  :param id: Construct identifier for this resource (unique in its scope).
4774
- :param agent_arns: Specifies the Amazon Resource Names (ARNs) of the DataSync agents that can connect with your object storage system.
4775
5094
  :param access_key: Specifies the access key (for example, a user name) if credentials are required to authenticate with the object storage server.
5095
+ :param agent_arns: Specifies the Amazon Resource Names (ARNs) of the DataSync agents that can connect with your object storage system.
4776
5096
  :param bucket_name: Specifies the name of the object storage bucket involved in the transfer.
5097
+ :param cmk_secret_config: Specifies configuration information for a DataSync-managed secret, such as an authentication token or set of credentials that DataSync uses to access a specific transfer location, and a customer-managed AWS KMS key.
5098
+ :param custom_secret_config: Specifies configuration information for a customer-managed secret, such as an authentication token or set of credentials that DataSync uses to access a specific transfer location, and an IAM role that DataSync can assume and access the customer-managed secret.
4777
5099
  :param secret_key: Specifies the secret key (for example, a password) if credentials are required to authenticate with the object storage server.
4778
5100
  :param server_certificate: Specifies a certificate chain for DataSync to authenticate with your object storage system if the system uses a private or self-signed certificate authority (CA). You must specify a single ``.pem`` file with a full certificate chain (for example, ``file:///home/user/.ssh/object_storage_certificates.pem`` ). The certificate chain might include: - The object storage system's certificate - All intermediate certificates (if there are any) - The root certificate of the signing CA You can concatenate your certificates into a ``.pem`` file (which can be up to 32768 bytes before base64 encoding). The following example ``cat`` command creates an ``object_storage_certificates.pem`` file that includes three certificates: ``cat object_server_certificate.pem intermediate_certificate.pem ca_root_certificate.pem > object_storage_certificates.pem`` To use this parameter, configure ``ServerProtocol`` to ``HTTPS`` .
4779
5101
  :param server_hostname: Specifies the domain name or IP version 4 (IPv4) address of the object storage server that your DataSync agent connects to.
@@ -4787,9 +5109,11 @@ class CfnLocationObjectStorage(
4787
5109
  check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
4788
5110
  check_type(argname="argument id", value=id, expected_type=type_hints["id"])
4789
5111
  props = CfnLocationObjectStorageProps(
4790
- agent_arns=agent_arns,
4791
5112
  access_key=access_key,
5113
+ agent_arns=agent_arns,
4792
5114
  bucket_name=bucket_name,
5115
+ cmk_secret_config=cmk_secret_config,
5116
+ custom_secret_config=custom_secret_config,
4793
5117
  secret_key=secret_key,
4794
5118
  server_certificate=server_certificate,
4795
5119
  server_hostname=server_hostname,
@@ -4831,6 +5155,15 @@ class CfnLocationObjectStorage(
4831
5155
  '''The CloudFormation resource type name for this resource class.'''
4832
5156
  return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
4833
5157
 
5158
+ @builtins.property
5159
+ @jsii.member(jsii_name="attrCmkSecretConfigSecretArn")
5160
+ def attr_cmk_secret_config_secret_arn(self) -> builtins.str:
5161
+ '''Specifies the ARN for an AWS Secrets Manager secret, managed by DataSync.
5162
+
5163
+ :cloudformationAttribute: CmkSecretConfig.SecretArn
5164
+ '''
5165
+ return typing.cast(builtins.str, jsii.get(self, "attrCmkSecretConfigSecretArn"))
5166
+
4834
5167
  @builtins.property
4835
5168
  @jsii.member(jsii_name="attrLocationArn")
4836
5169
  def attr_location_arn(self) -> builtins.str:
@@ -4849,6 +5182,17 @@ class CfnLocationObjectStorage(
4849
5182
  '''
4850
5183
  return typing.cast(builtins.str, jsii.get(self, "attrLocationUri"))
4851
5184
 
5185
+ @builtins.property
5186
+ @jsii.member(jsii_name="attrManagedSecretConfig")
5187
+ def attr_managed_secret_config(self) -> _IResolvable_da3f097b:
5188
+ '''Specifies configuration information for a DataSync-managed secret, such as an authentication token or set of credentials that DataSync uses to access a specific transfer location.
5189
+
5190
+ DataSync uses the default AWS-managed KMS key to encrypt this secret in AWS Secrets Manager.
5191
+
5192
+ :cloudformationAttribute: ManagedSecretConfig
5193
+ '''
5194
+ return typing.cast(_IResolvable_da3f097b, jsii.get(self, "attrManagedSecretConfig"))
5195
+
4852
5196
  @builtins.property
4853
5197
  @jsii.member(jsii_name="cfnProperties")
4854
5198
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
@@ -4861,30 +5205,30 @@ class CfnLocationObjectStorage(
4861
5205
  return typing.cast(_TagManager_0a598cb3, jsii.get(self, "tags"))
4862
5206
 
4863
5207
  @builtins.property
4864
- @jsii.member(jsii_name="agentArns")
4865
- def agent_arns(self) -> typing.List[builtins.str]:
4866
- '''Specifies the Amazon Resource Names (ARNs) of the DataSync agents that can connect with your object storage system.'''
4867
- return typing.cast(typing.List[builtins.str], jsii.get(self, "agentArns"))
5208
+ @jsii.member(jsii_name="accessKey")
5209
+ def access_key(self) -> typing.Optional[builtins.str]:
5210
+ '''Specifies the access key (for example, a user name) if credentials are required to authenticate with the object storage server.'''
5211
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "accessKey"))
4868
5212
 
4869
- @agent_arns.setter
4870
- def agent_arns(self, value: typing.List[builtins.str]) -> None:
5213
+ @access_key.setter
5214
+ def access_key(self, value: typing.Optional[builtins.str]) -> None:
4871
5215
  if __debug__:
4872
- type_hints = typing.get_type_hints(_typecheckingstub__af42e226779e989fe6f4a4e7403f44c0a7f4048f3185f2bd0fdbbe0f191363ec)
5216
+ type_hints = typing.get_type_hints(_typecheckingstub__5bab62678e3c33f0a6edfb878fe17304321977ba3655bb45d3504aa54de9dadc)
4873
5217
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
4874
- jsii.set(self, "agentArns", value) # pyright: ignore[reportArgumentType]
5218
+ jsii.set(self, "accessKey", value) # pyright: ignore[reportArgumentType]
4875
5219
 
4876
5220
  @builtins.property
4877
- @jsii.member(jsii_name="accessKey")
4878
- def access_key(self) -> typing.Optional[builtins.str]:
4879
- '''Specifies the access key (for example, a user name) if credentials are required to authenticate with the object storage server.'''
4880
- return typing.cast(typing.Optional[builtins.str], jsii.get(self, "accessKey"))
5221
+ @jsii.member(jsii_name="agentArns")
5222
+ def agent_arns(self) -> typing.Optional[typing.List[builtins.str]]:
5223
+ '''Specifies the Amazon Resource Names (ARNs) of the DataSync agents that can connect with your object storage system.'''
5224
+ return typing.cast(typing.Optional[typing.List[builtins.str]], jsii.get(self, "agentArns"))
4881
5225
 
4882
- @access_key.setter
4883
- def access_key(self, value: typing.Optional[builtins.str]) -> None:
5226
+ @agent_arns.setter
5227
+ def agent_arns(self, value: typing.Optional[typing.List[builtins.str]]) -> None:
4884
5228
  if __debug__:
4885
- type_hints = typing.get_type_hints(_typecheckingstub__5bab62678e3c33f0a6edfb878fe17304321977ba3655bb45d3504aa54de9dadc)
5229
+ type_hints = typing.get_type_hints(_typecheckingstub__af42e226779e989fe6f4a4e7403f44c0a7f4048f3185f2bd0fdbbe0f191363ec)
4886
5230
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
4887
- jsii.set(self, "accessKey", value) # pyright: ignore[reportArgumentType]
5231
+ jsii.set(self, "agentArns", value) # pyright: ignore[reportArgumentType]
4888
5232
 
4889
5233
  @builtins.property
4890
5234
  @jsii.member(jsii_name="bucketName")
@@ -4899,6 +5243,42 @@ class CfnLocationObjectStorage(
4899
5243
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
4900
5244
  jsii.set(self, "bucketName", value) # pyright: ignore[reportArgumentType]
4901
5245
 
5246
+ @builtins.property
5247
+ @jsii.member(jsii_name="cmkSecretConfig")
5248
+ def cmk_secret_config(
5249
+ self,
5250
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnLocationObjectStorage.CmkSecretConfigProperty"]]:
5251
+ '''Specifies configuration information for a DataSync-managed secret, such as an authentication token or set of credentials that DataSync uses to access a specific transfer location, and a customer-managed AWS KMS key.'''
5252
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnLocationObjectStorage.CmkSecretConfigProperty"]], jsii.get(self, "cmkSecretConfig"))
5253
+
5254
+ @cmk_secret_config.setter
5255
+ def cmk_secret_config(
5256
+ self,
5257
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnLocationObjectStorage.CmkSecretConfigProperty"]],
5258
+ ) -> None:
5259
+ if __debug__:
5260
+ type_hints = typing.get_type_hints(_typecheckingstub__750d7a103b8b00f0ab06ca1128b92bb839b2b91e71e5a388ec467dacd0fb58b6)
5261
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
5262
+ jsii.set(self, "cmkSecretConfig", value) # pyright: ignore[reportArgumentType]
5263
+
5264
+ @builtins.property
5265
+ @jsii.member(jsii_name="customSecretConfig")
5266
+ def custom_secret_config(
5267
+ self,
5268
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnLocationObjectStorage.CustomSecretConfigProperty"]]:
5269
+ '''Specifies configuration information for a customer-managed secret, such as an authentication token or set of credentials that DataSync uses to access a specific transfer location, and an IAM role that DataSync can assume and access the customer-managed secret.'''
5270
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnLocationObjectStorage.CustomSecretConfigProperty"]], jsii.get(self, "customSecretConfig"))
5271
+
5272
+ @custom_secret_config.setter
5273
+ def custom_secret_config(
5274
+ self,
5275
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnLocationObjectStorage.CustomSecretConfigProperty"]],
5276
+ ) -> None:
5277
+ if __debug__:
5278
+ type_hints = typing.get_type_hints(_typecheckingstub__f8e807a4053a1cf75e73e9841ea082806de0e3097bc4b377492cf4268c03a8c5)
5279
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
5280
+ jsii.set(self, "customSecretConfig", value) # pyright: ignore[reportArgumentType]
5281
+
4902
5282
  @builtins.property
4903
5283
  @jsii.member(jsii_name="secretKey")
4904
5284
  def secret_key(self) -> typing.Optional[builtins.str]:
@@ -4990,14 +5370,216 @@ class CfnLocationObjectStorage(
4990
5370
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
4991
5371
  jsii.set(self, "tagsRaw", value) # pyright: ignore[reportArgumentType]
4992
5372
 
5373
+ @jsii.data_type(
5374
+ jsii_type="aws-cdk-lib.aws_datasync.CfnLocationObjectStorage.CmkSecretConfigProperty",
5375
+ jsii_struct_bases=[],
5376
+ name_mapping={"kms_key_arn": "kmsKeyArn", "secret_arn": "secretArn"},
5377
+ )
5378
+ class CmkSecretConfigProperty:
5379
+ def __init__(
5380
+ self,
5381
+ *,
5382
+ kms_key_arn: typing.Optional[builtins.str] = None,
5383
+ secret_arn: typing.Optional[builtins.str] = None,
5384
+ ) -> None:
5385
+ '''Specifies configuration information for a DataSync-managed secret, such as an authentication token or set of credentials that DataSync uses to access a specific transfer location, and a customer-managed AWS KMS key.
5386
+
5387
+ :param kms_key_arn: Specifies the ARN for the customer-managed AWS KMS key used to encrypt the secret specified for SecretArn. DataSync provides this key to AWS Secrets Manager.
5388
+ :param secret_arn: Specifies the ARN for an AWS Secrets Manager secret, managed by DataSync.
5389
+
5390
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-locationobjectstorage-cmksecretconfig.html
5391
+ :exampleMetadata: fixture=_generated
5392
+
5393
+ Example::
5394
+
5395
+ # The code below shows an example of how to instantiate this type.
5396
+ # The values are placeholders you should change.
5397
+ from aws_cdk import aws_datasync as datasync
5398
+
5399
+ cmk_secret_config_property = datasync.CfnLocationObjectStorage.CmkSecretConfigProperty(
5400
+ kms_key_arn="kmsKeyArn",
5401
+ secret_arn="secretArn"
5402
+ )
5403
+ '''
5404
+ if __debug__:
5405
+ type_hints = typing.get_type_hints(_typecheckingstub__86e020e5a613eca69f847ddcabf398915f10f12953f8b4391e961243da06c955)
5406
+ check_type(argname="argument kms_key_arn", value=kms_key_arn, expected_type=type_hints["kms_key_arn"])
5407
+ check_type(argname="argument secret_arn", value=secret_arn, expected_type=type_hints["secret_arn"])
5408
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
5409
+ if kms_key_arn is not None:
5410
+ self._values["kms_key_arn"] = kms_key_arn
5411
+ if secret_arn is not None:
5412
+ self._values["secret_arn"] = secret_arn
5413
+
5414
+ @builtins.property
5415
+ def kms_key_arn(self) -> typing.Optional[builtins.str]:
5416
+ '''Specifies the ARN for the customer-managed AWS KMS key used to encrypt the secret specified for SecretArn.
5417
+
5418
+ DataSync provides this key to AWS Secrets Manager.
5419
+
5420
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-locationobjectstorage-cmksecretconfig.html#cfn-datasync-locationobjectstorage-cmksecretconfig-kmskeyarn
5421
+ '''
5422
+ result = self._values.get("kms_key_arn")
5423
+ return typing.cast(typing.Optional[builtins.str], result)
5424
+
5425
+ @builtins.property
5426
+ def secret_arn(self) -> typing.Optional[builtins.str]:
5427
+ '''Specifies the ARN for an AWS Secrets Manager secret, managed by DataSync.
5428
+
5429
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-locationobjectstorage-cmksecretconfig.html#cfn-datasync-locationobjectstorage-cmksecretconfig-secretarn
5430
+ '''
5431
+ result = self._values.get("secret_arn")
5432
+ return typing.cast(typing.Optional[builtins.str], result)
5433
+
5434
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
5435
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
5436
+
5437
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
5438
+ return not (rhs == self)
5439
+
5440
+ def __repr__(self) -> str:
5441
+ return "CmkSecretConfigProperty(%s)" % ", ".join(
5442
+ k + "=" + repr(v) for k, v in self._values.items()
5443
+ )
5444
+
5445
+ @jsii.data_type(
5446
+ jsii_type="aws-cdk-lib.aws_datasync.CfnLocationObjectStorage.CustomSecretConfigProperty",
5447
+ jsii_struct_bases=[],
5448
+ name_mapping={
5449
+ "secret_access_role_arn": "secretAccessRoleArn",
5450
+ "secret_arn": "secretArn",
5451
+ },
5452
+ )
5453
+ class CustomSecretConfigProperty:
5454
+ def __init__(
5455
+ self,
5456
+ *,
5457
+ secret_access_role_arn: builtins.str,
5458
+ secret_arn: builtins.str,
5459
+ ) -> None:
5460
+ '''Specifies configuration information for a customer-managed secret, such as an authentication token or set of credentials that DataSync uses to access a specific transfer location, and an IAM role that DataSync can assume and access the customer-managed secret.
5461
+
5462
+ :param secret_access_role_arn: Specifies the ARN for the AWS Identity and Access Management role that DataSync uses to access the secret specified for SecretArn.
5463
+ :param secret_arn: Specifies the ARN for a customer created AWS Secrets Manager secret.
5464
+
5465
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-locationobjectstorage-customsecretconfig.html
5466
+ :exampleMetadata: fixture=_generated
5467
+
5468
+ Example::
5469
+
5470
+ # The code below shows an example of how to instantiate this type.
5471
+ # The values are placeholders you should change.
5472
+ from aws_cdk import aws_datasync as datasync
5473
+
5474
+ custom_secret_config_property = datasync.CfnLocationObjectStorage.CustomSecretConfigProperty(
5475
+ secret_access_role_arn="secretAccessRoleArn",
5476
+ secret_arn="secretArn"
5477
+ )
5478
+ '''
5479
+ if __debug__:
5480
+ type_hints = typing.get_type_hints(_typecheckingstub__630b549b792c8efcdd58178e432579f521d2a86cc91c662fd9c77d74c4293cb8)
5481
+ check_type(argname="argument secret_access_role_arn", value=secret_access_role_arn, expected_type=type_hints["secret_access_role_arn"])
5482
+ check_type(argname="argument secret_arn", value=secret_arn, expected_type=type_hints["secret_arn"])
5483
+ self._values: typing.Dict[builtins.str, typing.Any] = {
5484
+ "secret_access_role_arn": secret_access_role_arn,
5485
+ "secret_arn": secret_arn,
5486
+ }
5487
+
5488
+ @builtins.property
5489
+ def secret_access_role_arn(self) -> builtins.str:
5490
+ '''Specifies the ARN for the AWS Identity and Access Management role that DataSync uses to access the secret specified for SecretArn.
5491
+
5492
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-locationobjectstorage-customsecretconfig.html#cfn-datasync-locationobjectstorage-customsecretconfig-secretaccessrolearn
5493
+ '''
5494
+ result = self._values.get("secret_access_role_arn")
5495
+ assert result is not None, "Required property 'secret_access_role_arn' is missing"
5496
+ return typing.cast(builtins.str, result)
5497
+
5498
+ @builtins.property
5499
+ def secret_arn(self) -> builtins.str:
5500
+ '''Specifies the ARN for a customer created AWS Secrets Manager secret.
5501
+
5502
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-locationobjectstorage-customsecretconfig.html#cfn-datasync-locationobjectstorage-customsecretconfig-secretarn
5503
+ '''
5504
+ result = self._values.get("secret_arn")
5505
+ assert result is not None, "Required property 'secret_arn' is missing"
5506
+ return typing.cast(builtins.str, result)
5507
+
5508
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
5509
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
5510
+
5511
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
5512
+ return not (rhs == self)
5513
+
5514
+ def __repr__(self) -> str:
5515
+ return "CustomSecretConfigProperty(%s)" % ", ".join(
5516
+ k + "=" + repr(v) for k, v in self._values.items()
5517
+ )
5518
+
5519
+ @jsii.data_type(
5520
+ jsii_type="aws-cdk-lib.aws_datasync.CfnLocationObjectStorage.ManagedSecretConfigProperty",
5521
+ jsii_struct_bases=[],
5522
+ name_mapping={"secret_arn": "secretArn"},
5523
+ )
5524
+ class ManagedSecretConfigProperty:
5525
+ def __init__(self, *, secret_arn: builtins.str) -> None:
5526
+ '''Specifies configuration information for a DataSync-managed secret, such as an authentication token or set of credentials that DataSync uses to access a specific transfer location.
5527
+
5528
+ DataSync uses the default AWS-managed KMS key to encrypt this secret in AWS Secrets Manager.
5529
+
5530
+ :param secret_arn: Specifies the ARN for an AWS Secrets Manager secret.
5531
+
5532
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-locationobjectstorage-managedsecretconfig.html
5533
+ :exampleMetadata: fixture=_generated
5534
+
5535
+ Example::
5536
+
5537
+ # The code below shows an example of how to instantiate this type.
5538
+ # The values are placeholders you should change.
5539
+ from aws_cdk import aws_datasync as datasync
5540
+
5541
+ managed_secret_config_property = datasync.CfnLocationObjectStorage.ManagedSecretConfigProperty(
5542
+ secret_arn="secretArn"
5543
+ )
5544
+ '''
5545
+ if __debug__:
5546
+ type_hints = typing.get_type_hints(_typecheckingstub__65c61b34a40852805ad1d8c34da183c741fa3a1957daae2b986eb1a616335549)
5547
+ check_type(argname="argument secret_arn", value=secret_arn, expected_type=type_hints["secret_arn"])
5548
+ self._values: typing.Dict[builtins.str, typing.Any] = {
5549
+ "secret_arn": secret_arn,
5550
+ }
5551
+
5552
+ @builtins.property
5553
+ def secret_arn(self) -> builtins.str:
5554
+ '''Specifies the ARN for an AWS Secrets Manager secret.
5555
+
5556
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-locationobjectstorage-managedsecretconfig.html#cfn-datasync-locationobjectstorage-managedsecretconfig-secretarn
5557
+ '''
5558
+ result = self._values.get("secret_arn")
5559
+ assert result is not None, "Required property 'secret_arn' is missing"
5560
+ return typing.cast(builtins.str, result)
5561
+
5562
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
5563
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
5564
+
5565
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
5566
+ return not (rhs == self)
5567
+
5568
+ def __repr__(self) -> str:
5569
+ return "ManagedSecretConfigProperty(%s)" % ", ".join(
5570
+ k + "=" + repr(v) for k, v in self._values.items()
5571
+ )
5572
+
4993
5573
 
4994
5574
  @jsii.data_type(
4995
5575
  jsii_type="aws-cdk-lib.aws_datasync.CfnLocationObjectStorageProps",
4996
5576
  jsii_struct_bases=[],
4997
5577
  name_mapping={
4998
- "agent_arns": "agentArns",
4999
5578
  "access_key": "accessKey",
5579
+ "agent_arns": "agentArns",
5000
5580
  "bucket_name": "bucketName",
5581
+ "cmk_secret_config": "cmkSecretConfig",
5582
+ "custom_secret_config": "customSecretConfig",
5001
5583
  "secret_key": "secretKey",
5002
5584
  "server_certificate": "serverCertificate",
5003
5585
  "server_hostname": "serverHostname",
@@ -5011,9 +5593,11 @@ class CfnLocationObjectStorageProps:
5011
5593
  def __init__(
5012
5594
  self,
5013
5595
  *,
5014
- agent_arns: typing.Sequence[builtins.str],
5015
5596
  access_key: typing.Optional[builtins.str] = None,
5597
+ agent_arns: typing.Optional[typing.Sequence[builtins.str]] = None,
5016
5598
  bucket_name: typing.Optional[builtins.str] = None,
5599
+ cmk_secret_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnLocationObjectStorage.CmkSecretConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
5600
+ custom_secret_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnLocationObjectStorage.CustomSecretConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
5017
5601
  secret_key: typing.Optional[builtins.str] = None,
5018
5602
  server_certificate: typing.Optional[builtins.str] = None,
5019
5603
  server_hostname: typing.Optional[builtins.str] = None,
@@ -5024,9 +5608,11 @@ class CfnLocationObjectStorageProps:
5024
5608
  ) -> None:
5025
5609
  '''Properties for defining a ``CfnLocationObjectStorage``.
5026
5610
 
5027
- :param agent_arns: Specifies the Amazon Resource Names (ARNs) of the DataSync agents that can connect with your object storage system.
5028
5611
  :param access_key: Specifies the access key (for example, a user name) if credentials are required to authenticate with the object storage server.
5612
+ :param agent_arns: Specifies the Amazon Resource Names (ARNs) of the DataSync agents that can connect with your object storage system.
5029
5613
  :param bucket_name: Specifies the name of the object storage bucket involved in the transfer.
5614
+ :param cmk_secret_config: Specifies configuration information for a DataSync-managed secret, such as an authentication token or set of credentials that DataSync uses to access a specific transfer location, and a customer-managed AWS KMS key.
5615
+ :param custom_secret_config: Specifies configuration information for a customer-managed secret, such as an authentication token or set of credentials that DataSync uses to access a specific transfer location, and an IAM role that DataSync can assume and access the customer-managed secret.
5030
5616
  :param secret_key: Specifies the secret key (for example, a password) if credentials are required to authenticate with the object storage server.
5031
5617
  :param server_certificate: Specifies a certificate chain for DataSync to authenticate with your object storage system if the system uses a private or self-signed certificate authority (CA). You must specify a single ``.pem`` file with a full certificate chain (for example, ``file:///home/user/.ssh/object_storage_certificates.pem`` ). The certificate chain might include: - The object storage system's certificate - All intermediate certificates (if there are any) - The root certificate of the signing CA You can concatenate your certificates into a ``.pem`` file (which can be up to 32768 bytes before base64 encoding). The following example ``cat`` command creates an ``object_storage_certificates.pem`` file that includes three certificates: ``cat object_server_certificate.pem intermediate_certificate.pem ca_root_certificate.pem > object_storage_certificates.pem`` To use this parameter, configure ``ServerProtocol`` to ``HTTPS`` .
5032
5618
  :param server_hostname: Specifies the domain name or IP version 4 (IPv4) address of the object storage server that your DataSync agent connects to.
@@ -5045,11 +5631,17 @@ class CfnLocationObjectStorageProps:
5045
5631
  from aws_cdk import aws_datasync as datasync
5046
5632
 
5047
5633
  cfn_location_object_storage_props = datasync.CfnLocationObjectStorageProps(
5048
- agent_arns=["agentArns"],
5049
-
5050
- # the properties below are optional
5051
5634
  access_key="accessKey",
5635
+ agent_arns=["agentArns"],
5052
5636
  bucket_name="bucketName",
5637
+ cmk_secret_config=datasync.CfnLocationObjectStorage.CmkSecretConfigProperty(
5638
+ kms_key_arn="kmsKeyArn",
5639
+ secret_arn="secretArn"
5640
+ ),
5641
+ custom_secret_config=datasync.CfnLocationObjectStorage.CustomSecretConfigProperty(
5642
+ secret_access_role_arn="secretAccessRoleArn",
5643
+ secret_arn="secretArn"
5644
+ ),
5053
5645
  secret_key="secretKey",
5054
5646
  server_certificate="serverCertificate",
5055
5647
  server_hostname="serverHostname",
@@ -5064,9 +5656,11 @@ class CfnLocationObjectStorageProps:
5064
5656
  '''
5065
5657
  if __debug__:
5066
5658
  type_hints = typing.get_type_hints(_typecheckingstub__d542a26da4e93d9d103e234c98ed367d8b6bea7d295017a32de5525e1ec22b45)
5067
- check_type(argname="argument agent_arns", value=agent_arns, expected_type=type_hints["agent_arns"])
5068
5659
  check_type(argname="argument access_key", value=access_key, expected_type=type_hints["access_key"])
5660
+ check_type(argname="argument agent_arns", value=agent_arns, expected_type=type_hints["agent_arns"])
5069
5661
  check_type(argname="argument bucket_name", value=bucket_name, expected_type=type_hints["bucket_name"])
5662
+ check_type(argname="argument cmk_secret_config", value=cmk_secret_config, expected_type=type_hints["cmk_secret_config"])
5663
+ check_type(argname="argument custom_secret_config", value=custom_secret_config, expected_type=type_hints["custom_secret_config"])
5070
5664
  check_type(argname="argument secret_key", value=secret_key, expected_type=type_hints["secret_key"])
5071
5665
  check_type(argname="argument server_certificate", value=server_certificate, expected_type=type_hints["server_certificate"])
5072
5666
  check_type(argname="argument server_hostname", value=server_hostname, expected_type=type_hints["server_hostname"])
@@ -5074,13 +5668,17 @@ class CfnLocationObjectStorageProps:
5074
5668
  check_type(argname="argument server_protocol", value=server_protocol, expected_type=type_hints["server_protocol"])
5075
5669
  check_type(argname="argument subdirectory", value=subdirectory, expected_type=type_hints["subdirectory"])
5076
5670
  check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
5077
- self._values: typing.Dict[builtins.str, typing.Any] = {
5078
- "agent_arns": agent_arns,
5079
- }
5671
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
5080
5672
  if access_key is not None:
5081
5673
  self._values["access_key"] = access_key
5674
+ if agent_arns is not None:
5675
+ self._values["agent_arns"] = agent_arns
5082
5676
  if bucket_name is not None:
5083
5677
  self._values["bucket_name"] = bucket_name
5678
+ if cmk_secret_config is not None:
5679
+ self._values["cmk_secret_config"] = cmk_secret_config
5680
+ if custom_secret_config is not None:
5681
+ self._values["custom_secret_config"] = custom_secret_config
5084
5682
  if secret_key is not None:
5085
5683
  self._values["secret_key"] = secret_key
5086
5684
  if server_certificate is not None:
@@ -5096,16 +5694,6 @@ class CfnLocationObjectStorageProps:
5096
5694
  if tags is not None:
5097
5695
  self._values["tags"] = tags
5098
5696
 
5099
- @builtins.property
5100
- def agent_arns(self) -> typing.List[builtins.str]:
5101
- '''Specifies the Amazon Resource Names (ARNs) of the DataSync agents that can connect with your object storage system.
5102
-
5103
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationobjectstorage.html#cfn-datasync-locationobjectstorage-agentarns
5104
- '''
5105
- result = self._values.get("agent_arns")
5106
- assert result is not None, "Required property 'agent_arns' is missing"
5107
- return typing.cast(typing.List[builtins.str], result)
5108
-
5109
5697
  @builtins.property
5110
5698
  def access_key(self) -> typing.Optional[builtins.str]:
5111
5699
  '''Specifies the access key (for example, a user name) if credentials are required to authenticate with the object storage server.
@@ -5115,6 +5703,15 @@ class CfnLocationObjectStorageProps:
5115
5703
  result = self._values.get("access_key")
5116
5704
  return typing.cast(typing.Optional[builtins.str], result)
5117
5705
 
5706
+ @builtins.property
5707
+ def agent_arns(self) -> typing.Optional[typing.List[builtins.str]]:
5708
+ '''Specifies the Amazon Resource Names (ARNs) of the DataSync agents that can connect with your object storage system.
5709
+
5710
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationobjectstorage.html#cfn-datasync-locationobjectstorage-agentarns
5711
+ '''
5712
+ result = self._values.get("agent_arns")
5713
+ return typing.cast(typing.Optional[typing.List[builtins.str]], result)
5714
+
5118
5715
  @builtins.property
5119
5716
  def bucket_name(self) -> typing.Optional[builtins.str]:
5120
5717
  '''Specifies the name of the object storage bucket involved in the transfer.
@@ -5124,6 +5721,28 @@ class CfnLocationObjectStorageProps:
5124
5721
  result = self._values.get("bucket_name")
5125
5722
  return typing.cast(typing.Optional[builtins.str], result)
5126
5723
 
5724
+ @builtins.property
5725
+ def cmk_secret_config(
5726
+ self,
5727
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnLocationObjectStorage.CmkSecretConfigProperty]]:
5728
+ '''Specifies configuration information for a DataSync-managed secret, such as an authentication token or set of credentials that DataSync uses to access a specific transfer location, and a customer-managed AWS KMS key.
5729
+
5730
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationobjectstorage.html#cfn-datasync-locationobjectstorage-cmksecretconfig
5731
+ '''
5732
+ result = self._values.get("cmk_secret_config")
5733
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, CfnLocationObjectStorage.CmkSecretConfigProperty]], result)
5734
+
5735
+ @builtins.property
5736
+ def custom_secret_config(
5737
+ self,
5738
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnLocationObjectStorage.CustomSecretConfigProperty]]:
5739
+ '''Specifies configuration information for a customer-managed secret, such as an authentication token or set of credentials that DataSync uses to access a specific transfer location, and an IAM role that DataSync can assume and access the customer-managed secret.
5740
+
5741
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationobjectstorage.html#cfn-datasync-locationobjectstorage-customsecretconfig
5742
+ '''
5743
+ result = self._values.get("custom_secret_config")
5744
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, CfnLocationObjectStorage.CustomSecretConfigProperty]], result)
5745
+
5127
5746
  @builtins.property
5128
5747
  def secret_key(self) -> typing.Optional[builtins.str]:
5129
5748
  '''Specifies the secret key (for example, a password) if credentials are required to authenticate with the object storage server.
@@ -6189,684 +6808,133 @@ class CfnLocationSMBProps:
6189
6808
  If you have multiple domains in your environment, configuring this parameter makes sure that DataSync connects to the right SMB file server.
6190
6809
 
6191
6810
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationsmb.html#cfn-datasync-locationsmb-dnsipaddresses
6192
- '''
6193
- result = self._values.get("dns_ip_addresses")
6194
- return typing.cast(typing.Optional[typing.List[builtins.str]], result)
6195
-
6196
- @builtins.property
6197
- def domain(self) -> typing.Optional[builtins.str]:
6198
- '''Specifies the Windows domain name that your SMB file server belongs to.
6199
-
6200
- This parameter applies only if ``AuthenticationType`` is set to ``NTLM`` .
6201
-
6202
- If you have multiple domains in your environment, configuring this parameter makes sure that DataSync connects to the right file server.
6203
-
6204
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationsmb.html#cfn-datasync-locationsmb-domain
6205
- '''
6206
- result = self._values.get("domain")
6207
- return typing.cast(typing.Optional[builtins.str], result)
6208
-
6209
- @builtins.property
6210
- def kerberos_keytab(self) -> typing.Optional[builtins.str]:
6211
- '''Specifies your Kerberos key table (keytab) file, which includes mappings between your Kerberos principal and encryption keys.
6212
-
6213
- The file must be base64 encoded.
6214
-
6215
- To avoid task execution errors, make sure that the Kerberos principal that you use to create the keytab file matches exactly what you specify for ``KerberosPrincipal`` .
6216
-
6217
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationsmb.html#cfn-datasync-locationsmb-kerberoskeytab
6218
- '''
6219
- result = self._values.get("kerberos_keytab")
6220
- return typing.cast(typing.Optional[builtins.str], result)
6221
-
6222
- @builtins.property
6223
- def kerberos_krb5_conf(self) -> typing.Optional[builtins.str]:
6224
- '''Specifies a Kerberos configuration file ( ``krb5.conf`` ) that defines your Kerberos realm configuration.
6225
-
6226
- The file must be base64 encoded.
6227
-
6228
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationsmb.html#cfn-datasync-locationsmb-kerberoskrb5conf
6229
- '''
6230
- result = self._values.get("kerberos_krb5_conf")
6231
- return typing.cast(typing.Optional[builtins.str], result)
6232
-
6233
- @builtins.property
6234
- def kerberos_principal(self) -> typing.Optional[builtins.str]:
6235
- '''Specifies a Kerberos prinicpal, which is an identity in your Kerberos realm that has permission to access the files, folders, and file metadata in your SMB file server.
6236
-
6237
- A Kerberos principal might look like ``HOST/kerberosuser@MYDOMAIN.ORG`` .
6238
-
6239
- Principal names are case sensitive. Your DataSync task execution will fail if the principal that you specify for this parameter doesn’t exactly match the principal that you use to create the keytab file.
6240
-
6241
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationsmb.html#cfn-datasync-locationsmb-kerberosprincipal
6242
- '''
6243
- result = self._values.get("kerberos_principal")
6244
- return typing.cast(typing.Optional[builtins.str], result)
6245
-
6246
- @builtins.property
6247
- def mount_options(
6248
- self,
6249
- ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnLocationSMB.MountOptionsProperty]]:
6250
- '''Specifies the version of the SMB protocol that DataSync uses to access your SMB file server.
6251
-
6252
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationsmb.html#cfn-datasync-locationsmb-mountoptions
6253
- '''
6254
- result = self._values.get("mount_options")
6255
- return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, CfnLocationSMB.MountOptionsProperty]], result)
6256
-
6257
- @builtins.property
6258
- def password(self) -> typing.Optional[builtins.str]:
6259
- '''Specifies the password of the user who can mount your SMB file server and has permission to access the files and folders involved in your transfer.
6260
-
6261
- This parameter applies only if ``AuthenticationType`` is set to ``NTLM`` .
6262
-
6263
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationsmb.html#cfn-datasync-locationsmb-password
6264
- '''
6265
- result = self._values.get("password")
6266
- return typing.cast(typing.Optional[builtins.str], result)
6267
-
6268
- @builtins.property
6269
- def server_hostname(self) -> typing.Optional[builtins.str]:
6270
- '''Specifies the domain name or IP address of the SMB file server that your DataSync agent connects to.
6271
-
6272
- Remember the following when configuring this parameter:
6273
-
6274
- - You can't specify an IP version 6 (IPv6) address.
6275
- - If you're using Kerberos authentication, you must specify a domain name.
6276
-
6277
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationsmb.html#cfn-datasync-locationsmb-serverhostname
6278
- '''
6279
- result = self._values.get("server_hostname")
6280
- return typing.cast(typing.Optional[builtins.str], result)
6281
-
6282
- @builtins.property
6283
- def subdirectory(self) -> typing.Optional[builtins.str]:
6284
- '''Specifies the name of the share exported by your SMB file server where DataSync will read or write data.
6285
-
6286
- You can include a subdirectory in the share path (for example, ``/path/to/subdirectory`` ). Make sure that other SMB clients in your network can also mount this path.
6287
-
6288
- To copy all data in the subdirectory, DataSync must be able to mount the SMB share and access all of its data. For more information, see `Providing DataSync access to SMB file servers <https://docs.aws.amazon.com/datasync/latest/userguide/create-smb-location.html#configuring-smb-permissions>`_ .
6289
-
6290
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationsmb.html#cfn-datasync-locationsmb-subdirectory
6291
- '''
6292
- result = self._values.get("subdirectory")
6293
- return typing.cast(typing.Optional[builtins.str], result)
6294
-
6295
- @builtins.property
6296
- def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
6297
- '''Specifies labels that help you categorize, filter, and search for your AWS resources.
6298
-
6299
- We recommend creating at least a name tag for your location.
6300
-
6301
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationsmb.html#cfn-datasync-locationsmb-tags
6302
- '''
6303
- result = self._values.get("tags")
6304
- return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], result)
6305
-
6306
- @builtins.property
6307
- def user(self) -> typing.Optional[builtins.str]:
6308
- '''Specifies the user that can mount and access the files, folders, and file metadata in your SMB file server.
6309
-
6310
- This parameter applies only if ``AuthenticationType`` is set to ``NTLM`` .
6311
-
6312
- For information about choosing a user with the right level of access for your transfer, see `Providing DataSync access to SMB file servers <https://docs.aws.amazon.com/datasync/latest/userguide/create-smb-location.html#configuring-smb-permissions>`_ .
6313
-
6314
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationsmb.html#cfn-datasync-locationsmb-user
6315
- '''
6316
- result = self._values.get("user")
6317
- return typing.cast(typing.Optional[builtins.str], result)
6318
-
6319
- def __eq__(self, rhs: typing.Any) -> builtins.bool:
6320
- return isinstance(rhs, self.__class__) and rhs._values == self._values
6321
-
6322
- def __ne__(self, rhs: typing.Any) -> builtins.bool:
6323
- return not (rhs == self)
6324
-
6325
- def __repr__(self) -> str:
6326
- return "CfnLocationSMBProps(%s)" % ", ".join(
6327
- k + "=" + repr(v) for k, v in self._values.items()
6328
- )
6329
-
6330
-
6331
- @jsii.implements(_IInspectable_c2943556, _ITaggable_36806126)
6332
- class CfnStorageSystem(
6333
- _CfnResource_9df397a6,
6334
- metaclass=jsii.JSIIMeta,
6335
- jsii_type="aws-cdk-lib.aws_datasync.CfnStorageSystem",
6336
- ):
6337
- '''http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-storagesystem.html.
6338
-
6339
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-storagesystem.html
6340
- :cloudformationResource: AWS::DataSync::StorageSystem
6341
- :exampleMetadata: fixture=_generated
6342
-
6343
- Example::
6344
-
6345
- # The code below shows an example of how to instantiate this type.
6346
- # The values are placeholders you should change.
6347
- from aws_cdk import aws_datasync as datasync
6348
-
6349
- cfn_storage_system = datasync.CfnStorageSystem(self, "MyCfnStorageSystem",
6350
- agent_arns=["agentArns"],
6351
- server_configuration=datasync.CfnStorageSystem.ServerConfigurationProperty(
6352
- server_hostname="serverHostname",
6353
-
6354
- # the properties below are optional
6355
- server_port=123
6356
- ),
6357
- system_type="systemType",
6358
-
6359
- # the properties below are optional
6360
- cloud_watch_log_group_arn="cloudWatchLogGroupArn",
6361
- name="name",
6362
- server_credentials=datasync.CfnStorageSystem.ServerCredentialsProperty(
6363
- password="password",
6364
- username="username"
6365
- ),
6366
- tags=[CfnTag(
6367
- key="key",
6368
- value="value"
6369
- )]
6370
- )
6371
- '''
6372
-
6373
- def __init__(
6374
- self,
6375
- scope: _constructs_77d1e7e8.Construct,
6376
- id: builtins.str,
6377
- *,
6378
- agent_arns: typing.Sequence[builtins.str],
6379
- server_configuration: typing.Union[_IResolvable_da3f097b, typing.Union["CfnStorageSystem.ServerConfigurationProperty", typing.Dict[builtins.str, typing.Any]]],
6380
- system_type: builtins.str,
6381
- cloud_watch_log_group_arn: typing.Optional[builtins.str] = None,
6382
- name: typing.Optional[builtins.str] = None,
6383
- server_credentials: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnStorageSystem.ServerCredentialsProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
6384
- tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
6385
- ) -> None:
6386
- '''
6387
- :param scope: Scope in which this resource is defined.
6388
- :param id: Construct identifier for this resource (unique in its scope).
6389
- :param agent_arns:
6390
- :param server_configuration:
6391
- :param system_type:
6392
- :param cloud_watch_log_group_arn:
6393
- :param name:
6394
- :param server_credentials:
6395
- :param tags:
6396
- '''
6397
- if __debug__:
6398
- type_hints = typing.get_type_hints(_typecheckingstub__cd03aea3d03c00385e272f326dc093d0575219e3eac09a9f89062f9453a9360f)
6399
- check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
6400
- check_type(argname="argument id", value=id, expected_type=type_hints["id"])
6401
- props = CfnStorageSystemProps(
6402
- agent_arns=agent_arns,
6403
- server_configuration=server_configuration,
6404
- system_type=system_type,
6405
- cloud_watch_log_group_arn=cloud_watch_log_group_arn,
6406
- name=name,
6407
- server_credentials=server_credentials,
6408
- tags=tags,
6409
- )
6410
-
6411
- jsii.create(self.__class__, self, [scope, id, props])
6412
-
6413
- @jsii.member(jsii_name="inspect")
6414
- def inspect(self, inspector: _TreeInspector_488e0dd5) -> None:
6415
- '''Examines the CloudFormation resource and discloses attributes.
6416
-
6417
- :param inspector: tree inspector to collect and process attributes.
6418
- '''
6419
- if __debug__:
6420
- type_hints = typing.get_type_hints(_typecheckingstub__9d30237b704bab23311aad893ff50107b6fc1840c11f7ab06f9fd41ffce46d0d)
6421
- check_type(argname="argument inspector", value=inspector, expected_type=type_hints["inspector"])
6422
- return typing.cast(None, jsii.invoke(self, "inspect", [inspector]))
6423
-
6424
- @jsii.member(jsii_name="renderProperties")
6425
- def _render_properties(
6426
- self,
6427
- props: typing.Mapping[builtins.str, typing.Any],
6428
- ) -> typing.Mapping[builtins.str, typing.Any]:
6429
- '''
6430
- :param props: -
6431
- '''
6432
- if __debug__:
6433
- type_hints = typing.get_type_hints(_typecheckingstub__81b9c192e8b33247af58d9ec7498864f379be5476b6c0a2aeb98684bc257c348)
6434
- check_type(argname="argument props", value=props, expected_type=type_hints["props"])
6435
- return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.invoke(self, "renderProperties", [props]))
6436
-
6437
- @jsii.python.classproperty
6438
- @jsii.member(jsii_name="CFN_RESOURCE_TYPE_NAME")
6439
- def CFN_RESOURCE_TYPE_NAME(cls) -> builtins.str:
6440
- '''The CloudFormation resource type name for this resource class.'''
6441
- return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
6442
-
6443
- @builtins.property
6444
- @jsii.member(jsii_name="attrConnectivityStatus")
6445
- def attr_connectivity_status(self) -> builtins.str:
6446
- '''
6447
- :cloudformationAttribute: ConnectivityStatus
6448
- '''
6449
- return typing.cast(builtins.str, jsii.get(self, "attrConnectivityStatus"))
6450
-
6451
- @builtins.property
6452
- @jsii.member(jsii_name="attrId")
6453
- def attr_id(self) -> builtins.str:
6454
- '''
6455
- :cloudformationAttribute: Id
6456
- '''
6457
- return typing.cast(builtins.str, jsii.get(self, "attrId"))
6458
-
6459
- @builtins.property
6460
- @jsii.member(jsii_name="attrSecretsManagerArn")
6461
- def attr_secrets_manager_arn(self) -> builtins.str:
6462
- '''
6463
- :cloudformationAttribute: SecretsManagerArn
6464
- '''
6465
- return typing.cast(builtins.str, jsii.get(self, "attrSecretsManagerArn"))
6466
-
6467
- @builtins.property
6468
- @jsii.member(jsii_name="attrStorageSystemArn")
6469
- def attr_storage_system_arn(self) -> builtins.str:
6470
- '''
6471
- :cloudformationAttribute: StorageSystemArn
6472
- '''
6473
- return typing.cast(builtins.str, jsii.get(self, "attrStorageSystemArn"))
6474
-
6475
- @builtins.property
6476
- @jsii.member(jsii_name="cfnProperties")
6477
- def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
6478
- return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
6479
-
6480
- @builtins.property
6481
- @jsii.member(jsii_name="tags")
6482
- def tags(self) -> _TagManager_0a598cb3:
6483
- '''Tag Manager which manages the tags for this resource.'''
6484
- return typing.cast(_TagManager_0a598cb3, jsii.get(self, "tags"))
6485
-
6486
- @builtins.property
6487
- @jsii.member(jsii_name="agentArns")
6488
- def agent_arns(self) -> typing.List[builtins.str]:
6489
- return typing.cast(typing.List[builtins.str], jsii.get(self, "agentArns"))
6490
-
6491
- @agent_arns.setter
6492
- def agent_arns(self, value: typing.List[builtins.str]) -> None:
6493
- if __debug__:
6494
- type_hints = typing.get_type_hints(_typecheckingstub__91c1b3e5cd2d7dd98537d8ad2c7deae28f00b5d6d23089b99cb0768ef5ca4d7f)
6495
- check_type(argname="argument value", value=value, expected_type=type_hints["value"])
6496
- jsii.set(self, "agentArns", value) # pyright: ignore[reportArgumentType]
6497
-
6498
- @builtins.property
6499
- @jsii.member(jsii_name="serverConfiguration")
6500
- def server_configuration(
6501
- self,
6502
- ) -> typing.Union[_IResolvable_da3f097b, "CfnStorageSystem.ServerConfigurationProperty"]:
6503
- return typing.cast(typing.Union[_IResolvable_da3f097b, "CfnStorageSystem.ServerConfigurationProperty"], jsii.get(self, "serverConfiguration"))
6504
-
6505
- @server_configuration.setter
6506
- def server_configuration(
6507
- self,
6508
- value: typing.Union[_IResolvable_da3f097b, "CfnStorageSystem.ServerConfigurationProperty"],
6509
- ) -> None:
6510
- if __debug__:
6511
- type_hints = typing.get_type_hints(_typecheckingstub__81366a44879ecfffc2cf1020a13667d2ef18466bde35cc8a36864bab3668086b)
6512
- check_type(argname="argument value", value=value, expected_type=type_hints["value"])
6513
- jsii.set(self, "serverConfiguration", value) # pyright: ignore[reportArgumentType]
6514
-
6515
- @builtins.property
6516
- @jsii.member(jsii_name="systemType")
6517
- def system_type(self) -> builtins.str:
6518
- return typing.cast(builtins.str, jsii.get(self, "systemType"))
6519
-
6520
- @system_type.setter
6521
- def system_type(self, value: builtins.str) -> None:
6522
- if __debug__:
6523
- type_hints = typing.get_type_hints(_typecheckingstub__1ac346e347fbe1b4d60467d3562a6b070e1ed3e50a18844309f094f5f94cb7f6)
6524
- check_type(argname="argument value", value=value, expected_type=type_hints["value"])
6525
- jsii.set(self, "systemType", value) # pyright: ignore[reportArgumentType]
6526
-
6527
- @builtins.property
6528
- @jsii.member(jsii_name="cloudWatchLogGroupArn")
6529
- def cloud_watch_log_group_arn(self) -> typing.Optional[builtins.str]:
6530
- return typing.cast(typing.Optional[builtins.str], jsii.get(self, "cloudWatchLogGroupArn"))
6531
-
6532
- @cloud_watch_log_group_arn.setter
6533
- def cloud_watch_log_group_arn(self, value: typing.Optional[builtins.str]) -> None:
6534
- if __debug__:
6535
- type_hints = typing.get_type_hints(_typecheckingstub__e8cf99420b818e4ec735e8ef96836c7c265a5bb74331a73d84e9fc56a6321299)
6536
- check_type(argname="argument value", value=value, expected_type=type_hints["value"])
6537
- jsii.set(self, "cloudWatchLogGroupArn", value) # pyright: ignore[reportArgumentType]
6538
-
6539
- @builtins.property
6540
- @jsii.member(jsii_name="name")
6541
- def name(self) -> typing.Optional[builtins.str]:
6542
- return typing.cast(typing.Optional[builtins.str], jsii.get(self, "name"))
6543
-
6544
- @name.setter
6545
- def name(self, value: typing.Optional[builtins.str]) -> None:
6546
- if __debug__:
6547
- type_hints = typing.get_type_hints(_typecheckingstub__764666a950d4d83875874f1d9312ef4c5d98748fc51fe8f1dc9c8cf696e4e0bd)
6548
- check_type(argname="argument value", value=value, expected_type=type_hints["value"])
6549
- jsii.set(self, "name", value) # pyright: ignore[reportArgumentType]
6550
-
6551
- @builtins.property
6552
- @jsii.member(jsii_name="serverCredentials")
6553
- def server_credentials(
6554
- self,
6555
- ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnStorageSystem.ServerCredentialsProperty"]]:
6556
- return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnStorageSystem.ServerCredentialsProperty"]], jsii.get(self, "serverCredentials"))
6557
-
6558
- @server_credentials.setter
6559
- def server_credentials(
6560
- self,
6561
- value: typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnStorageSystem.ServerCredentialsProperty"]],
6562
- ) -> None:
6563
- if __debug__:
6564
- type_hints = typing.get_type_hints(_typecheckingstub__2f52a2f2a6197dee934b3eaad41d0b7cc429e508ed4c3d4437b45f339ffd8712)
6565
- check_type(argname="argument value", value=value, expected_type=type_hints["value"])
6566
- jsii.set(self, "serverCredentials", value) # pyright: ignore[reportArgumentType]
6567
-
6568
- @builtins.property
6569
- @jsii.member(jsii_name="tagsRaw")
6570
- def tags_raw(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
6571
- return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], jsii.get(self, "tagsRaw"))
6572
-
6573
- @tags_raw.setter
6574
- def tags_raw(self, value: typing.Optional[typing.List[_CfnTag_f6864754]]) -> None:
6575
- if __debug__:
6576
- type_hints = typing.get_type_hints(_typecheckingstub__3f06b57402f5a745b22a5a454fa8563a935276c499111bb78103406214b07c52)
6577
- check_type(argname="argument value", value=value, expected_type=type_hints["value"])
6578
- jsii.set(self, "tagsRaw", value) # pyright: ignore[reportArgumentType]
6579
-
6580
- @jsii.data_type(
6581
- jsii_type="aws-cdk-lib.aws_datasync.CfnStorageSystem.ServerConfigurationProperty",
6582
- jsii_struct_bases=[],
6583
- name_mapping={
6584
- "server_hostname": "serverHostname",
6585
- "server_port": "serverPort",
6586
- },
6587
- )
6588
- class ServerConfigurationProperty:
6589
- def __init__(
6590
- self,
6591
- *,
6592
- server_hostname: builtins.str,
6593
- server_port: typing.Optional[jsii.Number] = None,
6594
- ) -> None:
6595
- '''
6596
- :param server_hostname:
6597
- :param server_port:
6598
-
6599
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-storagesystem-serverconfiguration.html
6600
- :exampleMetadata: fixture=_generated
6601
-
6602
- Example::
6603
-
6604
- # The code below shows an example of how to instantiate this type.
6605
- # The values are placeholders you should change.
6606
- from aws_cdk import aws_datasync as datasync
6607
-
6608
- server_configuration_property = datasync.CfnStorageSystem.ServerConfigurationProperty(
6609
- server_hostname="serverHostname",
6610
-
6611
- # the properties below are optional
6612
- server_port=123
6613
- )
6614
- '''
6615
- if __debug__:
6616
- type_hints = typing.get_type_hints(_typecheckingstub__0b2d9d38924c8714fdacccf65a04ce2f4670647a35b1330abeacb71b09b32c66)
6617
- check_type(argname="argument server_hostname", value=server_hostname, expected_type=type_hints["server_hostname"])
6618
- check_type(argname="argument server_port", value=server_port, expected_type=type_hints["server_port"])
6619
- self._values: typing.Dict[builtins.str, typing.Any] = {
6620
- "server_hostname": server_hostname,
6621
- }
6622
- if server_port is not None:
6623
- self._values["server_port"] = server_port
6624
-
6625
- @builtins.property
6626
- def server_hostname(self) -> builtins.str:
6627
- '''
6628
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-storagesystem-serverconfiguration.html#cfn-datasync-storagesystem-serverconfiguration-serverhostname
6629
- '''
6630
- result = self._values.get("server_hostname")
6631
- assert result is not None, "Required property 'server_hostname' is missing"
6632
- return typing.cast(builtins.str, result)
6633
-
6634
- @builtins.property
6635
- def server_port(self) -> typing.Optional[jsii.Number]:
6636
- '''
6637
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-storagesystem-serverconfiguration.html#cfn-datasync-storagesystem-serverconfiguration-serverport
6638
- '''
6639
- result = self._values.get("server_port")
6640
- return typing.cast(typing.Optional[jsii.Number], result)
6641
-
6642
- def __eq__(self, rhs: typing.Any) -> builtins.bool:
6643
- return isinstance(rhs, self.__class__) and rhs._values == self._values
6644
-
6645
- def __ne__(self, rhs: typing.Any) -> builtins.bool:
6646
- return not (rhs == self)
6647
-
6648
- def __repr__(self) -> str:
6649
- return "ServerConfigurationProperty(%s)" % ", ".join(
6650
- k + "=" + repr(v) for k, v in self._values.items()
6651
- )
6652
-
6653
- @jsii.data_type(
6654
- jsii_type="aws-cdk-lib.aws_datasync.CfnStorageSystem.ServerCredentialsProperty",
6655
- jsii_struct_bases=[],
6656
- name_mapping={"password": "password", "username": "username"},
6657
- )
6658
- class ServerCredentialsProperty:
6659
- def __init__(self, *, password: builtins.str, username: builtins.str) -> None:
6660
- '''
6661
- :param password:
6662
- :param username:
6663
-
6664
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-storagesystem-servercredentials.html
6665
- :exampleMetadata: fixture=_generated
6666
-
6667
- Example::
6668
-
6669
- # The code below shows an example of how to instantiate this type.
6670
- # The values are placeholders you should change.
6671
- from aws_cdk import aws_datasync as datasync
6672
-
6673
- server_credentials_property = datasync.CfnStorageSystem.ServerCredentialsProperty(
6674
- password="password",
6675
- username="username"
6676
- )
6677
- '''
6678
- if __debug__:
6679
- type_hints = typing.get_type_hints(_typecheckingstub__4aca605fb52bb6e32c26164545155c20da0e4d47eff8787d0c19d543d3f0f293)
6680
- check_type(argname="argument password", value=password, expected_type=type_hints["password"])
6681
- check_type(argname="argument username", value=username, expected_type=type_hints["username"])
6682
- self._values: typing.Dict[builtins.str, typing.Any] = {
6683
- "password": password,
6684
- "username": username,
6685
- }
6686
-
6687
- @builtins.property
6688
- def password(self) -> builtins.str:
6689
- '''
6690
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-storagesystem-servercredentials.html#cfn-datasync-storagesystem-servercredentials-password
6691
- '''
6692
- result = self._values.get("password")
6693
- assert result is not None, "Required property 'password' is missing"
6694
- return typing.cast(builtins.str, result)
6695
-
6696
- @builtins.property
6697
- def username(self) -> builtins.str:
6698
- '''
6699
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-storagesystem-servercredentials.html#cfn-datasync-storagesystem-servercredentials-username
6700
- '''
6701
- result = self._values.get("username")
6702
- assert result is not None, "Required property 'username' is missing"
6703
- return typing.cast(builtins.str, result)
6704
-
6705
- def __eq__(self, rhs: typing.Any) -> builtins.bool:
6706
- return isinstance(rhs, self.__class__) and rhs._values == self._values
6707
-
6708
- def __ne__(self, rhs: typing.Any) -> builtins.bool:
6709
- return not (rhs == self)
6710
-
6711
- def __repr__(self) -> str:
6712
- return "ServerCredentialsProperty(%s)" % ", ".join(
6713
- k + "=" + repr(v) for k, v in self._values.items()
6714
- )
6715
-
6716
-
6717
- @jsii.data_type(
6718
- jsii_type="aws-cdk-lib.aws_datasync.CfnStorageSystemProps",
6719
- jsii_struct_bases=[],
6720
- name_mapping={
6721
- "agent_arns": "agentArns",
6722
- "server_configuration": "serverConfiguration",
6723
- "system_type": "systemType",
6724
- "cloud_watch_log_group_arn": "cloudWatchLogGroupArn",
6725
- "name": "name",
6726
- "server_credentials": "serverCredentials",
6727
- "tags": "tags",
6728
- },
6729
- )
6730
- class CfnStorageSystemProps:
6731
- def __init__(
6732
- self,
6733
- *,
6734
- agent_arns: typing.Sequence[builtins.str],
6735
- server_configuration: typing.Union[_IResolvable_da3f097b, typing.Union[CfnStorageSystem.ServerConfigurationProperty, typing.Dict[builtins.str, typing.Any]]],
6736
- system_type: builtins.str,
6737
- cloud_watch_log_group_arn: typing.Optional[builtins.str] = None,
6738
- name: typing.Optional[builtins.str] = None,
6739
- server_credentials: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnStorageSystem.ServerCredentialsProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
6740
- tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
6741
- ) -> None:
6742
- '''Properties for defining a ``CfnStorageSystem``.
6743
-
6744
- :param agent_arns:
6745
- :param server_configuration:
6746
- :param system_type:
6747
- :param cloud_watch_log_group_arn:
6748
- :param name:
6749
- :param server_credentials:
6750
- :param tags:
6751
-
6752
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-storagesystem.html
6753
- :exampleMetadata: fixture=_generated
6754
-
6755
- Example::
6756
-
6757
- # The code below shows an example of how to instantiate this type.
6758
- # The values are placeholders you should change.
6759
- from aws_cdk import aws_datasync as datasync
6760
-
6761
- cfn_storage_system_props = datasync.CfnStorageSystemProps(
6762
- agent_arns=["agentArns"],
6763
- server_configuration=datasync.CfnStorageSystem.ServerConfigurationProperty(
6764
- server_hostname="serverHostname",
6765
-
6766
- # the properties below are optional
6767
- server_port=123
6768
- ),
6769
- system_type="systemType",
6770
-
6771
- # the properties below are optional
6772
- cloud_watch_log_group_arn="cloudWatchLogGroupArn",
6773
- name="name",
6774
- server_credentials=datasync.CfnStorageSystem.ServerCredentialsProperty(
6775
- password="password",
6776
- username="username"
6777
- ),
6778
- tags=[CfnTag(
6779
- key="key",
6780
- value="value"
6781
- )]
6782
- )
6783
- '''
6784
- if __debug__:
6785
- type_hints = typing.get_type_hints(_typecheckingstub__b07c9f88707493efc0c6204abeacfb93dcb4bfdc339feb06b9cedb3c14e549a6)
6786
- check_type(argname="argument agent_arns", value=agent_arns, expected_type=type_hints["agent_arns"])
6787
- check_type(argname="argument server_configuration", value=server_configuration, expected_type=type_hints["server_configuration"])
6788
- check_type(argname="argument system_type", value=system_type, expected_type=type_hints["system_type"])
6789
- check_type(argname="argument cloud_watch_log_group_arn", value=cloud_watch_log_group_arn, expected_type=type_hints["cloud_watch_log_group_arn"])
6790
- check_type(argname="argument name", value=name, expected_type=type_hints["name"])
6791
- check_type(argname="argument server_credentials", value=server_credentials, expected_type=type_hints["server_credentials"])
6792
- check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
6793
- self._values: typing.Dict[builtins.str, typing.Any] = {
6794
- "agent_arns": agent_arns,
6795
- "server_configuration": server_configuration,
6796
- "system_type": system_type,
6797
- }
6798
- if cloud_watch_log_group_arn is not None:
6799
- self._values["cloud_watch_log_group_arn"] = cloud_watch_log_group_arn
6800
- if name is not None:
6801
- self._values["name"] = name
6802
- if server_credentials is not None:
6803
- self._values["server_credentials"] = server_credentials
6804
- if tags is not None:
6805
- self._values["tags"] = tags
6811
+ '''
6812
+ result = self._values.get("dns_ip_addresses")
6813
+ return typing.cast(typing.Optional[typing.List[builtins.str]], result)
6806
6814
 
6807
6815
  @builtins.property
6808
- def agent_arns(self) -> typing.List[builtins.str]:
6809
- '''
6810
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-storagesystem.html#cfn-datasync-storagesystem-agentarns
6816
+ def domain(self) -> typing.Optional[builtins.str]:
6817
+ '''Specifies the Windows domain name that your SMB file server belongs to.
6818
+
6819
+ This parameter applies only if ``AuthenticationType`` is set to ``NTLM`` .
6820
+
6821
+ If you have multiple domains in your environment, configuring this parameter makes sure that DataSync connects to the right file server.
6822
+
6823
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationsmb.html#cfn-datasync-locationsmb-domain
6811
6824
  '''
6812
- result = self._values.get("agent_arns")
6813
- assert result is not None, "Required property 'agent_arns' is missing"
6814
- return typing.cast(typing.List[builtins.str], result)
6825
+ result = self._values.get("domain")
6826
+ return typing.cast(typing.Optional[builtins.str], result)
6815
6827
 
6816
6828
  @builtins.property
6817
- def server_configuration(
6818
- self,
6819
- ) -> typing.Union[_IResolvable_da3f097b, CfnStorageSystem.ServerConfigurationProperty]:
6820
- '''
6821
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-storagesystem.html#cfn-datasync-storagesystem-serverconfiguration
6829
+ def kerberos_keytab(self) -> typing.Optional[builtins.str]:
6830
+ '''Specifies your Kerberos key table (keytab) file, which includes mappings between your Kerberos principal and encryption keys.
6831
+
6832
+ The file must be base64 encoded.
6833
+
6834
+ To avoid task execution errors, make sure that the Kerberos principal that you use to create the keytab file matches exactly what you specify for ``KerberosPrincipal`` .
6835
+
6836
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationsmb.html#cfn-datasync-locationsmb-kerberoskeytab
6822
6837
  '''
6823
- result = self._values.get("server_configuration")
6824
- assert result is not None, "Required property 'server_configuration' is missing"
6825
- return typing.cast(typing.Union[_IResolvable_da3f097b, CfnStorageSystem.ServerConfigurationProperty], result)
6838
+ result = self._values.get("kerberos_keytab")
6839
+ return typing.cast(typing.Optional[builtins.str], result)
6826
6840
 
6827
6841
  @builtins.property
6828
- def system_type(self) -> builtins.str:
6829
- '''
6830
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-storagesystem.html#cfn-datasync-storagesystem-systemtype
6842
+ def kerberos_krb5_conf(self) -> typing.Optional[builtins.str]:
6843
+ '''Specifies a Kerberos configuration file ( ``krb5.conf`` ) that defines your Kerberos realm configuration.
6844
+
6845
+ The file must be base64 encoded.
6846
+
6847
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationsmb.html#cfn-datasync-locationsmb-kerberoskrb5conf
6831
6848
  '''
6832
- result = self._values.get("system_type")
6833
- assert result is not None, "Required property 'system_type' is missing"
6834
- return typing.cast(builtins.str, result)
6849
+ result = self._values.get("kerberos_krb5_conf")
6850
+ return typing.cast(typing.Optional[builtins.str], result)
6835
6851
 
6836
6852
  @builtins.property
6837
- def cloud_watch_log_group_arn(self) -> typing.Optional[builtins.str]:
6838
- '''
6839
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-storagesystem.html#cfn-datasync-storagesystem-cloudwatchloggrouparn
6853
+ def kerberos_principal(self) -> typing.Optional[builtins.str]:
6854
+ '''Specifies a Kerberos prinicpal, which is an identity in your Kerberos realm that has permission to access the files, folders, and file metadata in your SMB file server.
6855
+
6856
+ A Kerberos principal might look like ``HOST/kerberosuser@MYDOMAIN.ORG`` .
6857
+
6858
+ Principal names are case sensitive. Your DataSync task execution will fail if the principal that you specify for this parameter doesn’t exactly match the principal that you use to create the keytab file.
6859
+
6860
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationsmb.html#cfn-datasync-locationsmb-kerberosprincipal
6840
6861
  '''
6841
- result = self._values.get("cloud_watch_log_group_arn")
6862
+ result = self._values.get("kerberos_principal")
6842
6863
  return typing.cast(typing.Optional[builtins.str], result)
6843
6864
 
6844
6865
  @builtins.property
6845
- def name(self) -> typing.Optional[builtins.str]:
6866
+ def mount_options(
6867
+ self,
6868
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnLocationSMB.MountOptionsProperty]]:
6869
+ '''Specifies the version of the SMB protocol that DataSync uses to access your SMB file server.
6870
+
6871
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationsmb.html#cfn-datasync-locationsmb-mountoptions
6846
6872
  '''
6847
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-storagesystem.html#cfn-datasync-storagesystem-name
6873
+ result = self._values.get("mount_options")
6874
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, CfnLocationSMB.MountOptionsProperty]], result)
6875
+
6876
+ @builtins.property
6877
+ def password(self) -> typing.Optional[builtins.str]:
6878
+ '''Specifies the password of the user who can mount your SMB file server and has permission to access the files and folders involved in your transfer.
6879
+
6880
+ This parameter applies only if ``AuthenticationType`` is set to ``NTLM`` .
6881
+
6882
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationsmb.html#cfn-datasync-locationsmb-password
6848
6883
  '''
6849
- result = self._values.get("name")
6884
+ result = self._values.get("password")
6850
6885
  return typing.cast(typing.Optional[builtins.str], result)
6851
6886
 
6852
6887
  @builtins.property
6853
- def server_credentials(
6854
- self,
6855
- ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnStorageSystem.ServerCredentialsProperty]]:
6888
+ def server_hostname(self) -> typing.Optional[builtins.str]:
6889
+ '''Specifies the domain name or IP address of the SMB file server that your DataSync agent connects to.
6890
+
6891
+ Remember the following when configuring this parameter:
6892
+
6893
+ - You can't specify an IP version 6 (IPv6) address.
6894
+ - If you're using Kerberos authentication, you must specify a domain name.
6895
+
6896
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationsmb.html#cfn-datasync-locationsmb-serverhostname
6856
6897
  '''
6857
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-storagesystem.html#cfn-datasync-storagesystem-servercredentials
6898
+ result = self._values.get("server_hostname")
6899
+ return typing.cast(typing.Optional[builtins.str], result)
6900
+
6901
+ @builtins.property
6902
+ def subdirectory(self) -> typing.Optional[builtins.str]:
6903
+ '''Specifies the name of the share exported by your SMB file server where DataSync will read or write data.
6904
+
6905
+ You can include a subdirectory in the share path (for example, ``/path/to/subdirectory`` ). Make sure that other SMB clients in your network can also mount this path.
6906
+
6907
+ To copy all data in the subdirectory, DataSync must be able to mount the SMB share and access all of its data. For more information, see `Providing DataSync access to SMB file servers <https://docs.aws.amazon.com/datasync/latest/userguide/create-smb-location.html#configuring-smb-permissions>`_ .
6908
+
6909
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationsmb.html#cfn-datasync-locationsmb-subdirectory
6858
6910
  '''
6859
- result = self._values.get("server_credentials")
6860
- return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, CfnStorageSystem.ServerCredentialsProperty]], result)
6911
+ result = self._values.get("subdirectory")
6912
+ return typing.cast(typing.Optional[builtins.str], result)
6861
6913
 
6862
6914
  @builtins.property
6863
6915
  def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
6864
- '''
6865
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-storagesystem.html#cfn-datasync-storagesystem-tags
6916
+ '''Specifies labels that help you categorize, filter, and search for your AWS resources.
6917
+
6918
+ We recommend creating at least a name tag for your location.
6919
+
6920
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationsmb.html#cfn-datasync-locationsmb-tags
6866
6921
  '''
6867
6922
  result = self._values.get("tags")
6868
6923
  return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], result)
6869
6924
 
6925
+ @builtins.property
6926
+ def user(self) -> typing.Optional[builtins.str]:
6927
+ '''Specifies the user that can mount and access the files, folders, and file metadata in your SMB file server.
6928
+
6929
+ This parameter applies only if ``AuthenticationType`` is set to ``NTLM`` .
6930
+
6931
+ For information about choosing a user with the right level of access for your transfer, see `Providing DataSync access to SMB file servers <https://docs.aws.amazon.com/datasync/latest/userguide/create-smb-location.html#configuring-smb-permissions>`_ .
6932
+
6933
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationsmb.html#cfn-datasync-locationsmb-user
6934
+ '''
6935
+ result = self._values.get("user")
6936
+ return typing.cast(typing.Optional[builtins.str], result)
6937
+
6870
6938
  def __eq__(self, rhs: typing.Any) -> builtins.bool:
6871
6939
  return isinstance(rhs, self.__class__) and rhs._values == self._values
6872
6940
 
@@ -6874,7 +6942,7 @@ class CfnStorageSystemProps:
6874
6942
  return not (rhs == self)
6875
6943
 
6876
6944
  def __repr__(self) -> str:
6877
- return "CfnStorageSystemProps(%s)" % ", ".join(
6945
+ return "CfnLocationSMBProps(%s)" % ", ".join(
6878
6946
  k + "=" + repr(v) for k, v in self._values.items()
6879
6947
  )
6880
6948
 
@@ -9186,8 +9254,6 @@ __all__ = [
9186
9254
  "CfnLocationS3Props",
9187
9255
  "CfnLocationSMB",
9188
9256
  "CfnLocationSMBProps",
9189
- "CfnStorageSystem",
9190
- "CfnStorageSystemProps",
9191
9257
  "CfnTask",
9192
9258
  "CfnTaskProps",
9193
9259
  ]
@@ -9272,12 +9338,14 @@ def _typecheckingstub__2a49f57a1ab4813b1537b04053be19b99e3fa8f143f30fac9d1bc72ca
9272
9338
  scope: _constructs_77d1e7e8.Construct,
9273
9339
  id: builtins.str,
9274
9340
  *,
9275
- agent_arns: typing.Sequence[builtins.str],
9276
9341
  azure_blob_authentication_type: builtins.str,
9342
+ agent_arns: typing.Optional[typing.Sequence[builtins.str]] = None,
9277
9343
  azure_access_tier: typing.Optional[builtins.str] = None,
9278
9344
  azure_blob_container_url: typing.Optional[builtins.str] = None,
9279
9345
  azure_blob_sas_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnLocationAzureBlob.AzureBlobSasConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
9280
9346
  azure_blob_type: typing.Optional[builtins.str] = None,
9347
+ cmk_secret_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnLocationAzureBlob.CmkSecretConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
9348
+ custom_secret_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnLocationAzureBlob.CustomSecretConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
9281
9349
  subdirectory: typing.Optional[builtins.str] = None,
9282
9350
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
9283
9351
  ) -> None:
@@ -9296,14 +9364,14 @@ def _typecheckingstub__ebde5c22aa68229dea3796deaf496ab61b9ffcfdf6d4f56a59875e604
9296
9364
  """Type checking stubs"""
9297
9365
  pass
9298
9366
 
9299
- def _typecheckingstub__04d94ab53395a58893ca5e5668d51e78b5d567de304ebc1b3c8937ab5824c459(
9300
- value: typing.List[builtins.str],
9367
+ def _typecheckingstub__d66037c88c30360a6dbdeedf60b7cdd8b0d971ae11fb4944eb61af92fe413080(
9368
+ value: builtins.str,
9301
9369
  ) -> None:
9302
9370
  """Type checking stubs"""
9303
9371
  pass
9304
9372
 
9305
- def _typecheckingstub__d66037c88c30360a6dbdeedf60b7cdd8b0d971ae11fb4944eb61af92fe413080(
9306
- value: builtins.str,
9373
+ def _typecheckingstub__04d94ab53395a58893ca5e5668d51e78b5d567de304ebc1b3c8937ab5824c459(
9374
+ value: typing.Optional[typing.List[builtins.str]],
9307
9375
  ) -> None:
9308
9376
  """Type checking stubs"""
9309
9377
  pass
@@ -9332,6 +9400,18 @@ def _typecheckingstub__e74328b40eb55d86e422d5f30530d28f29d1393792015d7646eb06c88
9332
9400
  """Type checking stubs"""
9333
9401
  pass
9334
9402
 
9403
+ def _typecheckingstub__bbe60c9e1409294412076468854254983957a988d2e0d53f2fa73767e4a48525(
9404
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, CfnLocationAzureBlob.CmkSecretConfigProperty]],
9405
+ ) -> None:
9406
+ """Type checking stubs"""
9407
+ pass
9408
+
9409
+ def _typecheckingstub__3276084bb32edc8f06759cb50268fc7821cd740602d985f3b1b967d5267f90dc(
9410
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, CfnLocationAzureBlob.CustomSecretConfigProperty]],
9411
+ ) -> None:
9412
+ """Type checking stubs"""
9413
+ pass
9414
+
9335
9415
  def _typecheckingstub__861788b0a9a32f402ab93793acdec22ae6bb15d217371b8ba36d7cb8ba33fc6b(
9336
9416
  value: typing.Optional[builtins.str],
9337
9417
  ) -> None:
@@ -9351,14 +9431,39 @@ def _typecheckingstub__3b97bd3f13ec4166f121eb8229b7a3322702a4782d767aca2fc1323e9
9351
9431
  """Type checking stubs"""
9352
9432
  pass
9353
9433
 
9434
+ def _typecheckingstub__d03d5287185c3e65174404788128d96c2205212b3aa189dc5803a4b4b4b8ab36(
9435
+ *,
9436
+ kms_key_arn: typing.Optional[builtins.str] = None,
9437
+ secret_arn: typing.Optional[builtins.str] = None,
9438
+ ) -> None:
9439
+ """Type checking stubs"""
9440
+ pass
9441
+
9442
+ def _typecheckingstub__0b2d06a0f90feb2e23667a772b3c70d85bf30ee5c9bef02d35fd7339fdffaf93(
9443
+ *,
9444
+ secret_access_role_arn: builtins.str,
9445
+ secret_arn: builtins.str,
9446
+ ) -> None:
9447
+ """Type checking stubs"""
9448
+ pass
9449
+
9450
+ def _typecheckingstub__8ed16453ba6567e90e7b3e0e37a7206cf71efddb64e1cca1af96064be80c9609(
9451
+ *,
9452
+ secret_arn: builtins.str,
9453
+ ) -> None:
9454
+ """Type checking stubs"""
9455
+ pass
9456
+
9354
9457
  def _typecheckingstub__d386b9f5845962fa66385393ccc6424f66b9aee312fecdc96fe3ec242f754bf1(
9355
9458
  *,
9356
- agent_arns: typing.Sequence[builtins.str],
9357
9459
  azure_blob_authentication_type: builtins.str,
9460
+ agent_arns: typing.Optional[typing.Sequence[builtins.str]] = None,
9358
9461
  azure_access_tier: typing.Optional[builtins.str] = None,
9359
9462
  azure_blob_container_url: typing.Optional[builtins.str] = None,
9360
9463
  azure_blob_sas_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnLocationAzureBlob.AzureBlobSasConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
9361
9464
  azure_blob_type: typing.Optional[builtins.str] = None,
9465
+ cmk_secret_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnLocationAzureBlob.CmkSecretConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
9466
+ custom_secret_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnLocationAzureBlob.CustomSecretConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
9362
9467
  subdirectory: typing.Optional[builtins.str] = None,
9363
9468
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
9364
9469
  ) -> None:
@@ -10017,9 +10122,11 @@ def _typecheckingstub__6afc4365b2246b057f5b97e5d62cc10a54cff3be74dae8a9bb184f54b
10017
10122
  scope: _constructs_77d1e7e8.Construct,
10018
10123
  id: builtins.str,
10019
10124
  *,
10020
- agent_arns: typing.Sequence[builtins.str],
10021
10125
  access_key: typing.Optional[builtins.str] = None,
10126
+ agent_arns: typing.Optional[typing.Sequence[builtins.str]] = None,
10022
10127
  bucket_name: typing.Optional[builtins.str] = None,
10128
+ cmk_secret_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnLocationObjectStorage.CmkSecretConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
10129
+ custom_secret_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnLocationObjectStorage.CustomSecretConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
10023
10130
  secret_key: typing.Optional[builtins.str] = None,
10024
10131
  server_certificate: typing.Optional[builtins.str] = None,
10025
10132
  server_hostname: typing.Optional[builtins.str] = None,
@@ -10043,14 +10150,14 @@ def _typecheckingstub__1891041f95311e30edfb4c440a05c41fa9ad1fb130ed42400500c5785
10043
10150
  """Type checking stubs"""
10044
10151
  pass
10045
10152
 
10046
- def _typecheckingstub__af42e226779e989fe6f4a4e7403f44c0a7f4048f3185f2bd0fdbbe0f191363ec(
10047
- value: typing.List[builtins.str],
10153
+ def _typecheckingstub__5bab62678e3c33f0a6edfb878fe17304321977ba3655bb45d3504aa54de9dadc(
10154
+ value: typing.Optional[builtins.str],
10048
10155
  ) -> None:
10049
10156
  """Type checking stubs"""
10050
10157
  pass
10051
10158
 
10052
- def _typecheckingstub__5bab62678e3c33f0a6edfb878fe17304321977ba3655bb45d3504aa54de9dadc(
10053
- value: typing.Optional[builtins.str],
10159
+ def _typecheckingstub__af42e226779e989fe6f4a4e7403f44c0a7f4048f3185f2bd0fdbbe0f191363ec(
10160
+ value: typing.Optional[typing.List[builtins.str]],
10054
10161
  ) -> None:
10055
10162
  """Type checking stubs"""
10056
10163
  pass
@@ -10061,6 +10168,18 @@ def _typecheckingstub__daf6330b6613abe7771487991e7b16db5686e2242ecdbb63f4ef7e946
10061
10168
  """Type checking stubs"""
10062
10169
  pass
10063
10170
 
10171
+ def _typecheckingstub__750d7a103b8b00f0ab06ca1128b92bb839b2b91e71e5a388ec467dacd0fb58b6(
10172
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, CfnLocationObjectStorage.CmkSecretConfigProperty]],
10173
+ ) -> None:
10174
+ """Type checking stubs"""
10175
+ pass
10176
+
10177
+ def _typecheckingstub__f8e807a4053a1cf75e73e9841ea082806de0e3097bc4b377492cf4268c03a8c5(
10178
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, CfnLocationObjectStorage.CustomSecretConfigProperty]],
10179
+ ) -> None:
10180
+ """Type checking stubs"""
10181
+ pass
10182
+
10064
10183
  def _typecheckingstub__0cdc4af71140887c9702de30a25cd730dad08983bb31931dbba45c838b77c638(
10065
10184
  value: typing.Optional[builtins.str],
10066
10185
  ) -> None:
@@ -10103,11 +10222,36 @@ def _typecheckingstub__4c7a3d48757bffde04fd1015e50d6672207d2522eec04091eebdb3ac1
10103
10222
  """Type checking stubs"""
10104
10223
  pass
10105
10224
 
10225
+ def _typecheckingstub__86e020e5a613eca69f847ddcabf398915f10f12953f8b4391e961243da06c955(
10226
+ *,
10227
+ kms_key_arn: typing.Optional[builtins.str] = None,
10228
+ secret_arn: typing.Optional[builtins.str] = None,
10229
+ ) -> None:
10230
+ """Type checking stubs"""
10231
+ pass
10232
+
10233
+ def _typecheckingstub__630b549b792c8efcdd58178e432579f521d2a86cc91c662fd9c77d74c4293cb8(
10234
+ *,
10235
+ secret_access_role_arn: builtins.str,
10236
+ secret_arn: builtins.str,
10237
+ ) -> None:
10238
+ """Type checking stubs"""
10239
+ pass
10240
+
10241
+ def _typecheckingstub__65c61b34a40852805ad1d8c34da183c741fa3a1957daae2b986eb1a616335549(
10242
+ *,
10243
+ secret_arn: builtins.str,
10244
+ ) -> None:
10245
+ """Type checking stubs"""
10246
+ pass
10247
+
10106
10248
  def _typecheckingstub__d542a26da4e93d9d103e234c98ed367d8b6bea7d295017a32de5525e1ec22b45(
10107
10249
  *,
10108
- agent_arns: typing.Sequence[builtins.str],
10109
10250
  access_key: typing.Optional[builtins.str] = None,
10251
+ agent_arns: typing.Optional[typing.Sequence[builtins.str]] = None,
10110
10252
  bucket_name: typing.Optional[builtins.str] = None,
10253
+ cmk_secret_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnLocationObjectStorage.CmkSecretConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
10254
+ custom_secret_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnLocationObjectStorage.CustomSecretConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
10111
10255
  secret_key: typing.Optional[builtins.str] = None,
10112
10256
  server_certificate: typing.Optional[builtins.str] = None,
10113
10257
  server_hostname: typing.Optional[builtins.str] = None,
@@ -10329,104 +10473,6 @@ def _typecheckingstub__b20670d7cb18baa1155ccc397df310282442d51b95170ab568e5c0a9c
10329
10473
  """Type checking stubs"""
10330
10474
  pass
10331
10475
 
10332
- def _typecheckingstub__cd03aea3d03c00385e272f326dc093d0575219e3eac09a9f89062f9453a9360f(
10333
- scope: _constructs_77d1e7e8.Construct,
10334
- id: builtins.str,
10335
- *,
10336
- agent_arns: typing.Sequence[builtins.str],
10337
- server_configuration: typing.Union[_IResolvable_da3f097b, typing.Union[CfnStorageSystem.ServerConfigurationProperty, typing.Dict[builtins.str, typing.Any]]],
10338
- system_type: builtins.str,
10339
- cloud_watch_log_group_arn: typing.Optional[builtins.str] = None,
10340
- name: typing.Optional[builtins.str] = None,
10341
- server_credentials: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnStorageSystem.ServerCredentialsProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
10342
- tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
10343
- ) -> None:
10344
- """Type checking stubs"""
10345
- pass
10346
-
10347
- def _typecheckingstub__9d30237b704bab23311aad893ff50107b6fc1840c11f7ab06f9fd41ffce46d0d(
10348
- inspector: _TreeInspector_488e0dd5,
10349
- ) -> None:
10350
- """Type checking stubs"""
10351
- pass
10352
-
10353
- def _typecheckingstub__81b9c192e8b33247af58d9ec7498864f379be5476b6c0a2aeb98684bc257c348(
10354
- props: typing.Mapping[builtins.str, typing.Any],
10355
- ) -> None:
10356
- """Type checking stubs"""
10357
- pass
10358
-
10359
- def _typecheckingstub__91c1b3e5cd2d7dd98537d8ad2c7deae28f00b5d6d23089b99cb0768ef5ca4d7f(
10360
- value: typing.List[builtins.str],
10361
- ) -> None:
10362
- """Type checking stubs"""
10363
- pass
10364
-
10365
- def _typecheckingstub__81366a44879ecfffc2cf1020a13667d2ef18466bde35cc8a36864bab3668086b(
10366
- value: typing.Union[_IResolvable_da3f097b, CfnStorageSystem.ServerConfigurationProperty],
10367
- ) -> None:
10368
- """Type checking stubs"""
10369
- pass
10370
-
10371
- def _typecheckingstub__1ac346e347fbe1b4d60467d3562a6b070e1ed3e50a18844309f094f5f94cb7f6(
10372
- value: builtins.str,
10373
- ) -> None:
10374
- """Type checking stubs"""
10375
- pass
10376
-
10377
- def _typecheckingstub__e8cf99420b818e4ec735e8ef96836c7c265a5bb74331a73d84e9fc56a6321299(
10378
- value: typing.Optional[builtins.str],
10379
- ) -> None:
10380
- """Type checking stubs"""
10381
- pass
10382
-
10383
- def _typecheckingstub__764666a950d4d83875874f1d9312ef4c5d98748fc51fe8f1dc9c8cf696e4e0bd(
10384
- value: typing.Optional[builtins.str],
10385
- ) -> None:
10386
- """Type checking stubs"""
10387
- pass
10388
-
10389
- def _typecheckingstub__2f52a2f2a6197dee934b3eaad41d0b7cc429e508ed4c3d4437b45f339ffd8712(
10390
- value: typing.Optional[typing.Union[_IResolvable_da3f097b, CfnStorageSystem.ServerCredentialsProperty]],
10391
- ) -> None:
10392
- """Type checking stubs"""
10393
- pass
10394
-
10395
- def _typecheckingstub__3f06b57402f5a745b22a5a454fa8563a935276c499111bb78103406214b07c52(
10396
- value: typing.Optional[typing.List[_CfnTag_f6864754]],
10397
- ) -> None:
10398
- """Type checking stubs"""
10399
- pass
10400
-
10401
- def _typecheckingstub__0b2d9d38924c8714fdacccf65a04ce2f4670647a35b1330abeacb71b09b32c66(
10402
- *,
10403
- server_hostname: builtins.str,
10404
- server_port: typing.Optional[jsii.Number] = None,
10405
- ) -> None:
10406
- """Type checking stubs"""
10407
- pass
10408
-
10409
- def _typecheckingstub__4aca605fb52bb6e32c26164545155c20da0e4d47eff8787d0c19d543d3f0f293(
10410
- *,
10411
- password: builtins.str,
10412
- username: builtins.str,
10413
- ) -> None:
10414
- """Type checking stubs"""
10415
- pass
10416
-
10417
- def _typecheckingstub__b07c9f88707493efc0c6204abeacfb93dcb4bfdc339feb06b9cedb3c14e549a6(
10418
- *,
10419
- agent_arns: typing.Sequence[builtins.str],
10420
- server_configuration: typing.Union[_IResolvable_da3f097b, typing.Union[CfnStorageSystem.ServerConfigurationProperty, typing.Dict[builtins.str, typing.Any]]],
10421
- system_type: builtins.str,
10422
- cloud_watch_log_group_arn: typing.Optional[builtins.str] = None,
10423
- name: typing.Optional[builtins.str] = None,
10424
- server_credentials: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnStorageSystem.ServerCredentialsProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
10425
- tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
10426
- ) -> None:
10427
- """Type checking stubs"""
10428
- pass
10429
-
10430
10476
  def _typecheckingstub__9add9673a1f0ceb078949e967bce91066ff7e0441dae95d55c11c4a503a397a6(
10431
10477
  scope: _constructs_77d1e7e8.Construct,
10432
10478
  id: builtins.str,