aws-sdk-supplychain 1.15.0 → 1.17.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -463,7 +463,15 @@ module Aws::SupplyChain
463
463
  # permissions for AWS Supply Chain to read the file.
464
464
  #
465
465
  # @option params [String] :client_token
466
- # An idempotency token.
466
+ # An idempotency token ensures the API request is only completed no more
467
+ # than once. This way, retrying the request will not trigger the
468
+ # operation multiple times. A client token is a unique, case-sensitive
469
+ # string of 33 to 128 ASCII characters. To make an idempotent API
470
+ # request, specify a client token in the request. You should not reuse
471
+ # the same client token for other requests. If you retry a successful
472
+ # request with the same client token, the request will succeed with no
473
+ # further actions being taken, and you will receive the same API
474
+ # response as the original successful request.
467
475
  #
468
476
  # **A suitable default value is auto-generated.** You should normally
469
477
  # not need to pass this option.**
@@ -507,75 +515,2004 @@ module Aws::SupplyChain
507
515
  req.send_request(options)
508
516
  end
509
517
 
518
+ # Create DataIntegrationFlow to map one or more different sources to one
519
+ # target using the SQL transformation query.
520
+ #
521
+ # @option params [required, String] :instance_id
522
+ # The Amazon Web Services Supply Chain instance identifier.
523
+ #
524
+ # @option params [required, String] :name
525
+ # Name of the DataIntegrationFlow.
526
+ #
527
+ # @option params [required, Array<Types::DataIntegrationFlowSource>] :sources
528
+ # The source configurations for DataIntegrationFlow.
529
+ #
530
+ # @option params [required, Types::DataIntegrationFlowTransformation] :transformation
531
+ # The transformation configurations for DataIntegrationFlow.
532
+ #
533
+ # @option params [required, Types::DataIntegrationFlowTarget] :target
534
+ # The target configurations for DataIntegrationFlow.
535
+ #
536
+ # @option params [Hash<String,String>] :tags
537
+ # The tags of the DataIntegrationFlow to be created
538
+ #
539
+ # @return [Types::CreateDataIntegrationFlowResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
540
+ #
541
+ # * {Types::CreateDataIntegrationFlowResponse#instance_id #instance_id} => String
542
+ # * {Types::CreateDataIntegrationFlowResponse#name #name} => String
543
+ #
544
+ #
545
+ # @example Example: Successful CreateDataIntegrationFlow for s3 to dataset flow
546
+ #
547
+ # resp = client.create_data_integration_flow({
548
+ # name: "testStagingFlow",
549
+ # instance_id: "8850c54e-e187-4fa7-89d4-6370f165174d",
550
+ # sources: [
551
+ # {
552
+ # s3_source: {
553
+ # bucket_name: "aws-supply-chain-data-b8c7bb28-a576-4334-b481-6d6e8e47371f",
554
+ # prefix: "example-prefix",
555
+ # },
556
+ # source_name: "testSourceName",
557
+ # source_type: "S3",
558
+ # },
559
+ # ],
560
+ # tags: {
561
+ # "tagKey1" => "tagValue1",
562
+ # },
563
+ # target: {
564
+ # dataset_target: {
565
+ # dataset_identifier: "arn:aws:scn:us-east-1:123456789012:instance/8850c54e-e187-4fa7-89d4-6370f165174d/namespaces/default/datasets/my_staging_dataset",
566
+ # },
567
+ # target_type: "DATASET",
568
+ # },
569
+ # transformation: {
570
+ # sql_transformation: {
571
+ # query: "SELECT * FROM testSourceName",
572
+ # },
573
+ # transformation_type: "SQL",
574
+ # },
575
+ # })
576
+ #
577
+ # resp.to_h outputs the following:
578
+ # {
579
+ # name: "testStagingFlow",
580
+ # instance_id: "8850c54e-e187-4fa7-89d4-6370f165174d",
581
+ # }
582
+ #
583
+ # @example Example: Successful CreateDataIntegrationFlow for dataset to dataset flow
584
+ #
585
+ # resp = client.create_data_integration_flow({
586
+ # name: "trading-partner",
587
+ # instance_id: "8850c54e-e187-4fa7-89d4-6370f165174d",
588
+ # sources: [
589
+ # {
590
+ # dataset_source: {
591
+ # dataset_identifier: "arn:aws:scn:us-east-1:123456789012:instance/8850c54e-e187-4fa7-89d4-6370f165174d/namespaces/default/datasets/my_staging_dataset1",
592
+ # },
593
+ # source_name: "testSourceName1",
594
+ # source_type: "DATASET",
595
+ # },
596
+ # {
597
+ # dataset_source: {
598
+ # dataset_identifier: "arn:aws:scn:us-east-1:123456789012:instance/8850c54e-e187-4fa7-89d4-6370f165174d/namespaces/default/datasets/my_staging_dataset2",
599
+ # },
600
+ # source_name: "testSourceName2",
601
+ # source_type: "DATASET",
602
+ # },
603
+ # ],
604
+ # tags: {
605
+ # "tagKey1" => "tagValue1",
606
+ # },
607
+ # target: {
608
+ # dataset_target: {
609
+ # dataset_identifier: "arn:aws:scn:us-east-1:123456789012:instance/8850c54e-e187-4fa7-89d4-6370f165174d/namespaces/asc/datasets/trading_partner",
610
+ # },
611
+ # target_type: "DATASET",
612
+ # },
613
+ # transformation: {
614
+ # sql_transformation: {
615
+ # query: "SELECT S1.id AS id, S1.poc_org_unit_description AS description, S1.company_id AS company_id, S1.tpartner_type AS tpartner_type, S1.geo_id AS geo_id, S1.eff_start_date AS eff_start_date, S1.eff_end_date AS eff_end_date FROM testSourceName1 AS S1 LEFT JOIN testSourceName2 as S2 ON S1.id=S2.id",
616
+ # },
617
+ # transformation_type: "SQL",
618
+ # },
619
+ # })
620
+ #
621
+ # resp.to_h outputs the following:
622
+ # {
623
+ # name: "trading-partner",
624
+ # instance_id: "8850c54e-e187-4fa7-89d4-6370f165174d",
625
+ # }
626
+ #
627
+ # @example Request syntax with placeholder values
628
+ #
629
+ # resp = client.create_data_integration_flow({
630
+ # instance_id: "UUID", # required
631
+ # name: "DataIntegrationFlowName", # required
632
+ # sources: [ # required
633
+ # {
634
+ # source_type: "S3", # required, accepts S3, DATASET
635
+ # source_name: "DataIntegrationFlowSourceName", # required
636
+ # s3_source: {
637
+ # bucket_name: "S3BucketName", # required
638
+ # prefix: "DataIntegrationFlowS3Prefix", # required
639
+ # options: {
640
+ # file_type: "CSV", # accepts CSV, PARQUET, JSON
641
+ # },
642
+ # },
643
+ # dataset_source: {
644
+ # dataset_identifier: "DatasetIdentifier", # required
645
+ # options: {
646
+ # load_type: "INCREMENTAL", # accepts INCREMENTAL, REPLACE
647
+ # dedupe_records: false,
648
+ # },
649
+ # },
650
+ # },
651
+ # ],
652
+ # transformation: { # required
653
+ # transformation_type: "SQL", # required, accepts SQL, NONE
654
+ # sql_transformation: {
655
+ # query: "DataIntegrationFlowSQLQuery", # required
656
+ # },
657
+ # },
658
+ # target: { # required
659
+ # target_type: "S3", # required, accepts S3, DATASET
660
+ # s3_target: {
661
+ # bucket_name: "S3BucketName", # required
662
+ # prefix: "DataIntegrationFlowS3Prefix", # required
663
+ # options: {
664
+ # file_type: "CSV", # accepts CSV, PARQUET, JSON
665
+ # },
666
+ # },
667
+ # dataset_target: {
668
+ # dataset_identifier: "DatasetIdentifier", # required
669
+ # options: {
670
+ # load_type: "INCREMENTAL", # accepts INCREMENTAL, REPLACE
671
+ # dedupe_records: false,
672
+ # },
673
+ # },
674
+ # },
675
+ # tags: {
676
+ # "TagKey" => "TagValue",
677
+ # },
678
+ # })
679
+ #
680
+ # @example Response structure
681
+ #
682
+ # resp.instance_id #=> String
683
+ # resp.name #=> String
684
+ #
685
+ # @see http://docs.aws.amazon.com/goto/WebAPI/supplychain-2024-01-01/CreateDataIntegrationFlow AWS API Documentation
686
+ #
687
+ # @overload create_data_integration_flow(params = {})
688
+ # @param [Hash] params ({})
689
+ def create_data_integration_flow(params = {}, options = {})
690
+ req = build_request(:create_data_integration_flow, params)
691
+ req.send_request(options)
692
+ end
693
+
694
+ # Create a data lake dataset.
695
+ #
696
+ # @option params [required, String] :instance_id
697
+ # The Amazon Web Services Supply Chain instance identifier.
698
+ #
699
+ # @option params [required, String] :namespace
700
+ # The name space of the dataset.
701
+ #
702
+ # * **asc** - For information on the Amazon Web Services Supply Chain
703
+ # supported datasets see
704
+ # [https://docs.aws.amazon.com/aws-supply-chain/latest/userguide/data-model-asc.html][1].
705
+ #
706
+ # * **default** - For datasets with custom user-defined schemas.
707
+ #
708
+ #
709
+ #
710
+ # [1]: https://docs.aws.amazon.com/aws-supply-chain/latest/userguide/data-model-asc.html
711
+ #
712
+ # @option params [required, String] :name
713
+ # The name of the dataset. For **asc** name space, the name must be one
714
+ # of the supported data entities under
715
+ # [https://docs.aws.amazon.com/aws-supply-chain/latest/userguide/data-model-asc.html][1].
716
+ #
717
+ #
718
+ #
719
+ # [1]: https://docs.aws.amazon.com/aws-supply-chain/latest/userguide/data-model-asc.html
720
+ #
721
+ # @option params [Types::DataLakeDatasetSchema] :schema
722
+ # The custom schema of the data lake dataset and is only required when
723
+ # the name space is *default*.
724
+ #
725
+ # @option params [String] :description
726
+ # The description of the dataset.
727
+ #
728
+ # @option params [Hash<String,String>] :tags
729
+ # The tags of the dataset.
730
+ #
731
+ # @return [Types::CreateDataLakeDatasetResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
732
+ #
733
+ # * {Types::CreateDataLakeDatasetResponse#dataset #dataset} => Types::DataLakeDataset
734
+ #
735
+ #
736
+ # @example Example: Create an AWS Supply Chain inbound order dataset
737
+ #
738
+ # resp = client.create_data_lake_dataset({
739
+ # name: "inbound_order",
740
+ # description: "This is an AWS Supply Chain inbound order dataset",
741
+ # instance_id: "1877dd20-dee9-4639-8e99-cb67acf21fe5",
742
+ # namespace: "asc",
743
+ # tags: {
744
+ # "tagKey1" => "tagValue1",
745
+ # "tagKey2" => "tagValue2",
746
+ # },
747
+ # })
748
+ #
749
+ # resp.to_h outputs the following:
750
+ # {
751
+ # dataset: {
752
+ # name: "inbound_order",
753
+ # arn: "arn:aws:scn:us-east-1:012345678910:instance/1877dd20-dee9-4639-8e99-cb67acf21fe5/namespaces/asc/datasets/inbound_order",
754
+ # created_time: Time.parse(1727116807.751),
755
+ # description: "This is an AWS Supply Chain inbound order dataset",
756
+ # instance_id: "1877dd20-dee9-4639-8e99-cb67acf21fe5",
757
+ # last_modified_time: Time.parse(1727116807.751),
758
+ # namespace: "asc",
759
+ # schema: {
760
+ # name: "InboundOrder",
761
+ # fields: [
762
+ # {
763
+ # name: "id",
764
+ # type: "STRING",
765
+ # is_required: true,
766
+ # },
767
+ # {
768
+ # name: "tpartner_id",
769
+ # type: "STRING",
770
+ # is_required: true,
771
+ # },
772
+ # {
773
+ # name: "connection_id",
774
+ # type: "STRING",
775
+ # is_required: true,
776
+ # },
777
+ # {
778
+ # name: "order_type",
779
+ # type: "STRING",
780
+ # is_required: false,
781
+ # },
782
+ # {
783
+ # name: "order_status",
784
+ # type: "STRING",
785
+ # is_required: false,
786
+ # },
787
+ # {
788
+ # name: "inbound_order_url",
789
+ # type: "STRING",
790
+ # is_required: false,
791
+ # },
792
+ # {
793
+ # name: "order_creation_date",
794
+ # type: "TIMESTAMP",
795
+ # is_required: false,
796
+ # },
797
+ # {
798
+ # name: "company_id",
799
+ # type: "STRING",
800
+ # is_required: false,
801
+ # },
802
+ # {
803
+ # name: "to_site_id",
804
+ # type: "STRING",
805
+ # is_required: false,
806
+ # },
807
+ # {
808
+ # name: "order_currency_uom",
809
+ # type: "STRING",
810
+ # is_required: false,
811
+ # },
812
+ # {
813
+ # name: "vendor_currency_uom",
814
+ # type: "STRING",
815
+ # is_required: false,
816
+ # },
817
+ # {
818
+ # name: "exchange_rate",
819
+ # type: "DOUBLE",
820
+ # is_required: false,
821
+ # },
822
+ # {
823
+ # name: "exchange_rate_date",
824
+ # type: "TIMESTAMP",
825
+ # is_required: false,
826
+ # },
827
+ # {
828
+ # name: "incoterm",
829
+ # type: "STRING",
830
+ # is_required: false,
831
+ # },
832
+ # {
833
+ # name: "incoterm2",
834
+ # type: "STRING",
835
+ # is_required: false,
836
+ # },
837
+ # {
838
+ # name: "incoterm_location_1",
839
+ # type: "STRING",
840
+ # is_required: false,
841
+ # },
842
+ # {
843
+ # name: "incoterm_location_2",
844
+ # type: "STRING",
845
+ # is_required: false,
846
+ # },
847
+ # {
848
+ # name: "submitted_date",
849
+ # type: "TIMESTAMP",
850
+ # is_required: false,
851
+ # },
852
+ # {
853
+ # name: "agreement_start_date",
854
+ # type: "TIMESTAMP",
855
+ # is_required: false,
856
+ # },
857
+ # {
858
+ # name: "agreement_end_date",
859
+ # type: "TIMESTAMP",
860
+ # is_required: false,
861
+ # },
862
+ # {
863
+ # name: "shipping_instr_code",
864
+ # type: "STRING",
865
+ # is_required: false,
866
+ # },
867
+ # {
868
+ # name: "payment_terms_code",
869
+ # type: "STRING",
870
+ # is_required: false,
871
+ # },
872
+ # {
873
+ # name: "std_terms_agreement",
874
+ # type: "STRING",
875
+ # is_required: false,
876
+ # },
877
+ # {
878
+ # name: "std_terms_agreement_ver",
879
+ # type: "STRING",
880
+ # is_required: false,
881
+ # },
882
+ # {
883
+ # name: "agreement_number",
884
+ # type: "STRING",
885
+ # is_required: false,
886
+ # },
887
+ # {
888
+ # name: "source",
889
+ # type: "STRING",
890
+ # is_required: false,
891
+ # },
892
+ # {
893
+ # name: "source_update_dttm",
894
+ # type: "TIMESTAMP",
895
+ # is_required: false,
896
+ # },
897
+ # {
898
+ # name: "source_event_id",
899
+ # type: "STRING",
900
+ # is_required: false,
901
+ # },
902
+ # {
903
+ # name: "db_creation_dttm",
904
+ # type: "TIMESTAMP",
905
+ # is_required: false,
906
+ # },
907
+ # {
908
+ # name: "db_updation_dttm",
909
+ # type: "TIMESTAMP",
910
+ # is_required: false,
911
+ # },
912
+ # ],
913
+ # },
914
+ # },
915
+ # }
916
+ #
917
+ # @example Example: Create a custom dataset
918
+ #
919
+ # resp = client.create_data_lake_dataset({
920
+ # name: "my_dataset",
921
+ # description: "This is a custom dataset",
922
+ # instance_id: "1877dd20-dee9-4639-8e99-cb67acf21fe5",
923
+ # namespace: "default",
924
+ # schema: {
925
+ # name: "MyDataset",
926
+ # fields: [
927
+ # {
928
+ # name: "id",
929
+ # type: "INT",
930
+ # is_required: true,
931
+ # },
932
+ # {
933
+ # name: "description",
934
+ # type: "STRING",
935
+ # is_required: true,
936
+ # },
937
+ # {
938
+ # name: "price",
939
+ # type: "DOUBLE",
940
+ # is_required: false,
941
+ # },
942
+ # {
943
+ # name: "creation_time",
944
+ # type: "TIMESTAMP",
945
+ # is_required: false,
946
+ # },
947
+ # ],
948
+ # },
949
+ # tags: {
950
+ # "tagKey1" => "tagValue1",
951
+ # "tagKey2" => "tagValue2",
952
+ # },
953
+ # })
954
+ #
955
+ # resp.to_h outputs the following:
956
+ # {
957
+ # dataset: {
958
+ # name: "my_dataset",
959
+ # arn: "arn:aws:scn:us-east-1:012345678910:instance/1877dd20-dee9-4639-8e99-cb67acf21fe5/namespaces/default/datasets/my_dataset",
960
+ # created_time: Time.parse(1727116807.751),
961
+ # description: "This is a custom dataset",
962
+ # instance_id: "1877dd20-dee9-4639-8e99-cb67acf21fe5",
963
+ # last_modified_time: Time.parse(1727116807.751),
964
+ # namespace: "default",
965
+ # schema: {
966
+ # name: "MyDataset",
967
+ # fields: [
968
+ # {
969
+ # name: "id",
970
+ # type: "INT",
971
+ # is_required: true,
972
+ # },
973
+ # {
974
+ # name: "description",
975
+ # type: "STRING",
976
+ # is_required: true,
977
+ # },
978
+ # {
979
+ # name: "price",
980
+ # type: "DOUBLE",
981
+ # is_required: false,
982
+ # },
983
+ # {
984
+ # name: "creation_time",
985
+ # type: "TIMESTAMP",
986
+ # is_required: false,
987
+ # },
988
+ # ],
989
+ # },
990
+ # },
991
+ # }
992
+ #
993
+ # @example Request syntax with placeholder values
994
+ #
995
+ # resp = client.create_data_lake_dataset({
996
+ # instance_id: "UUID", # required
997
+ # namespace: "DataLakeDatasetNamespace", # required
998
+ # name: "DataLakeDatasetName", # required
999
+ # schema: {
1000
+ # name: "DataLakeDatasetSchemaName", # required
1001
+ # fields: [ # required
1002
+ # {
1003
+ # name: "DataLakeDatasetSchemaFieldName", # required
1004
+ # type: "INT", # required, accepts INT, DOUBLE, STRING, TIMESTAMP
1005
+ # is_required: false, # required
1006
+ # },
1007
+ # ],
1008
+ # },
1009
+ # description: "DataLakeDatasetDescription",
1010
+ # tags: {
1011
+ # "TagKey" => "TagValue",
1012
+ # },
1013
+ # })
1014
+ #
1015
+ # @example Response structure
1016
+ #
1017
+ # resp.dataset.instance_id #=> String
1018
+ # resp.dataset.namespace #=> String
1019
+ # resp.dataset.name #=> String
1020
+ # resp.dataset.arn #=> String
1021
+ # resp.dataset.schema.name #=> String
1022
+ # resp.dataset.schema.fields #=> Array
1023
+ # resp.dataset.schema.fields[0].name #=> String
1024
+ # resp.dataset.schema.fields[0].type #=> String, one of "INT", "DOUBLE", "STRING", "TIMESTAMP"
1025
+ # resp.dataset.schema.fields[0].is_required #=> Boolean
1026
+ # resp.dataset.description #=> String
1027
+ # resp.dataset.created_time #=> Time
1028
+ # resp.dataset.last_modified_time #=> Time
1029
+ #
1030
+ # @see http://docs.aws.amazon.com/goto/WebAPI/supplychain-2024-01-01/CreateDataLakeDataset AWS API Documentation
1031
+ #
1032
+ # @overload create_data_lake_dataset(params = {})
1033
+ # @param [Hash] params ({})
1034
+ def create_data_lake_dataset(params = {}, options = {})
1035
+ req = build_request(:create_data_lake_dataset, params)
1036
+ req.send_request(options)
1037
+ end
1038
+
1039
+ # Create a new instance for AWS Supply Chain. This is an asynchronous
1040
+ # operation. Upon receiving a CreateInstance request, AWS Supply Chain
1041
+ # immediately returns the instance resource, with instance ID, and the
1042
+ # initializing state while simultaneously creating all required Amazon
1043
+ # Web Services resources for an instance creation. You can use
1044
+ # GetInstance to check the status of the instance.
1045
+ #
1046
+ # @option params [String] :instance_name
1047
+ # The AWS Supply Chain instance name.
1048
+ #
1049
+ # @option params [String] :instance_description
1050
+ # The AWS Supply Chain instance description.
1051
+ #
1052
+ # @option params [String] :kms_key_arn
1053
+ # The ARN (Amazon Resource Name) of the Key Management Service (KMS) key
1054
+ # you provide for encryption. This is required if you do not want to use
1055
+ # the Amazon Web Services owned KMS key. If you don't provide anything
1056
+ # here, AWS Supply Chain uses the Amazon Web Services owned KMS key.
1057
+ #
1058
+ # @option params [Hash<String,String>] :tags
1059
+ # The Amazon Web Services tags of an instance to be created.
1060
+ #
1061
+ # @option params [String] :client_token
1062
+ # The client token for idempotency.
1063
+ #
1064
+ # **A suitable default value is auto-generated.** You should normally
1065
+ # not need to pass this option.**
1066
+ #
1067
+ # @return [Types::CreateInstanceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1068
+ #
1069
+ # * {Types::CreateInstanceResponse#instance #instance} => Types::Instance
1070
+ #
1071
+ #
1072
+ # @example Example: Successful CreateInstance request with all input data
1073
+ #
1074
+ # resp = client.create_instance({
1075
+ # instance_description: "example instance description",
1076
+ # instance_name: "example instance name",
1077
+ # kms_key_arn: "arn:aws:kms:us-west-2:123456789012:key/b14ffc39-b7d4-45ab-991a-6257a7f0d24d",
1078
+ # tags: {
1079
+ # "tagKey1" => "tagValue1",
1080
+ # },
1081
+ # })
1082
+ #
1083
+ # resp.to_h outputs the following:
1084
+ # {
1085
+ # instance: {
1086
+ # aws_account_id: "123456789012",
1087
+ # created_time: Time.parse(172615383136),
1088
+ # instance_description: "example instance description",
1089
+ # instance_id: "9e193580-7cc5-45f7-9609-c43ba0ada793",
1090
+ # instance_name: "example instance name",
1091
+ # kms_key_arn: "arn:aws:kms:us-west-2:123456789012:key/b14ffc39-b7d4-45ab-991a-6257a7f0d24d",
1092
+ # last_modified_time: Time.parse(172615383136),
1093
+ # state: "Initializing",
1094
+ # version_number: 2.0,
1095
+ # },
1096
+ # }
1097
+ #
1098
+ # @example Example: Successful CreateInstance request with no input data
1099
+ #
1100
+ # resp = client.create_instance({
1101
+ # })
1102
+ #
1103
+ # resp.to_h outputs the following:
1104
+ # {
1105
+ # instance: {
1106
+ # aws_account_id: "123456789012",
1107
+ # created_time: Time.parse(172615383136),
1108
+ # instance_description: "",
1109
+ # instance_id: "9e193580-7cc5-45f7-9609-c43ba0ada793",
1110
+ # kms_key_arn: "arn:aws:kms:us-west-2:456789012345:key/7372eb6d-874c-4212-8d49-7804282d33a8",
1111
+ # last_modified_time: Time.parse(172615383136),
1112
+ # state: "Initializing",
1113
+ # version_number: 2.0,
1114
+ # },
1115
+ # }
1116
+ #
1117
+ # @example Request syntax with placeholder values
1118
+ #
1119
+ # resp = client.create_instance({
1120
+ # instance_name: "InstanceName",
1121
+ # instance_description: "InstanceDescription",
1122
+ # kms_key_arn: "KmsKeyArn",
1123
+ # tags: {
1124
+ # "TagKey" => "TagValue",
1125
+ # },
1126
+ # client_token: "ClientToken",
1127
+ # })
1128
+ #
1129
+ # @example Response structure
1130
+ #
1131
+ # resp.instance.instance_id #=> String
1132
+ # resp.instance.aws_account_id #=> String
1133
+ # resp.instance.state #=> String, one of "Initializing", "Active", "CreateFailed", "DeleteFailed", "Deleting", "Deleted"
1134
+ # resp.instance.web_app_dns_domain #=> String
1135
+ # resp.instance.created_time #=> Time
1136
+ # resp.instance.last_modified_time #=> Time
1137
+ # resp.instance.instance_name #=> String
1138
+ # resp.instance.instance_description #=> String
1139
+ # resp.instance.kms_key_arn #=> String
1140
+ # resp.instance.version_number #=> Float
1141
+ #
1142
+ # @see http://docs.aws.amazon.com/goto/WebAPI/supplychain-2024-01-01/CreateInstance AWS API Documentation
1143
+ #
1144
+ # @overload create_instance(params = {})
1145
+ # @param [Hash] params ({})
1146
+ def create_instance(params = {}, options = {})
1147
+ req = build_request(:create_instance, params)
1148
+ req.send_request(options)
1149
+ end
1150
+
1151
+ # Delete the DataIntegrationFlow.
1152
+ #
1153
+ # @option params [required, String] :instance_id
1154
+ # The Amazon Web Services Supply Chain instance identifier.
1155
+ #
1156
+ # @option params [required, String] :name
1157
+ # The name of the DataIntegrationFlow to be deleted.
1158
+ #
1159
+ # @return [Types::DeleteDataIntegrationFlowResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1160
+ #
1161
+ # * {Types::DeleteDataIntegrationFlowResponse#instance_id #instance_id} => String
1162
+ # * {Types::DeleteDataIntegrationFlowResponse#name #name} => String
1163
+ #
1164
+ #
1165
+ # @example Example: Successful DeleteDataIntegrationFlow
1166
+ #
1167
+ # resp = client.delete_data_integration_flow({
1168
+ # name: "testStagingFlow",
1169
+ # instance_id: "8850c54e-e187-4fa7-89d4-6370f165174d",
1170
+ # })
1171
+ #
1172
+ # resp.to_h outputs the following:
1173
+ # {
1174
+ # name: "testStagingFlow",
1175
+ # instance_id: "8850c54e-e187-4fa7-89d4-6370f165174d",
1176
+ # }
1177
+ #
1178
+ # @example Request syntax with placeholder values
1179
+ #
1180
+ # resp = client.delete_data_integration_flow({
1181
+ # instance_id: "UUID", # required
1182
+ # name: "DataIntegrationFlowName", # required
1183
+ # })
1184
+ #
1185
+ # @example Response structure
1186
+ #
1187
+ # resp.instance_id #=> String
1188
+ # resp.name #=> String
1189
+ #
1190
+ # @see http://docs.aws.amazon.com/goto/WebAPI/supplychain-2024-01-01/DeleteDataIntegrationFlow AWS API Documentation
1191
+ #
1192
+ # @overload delete_data_integration_flow(params = {})
1193
+ # @param [Hash] params ({})
1194
+ def delete_data_integration_flow(params = {}, options = {})
1195
+ req = build_request(:delete_data_integration_flow, params)
1196
+ req.send_request(options)
1197
+ end
1198
+
1199
+ # Delete a data lake dataset.
1200
+ #
1201
+ # @option params [required, String] :instance_id
1202
+ # The AWS Supply Chain instance identifier.
1203
+ #
1204
+ # @option params [required, String] :namespace
1205
+ # The namespace of the dataset. The available values are:
1206
+ #
1207
+ # * asc: for [ AWS Supply Chain supported datasets ][1].
1208
+ #
1209
+ # * default: for datasets with custom user-defined schemas.
1210
+ #
1211
+ #
1212
+ #
1213
+ # [1]: https://docs.aws.amazon.com/aws-supply-chain/latest/userguide/data-model-asc.html
1214
+ #
1215
+ # @option params [required, String] :name
1216
+ # The name of the dataset. If the namespace is *asc*, the name must be
1217
+ # one of the supported [data entities ][1].
1218
+ #
1219
+ #
1220
+ #
1221
+ # [1]: https://docs.aws.amazon.com/aws-supply-chain/latest/userguide/data-model-asc.html
1222
+ #
1223
+ # @return [Types::DeleteDataLakeDatasetResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1224
+ #
1225
+ # * {Types::DeleteDataLakeDatasetResponse#instance_id #instance_id} => String
1226
+ # * {Types::DeleteDataLakeDatasetResponse#namespace #namespace} => String
1227
+ # * {Types::DeleteDataLakeDatasetResponse#name #name} => String
1228
+ #
1229
+ #
1230
+ # @example Example: Delete an AWS Supply Chain inbound_order dataset
1231
+ #
1232
+ # resp = client.delete_data_lake_dataset({
1233
+ # name: "inbound_order",
1234
+ # instance_id: "1877dd20-dee9-4639-8e99-cb67acf21fe5",
1235
+ # namespace: "asc",
1236
+ # })
1237
+ #
1238
+ # resp.to_h outputs the following:
1239
+ # {
1240
+ # name: "inbound_order",
1241
+ # instance_id: "1877dd20-dee9-4639-8e99-cb67acf21fe5",
1242
+ # namespace: "asc",
1243
+ # }
1244
+ #
1245
+ # @example Example: Delete a custom dataset
1246
+ #
1247
+ # resp = client.delete_data_lake_dataset({
1248
+ # name: "my_dataset",
1249
+ # instance_id: "1877dd20-dee9-4639-8e99-cb67acf21fe5",
1250
+ # namespace: "default",
1251
+ # })
1252
+ #
1253
+ # resp.to_h outputs the following:
1254
+ # {
1255
+ # name: "my_dataset",
1256
+ # instance_id: "1877dd20-dee9-4639-8e99-cb67acf21fe5",
1257
+ # namespace: "default",
1258
+ # }
1259
+ #
1260
+ # @example Request syntax with placeholder values
1261
+ #
1262
+ # resp = client.delete_data_lake_dataset({
1263
+ # instance_id: "UUID", # required
1264
+ # namespace: "DataLakeDatasetNamespace", # required
1265
+ # name: "DataLakeDatasetName", # required
1266
+ # })
1267
+ #
1268
+ # @example Response structure
1269
+ #
1270
+ # resp.instance_id #=> String
1271
+ # resp.namespace #=> String
1272
+ # resp.name #=> String
1273
+ #
1274
+ # @see http://docs.aws.amazon.com/goto/WebAPI/supplychain-2024-01-01/DeleteDataLakeDataset AWS API Documentation
1275
+ #
1276
+ # @overload delete_data_lake_dataset(params = {})
1277
+ # @param [Hash] params ({})
1278
+ def delete_data_lake_dataset(params = {}, options = {})
1279
+ req = build_request(:delete_data_lake_dataset, params)
1280
+ req.send_request(options)
1281
+ end
1282
+
1283
+ # Delete the instance. This is an asynchronous operation. Upon receiving
1284
+ # a DeleteInstance request, AWS Supply Chain immediately returns a
1285
+ # response with the instance resource, delete state while cleaning up
1286
+ # all Amazon Web Services resources created during the instance creation
1287
+ # process. You can use the GetInstance action to check the instance
1288
+ # status.
1289
+ #
1290
+ # @option params [required, String] :instance_id
1291
+ # The AWS Supply Chain instance identifier.
1292
+ #
1293
+ # @return [Types::DeleteInstanceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1294
+ #
1295
+ # * {Types::DeleteInstanceResponse#instance #instance} => Types::Instance
1296
+ #
1297
+ #
1298
+ # @example Example: Successful DeleteInstance request
1299
+ #
1300
+ # resp = client.delete_instance({
1301
+ # instance_id: "9e193580-7cc5-45f7-9609-c43ba0ada793",
1302
+ # })
1303
+ #
1304
+ # resp.to_h outputs the following:
1305
+ # {
1306
+ # instance: {
1307
+ # aws_account_id: "123456789012",
1308
+ # created_time: Time.parse(172615383136),
1309
+ # instance_description: "updated example instance description",
1310
+ # instance_id: "9e193580-7cc5-45f7-9609-c43ba0ada793",
1311
+ # instance_name: "updated example instance name",
1312
+ # kms_key_arn: "arn:aws:kms:us-west-2:123456789012:key/b14ffc39-b7d4-45ab-991a-6257a7f0d24d",
1313
+ # last_modified_time: Time.parse(172615383136),
1314
+ # state: "Deleting",
1315
+ # version_number: 2.0,
1316
+ # },
1317
+ # }
1318
+ #
1319
+ # @example Request syntax with placeholder values
1320
+ #
1321
+ # resp = client.delete_instance({
1322
+ # instance_id: "UUID", # required
1323
+ # })
1324
+ #
1325
+ # @example Response structure
1326
+ #
1327
+ # resp.instance.instance_id #=> String
1328
+ # resp.instance.aws_account_id #=> String
1329
+ # resp.instance.state #=> String, one of "Initializing", "Active", "CreateFailed", "DeleteFailed", "Deleting", "Deleted"
1330
+ # resp.instance.web_app_dns_domain #=> String
1331
+ # resp.instance.created_time #=> Time
1332
+ # resp.instance.last_modified_time #=> Time
1333
+ # resp.instance.instance_name #=> String
1334
+ # resp.instance.instance_description #=> String
1335
+ # resp.instance.kms_key_arn #=> String
1336
+ # resp.instance.version_number #=> Float
1337
+ #
1338
+ # @see http://docs.aws.amazon.com/goto/WebAPI/supplychain-2024-01-01/DeleteInstance AWS API Documentation
1339
+ #
1340
+ # @overload delete_instance(params = {})
1341
+ # @param [Hash] params ({})
1342
+ def delete_instance(params = {}, options = {})
1343
+ req = build_request(:delete_instance, params)
1344
+ req.send_request(options)
1345
+ end
1346
+
510
1347
  # Get status and details of a BillOfMaterialsImportJob.
511
1348
  #
512
- # @option params [required, String] :instance_id
513
- # The AWS Supply Chain instance identifier.
1349
+ # @option params [required, String] :instance_id
1350
+ # The AWS Supply Chain instance identifier.
1351
+ #
1352
+ # @option params [required, String] :job_id
1353
+ # The BillOfMaterialsImportJob identifier.
1354
+ #
1355
+ # @return [Types::GetBillOfMaterialsImportJobResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1356
+ #
1357
+ # * {Types::GetBillOfMaterialsImportJobResponse#job #job} => Types::BillOfMaterialsImportJob
1358
+ #
1359
+ #
1360
+ # @example Example: Invoke GetBillOfMaterialsImportJob for a successful job
1361
+ #
1362
+ # resp = client.get_bill_of_materials_import_job({
1363
+ # instance_id: "60f82bbd-71f7-4fcd-a941-472f574c5243",
1364
+ # job_id: "f79b359b-1515-4436-a3bf-bae7b33e47b4",
1365
+ # })
1366
+ #
1367
+ # resp.to_h outputs the following:
1368
+ # {
1369
+ # job: {
1370
+ # instance_id: "60f82bbd-71f7-4fcd-a941-472f574c5243",
1371
+ # job_id: "f79b359b-1515-4436-a3bf-bae7b33e47b4",
1372
+ # message: "Import job completed successfully.",
1373
+ # s3uri: "s3://mybucketname/pathelemene/file.csv",
1374
+ # status: "SUCCESS",
1375
+ # },
1376
+ # }
1377
+ #
1378
+ # @example Example: Invoke GetBillOfMaterialsImportJob for an in-progress job
1379
+ #
1380
+ # resp = client.get_bill_of_materials_import_job({
1381
+ # instance_id: "60f82bbd-71f7-4fcd-a941-472f574c5243",
1382
+ # job_id: "f79b359b-1515-4436-a3bf-bae7b33e47b4",
1383
+ # })
1384
+ #
1385
+ # resp.to_h outputs the following:
1386
+ # {
1387
+ # job: {
1388
+ # instance_id: "60f82bbd-71f7-4fcd-a941-472f574c5243",
1389
+ # job_id: "f79b359b-1515-4436-a3bf-bae7b33e47b4",
1390
+ # s3uri: "s3://mybucketname/pathelemene/file.csv",
1391
+ # status: "IN_PROGRESS",
1392
+ # },
1393
+ # }
1394
+ #
1395
+ # @example Request syntax with placeholder values
1396
+ #
1397
+ # resp = client.get_bill_of_materials_import_job({
1398
+ # instance_id: "UUID", # required
1399
+ # job_id: "UUID", # required
1400
+ # })
1401
+ #
1402
+ # @example Response structure
1403
+ #
1404
+ # resp.job.instance_id #=> String
1405
+ # resp.job.job_id #=> String
1406
+ # resp.job.status #=> String, one of "NEW", "FAILED", "IN_PROGRESS", "QUEUED", "SUCCESS"
1407
+ # resp.job.s3uri #=> String
1408
+ # resp.job.message #=> String
1409
+ #
1410
+ # @see http://docs.aws.amazon.com/goto/WebAPI/supplychain-2024-01-01/GetBillOfMaterialsImportJob AWS API Documentation
1411
+ #
1412
+ # @overload get_bill_of_materials_import_job(params = {})
1413
+ # @param [Hash] params ({})
1414
+ def get_bill_of_materials_import_job(params = {}, options = {})
1415
+ req = build_request(:get_bill_of_materials_import_job, params)
1416
+ req.send_request(options)
1417
+ end
1418
+
1419
+ # View the DataIntegrationFlow details.
1420
+ #
1421
+ # @option params [required, String] :instance_id
1422
+ # The Amazon Web Services Supply Chain instance identifier.
1423
+ #
1424
+ # @option params [required, String] :name
1425
+ # The name of the DataIntegrationFlow created.
1426
+ #
1427
+ # @return [Types::GetDataIntegrationFlowResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1428
+ #
1429
+ # * {Types::GetDataIntegrationFlowResponse#flow #flow} => Types::DataIntegrationFlow
1430
+ #
1431
+ #
1432
+ # @example Example: Successful GetDataIntegrationFlow
1433
+ #
1434
+ # resp = client.get_data_integration_flow({
1435
+ # name: "testStagingFlow",
1436
+ # instance_id: "8850c54e-e187-4fa7-89d4-6370f165174d",
1437
+ # })
1438
+ #
1439
+ # resp.to_h outputs the following:
1440
+ # {
1441
+ # flow: {
1442
+ # name: "testStagingFlow",
1443
+ # created_time: Time.parse(1724956400.44),
1444
+ # instance_id: "8850c54e-e187-4fa7-89d4-6370f165174d",
1445
+ # last_modified_time: Time.parse(1724956400.44),
1446
+ # sources: [
1447
+ # {
1448
+ # s3_source: {
1449
+ # bucket_name: "aws-supply-chain-data-b8c7bb28-a576-4334-b481-6d6e8e47371f",
1450
+ # prefix: "example-prefix",
1451
+ # },
1452
+ # source_name: "testSourceName",
1453
+ # source_type: "S3",
1454
+ # },
1455
+ # ],
1456
+ # target: {
1457
+ # dataset_target: {
1458
+ # dataset_identifier: "arn:aws:scn:us-east-1:123456789012:instance/8850c54e-e187-4fa7-89d4-6370f165174d/namespaces/default/datasets/my_staging_dataset",
1459
+ # },
1460
+ # target_type: "DATASET",
1461
+ # },
1462
+ # transformation: {
1463
+ # sql_transformation: {
1464
+ # query: "SELECT * FROM testSourceName",
1465
+ # },
1466
+ # transformation_type: "SQL",
1467
+ # },
1468
+ # },
1469
+ # }
1470
+ #
1471
+ # @example Request syntax with placeholder values
1472
+ #
1473
+ # resp = client.get_data_integration_flow({
1474
+ # instance_id: "UUID", # required
1475
+ # name: "DataIntegrationFlowName", # required
1476
+ # })
1477
+ #
1478
+ # @example Response structure
1479
+ #
1480
+ # resp.flow.instance_id #=> String
1481
+ # resp.flow.name #=> String
1482
+ # resp.flow.sources #=> Array
1483
+ # resp.flow.sources[0].source_type #=> String, one of "S3", "DATASET"
1484
+ # resp.flow.sources[0].source_name #=> String
1485
+ # resp.flow.sources[0].s3_source.bucket_name #=> String
1486
+ # resp.flow.sources[0].s3_source.prefix #=> String
1487
+ # resp.flow.sources[0].s3_source.options.file_type #=> String, one of "CSV", "PARQUET", "JSON"
1488
+ # resp.flow.sources[0].dataset_source.dataset_identifier #=> String
1489
+ # resp.flow.sources[0].dataset_source.options.load_type #=> String, one of "INCREMENTAL", "REPLACE"
1490
+ # resp.flow.sources[0].dataset_source.options.dedupe_records #=> Boolean
1491
+ # resp.flow.transformation.transformation_type #=> String, one of "SQL", "NONE"
1492
+ # resp.flow.transformation.sql_transformation.query #=> String
1493
+ # resp.flow.target.target_type #=> String, one of "S3", "DATASET"
1494
+ # resp.flow.target.s3_target.bucket_name #=> String
1495
+ # resp.flow.target.s3_target.prefix #=> String
1496
+ # resp.flow.target.s3_target.options.file_type #=> String, one of "CSV", "PARQUET", "JSON"
1497
+ # resp.flow.target.dataset_target.dataset_identifier #=> String
1498
+ # resp.flow.target.dataset_target.options.load_type #=> String, one of "INCREMENTAL", "REPLACE"
1499
+ # resp.flow.target.dataset_target.options.dedupe_records #=> Boolean
1500
+ # resp.flow.created_time #=> Time
1501
+ # resp.flow.last_modified_time #=> Time
1502
+ #
1503
+ # @see http://docs.aws.amazon.com/goto/WebAPI/supplychain-2024-01-01/GetDataIntegrationFlow AWS API Documentation
1504
+ #
1505
+ # @overload get_data_integration_flow(params = {})
1506
+ # @param [Hash] params ({})
1507
+ def get_data_integration_flow(params = {}, options = {})
1508
+ req = build_request(:get_data_integration_flow, params)
1509
+ req.send_request(options)
1510
+ end
1511
+
1512
+ # Get a data lake dataset.
1513
+ #
1514
+ # @option params [required, String] :instance_id
1515
+ # The Amazon Web Services Supply Chain instance identifier.
1516
+ #
1517
+ # @option params [required, String] :namespace
1518
+ # The name space of the dataset. The available values are:
1519
+ #
1520
+ # * **asc** - For information on the Amazon Web Services Supply Chain
1521
+ # supported datasets see
1522
+ # [https://docs.aws.amazon.com/aws-supply-chain/latest/userguide/data-model-asc.html][1].
1523
+ #
1524
+ # * **default** - For datasets with custom user-defined schemas.
1525
+ #
1526
+ #
1527
+ #
1528
+ # [1]: https://docs.aws.amazon.com/aws-supply-chain/latest/userguide/data-model-asc.html
1529
+ #
1530
+ # @option params [required, String] :name
1531
+ # The name of the dataset. For **asc** name space, the name must be one
1532
+ # of the supported data entities under
1533
+ # [https://docs.aws.amazon.com/aws-supply-chain/latest/userguide/data-model-asc.html][1].
1534
+ #
1535
+ #
1536
+ #
1537
+ # [1]: https://docs.aws.amazon.com/aws-supply-chain/latest/userguide/data-model-asc.html
1538
+ #
1539
+ # @return [Types::GetDataLakeDatasetResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1540
+ #
1541
+ # * {Types::GetDataLakeDatasetResponse#dataset #dataset} => Types::DataLakeDataset
1542
+ #
1543
+ #
1544
+ # @example Example: Get properties of an existing AWS Supply Chain inbound order dataset
1545
+ #
1546
+ # resp = client.get_data_lake_dataset({
1547
+ # name: "inbound_order",
1548
+ # instance_id: "1877dd20-dee9-4639-8e99-cb67acf21fe5",
1549
+ # namespace: "asc",
1550
+ # })
1551
+ #
1552
+ # resp.to_h outputs the following:
1553
+ # {
1554
+ # dataset: {
1555
+ # name: "inbound_order",
1556
+ # arn: "arn:aws:scn:us-east-1:012345678910:instance/1877dd20-dee9-4639-8e99-cb67acf21fe5/namespaces/asc/datasets/inbound_order",
1557
+ # created_time: Time.parse(1727116807.751),
1558
+ # description: "This is an AWS Supply Chain inbound order dataset",
1559
+ # instance_id: "1877dd20-dee9-4639-8e99-cb67acf21fe5",
1560
+ # last_modified_time: Time.parse(1727116807.751),
1561
+ # namespace: "asc",
1562
+ # schema: {
1563
+ # name: "InboundOrder",
1564
+ # fields: [
1565
+ # {
1566
+ # name: "id",
1567
+ # type: "STRING",
1568
+ # is_required: true,
1569
+ # },
1570
+ # {
1571
+ # name: "tpartner_id",
1572
+ # type: "STRING",
1573
+ # is_required: true,
1574
+ # },
1575
+ # {
1576
+ # name: "connection_id",
1577
+ # type: "STRING",
1578
+ # is_required: true,
1579
+ # },
1580
+ # {
1581
+ # name: "order_type",
1582
+ # type: "STRING",
1583
+ # is_required: false,
1584
+ # },
1585
+ # {
1586
+ # name: "order_status",
1587
+ # type: "STRING",
1588
+ # is_required: false,
1589
+ # },
1590
+ # {
1591
+ # name: "inbound_order_url",
1592
+ # type: "STRING",
1593
+ # is_required: false,
1594
+ # },
1595
+ # {
1596
+ # name: "order_creation_date",
1597
+ # type: "TIMESTAMP",
1598
+ # is_required: false,
1599
+ # },
1600
+ # {
1601
+ # name: "company_id",
1602
+ # type: "STRING",
1603
+ # is_required: false,
1604
+ # },
1605
+ # {
1606
+ # name: "to_site_id",
1607
+ # type: "STRING",
1608
+ # is_required: false,
1609
+ # },
1610
+ # {
1611
+ # name: "order_currency_uom",
1612
+ # type: "STRING",
1613
+ # is_required: false,
1614
+ # },
1615
+ # {
1616
+ # name: "vendor_currency_uom",
1617
+ # type: "STRING",
1618
+ # is_required: false,
1619
+ # },
1620
+ # {
1621
+ # name: "exchange_rate",
1622
+ # type: "DOUBLE",
1623
+ # is_required: false,
1624
+ # },
1625
+ # {
1626
+ # name: "exchange_rate_date",
1627
+ # type: "TIMESTAMP",
1628
+ # is_required: false,
1629
+ # },
1630
+ # {
1631
+ # name: "incoterm",
1632
+ # type: "STRING",
1633
+ # is_required: false,
1634
+ # },
1635
+ # {
1636
+ # name: "incoterm2",
1637
+ # type: "STRING",
1638
+ # is_required: false,
1639
+ # },
1640
+ # {
1641
+ # name: "incoterm_location_1",
1642
+ # type: "STRING",
1643
+ # is_required: false,
1644
+ # },
1645
+ # {
1646
+ # name: "incoterm_location_2",
1647
+ # type: "STRING",
1648
+ # is_required: false,
1649
+ # },
1650
+ # {
1651
+ # name: "submitted_date",
1652
+ # type: "TIMESTAMP",
1653
+ # is_required: false,
1654
+ # },
1655
+ # {
1656
+ # name: "agreement_start_date",
1657
+ # type: "TIMESTAMP",
1658
+ # is_required: false,
1659
+ # },
1660
+ # {
1661
+ # name: "agreement_end_date",
1662
+ # type: "TIMESTAMP",
1663
+ # is_required: false,
1664
+ # },
1665
+ # {
1666
+ # name: "shipping_instr_code",
1667
+ # type: "STRING",
1668
+ # is_required: false,
1669
+ # },
1670
+ # {
1671
+ # name: "payment_terms_code",
1672
+ # type: "STRING",
1673
+ # is_required: false,
1674
+ # },
1675
+ # {
1676
+ # name: "std_terms_agreement",
1677
+ # type: "STRING",
1678
+ # is_required: false,
1679
+ # },
1680
+ # {
1681
+ # name: "std_terms_agreement_ver",
1682
+ # type: "STRING",
1683
+ # is_required: false,
1684
+ # },
1685
+ # {
1686
+ # name: "agreement_number",
1687
+ # type: "STRING",
1688
+ # is_required: false,
1689
+ # },
1690
+ # {
1691
+ # name: "source",
1692
+ # type: "STRING",
1693
+ # is_required: false,
1694
+ # },
1695
+ # {
1696
+ # name: "source_update_dttm",
1697
+ # type: "TIMESTAMP",
1698
+ # is_required: false,
1699
+ # },
1700
+ # {
1701
+ # name: "source_event_id",
1702
+ # type: "STRING",
1703
+ # is_required: false,
1704
+ # },
1705
+ # {
1706
+ # name: "db_creation_dttm",
1707
+ # type: "TIMESTAMP",
1708
+ # is_required: false,
1709
+ # },
1710
+ # {
1711
+ # name: "db_updation_dttm",
1712
+ # type: "TIMESTAMP",
1713
+ # is_required: false,
1714
+ # },
1715
+ # ],
1716
+ # },
1717
+ # },
1718
+ # }
1719
+ #
1720
+ # @example Example: Get proporties of an existing custom dataset
1721
+ #
1722
+ # resp = client.get_data_lake_dataset({
1723
+ # name: "my_dataset",
1724
+ # instance_id: "1877dd20-dee9-4639-8e99-cb67acf21fe5",
1725
+ # namespace: "default",
1726
+ # })
1727
+ #
1728
+ # resp.to_h outputs the following:
1729
+ # {
1730
+ # dataset: {
1731
+ # name: "my_dataset",
1732
+ # arn: "arn:aws:scn:us-east-1:012345678910:instance/1877dd20-dee9-4639-8e99-cb67acf21fe5/namespaces/default/datasets/my_dataset",
1733
+ # created_time: Time.parse(1727116807.751),
1734
+ # description: "This is a custom dataset",
1735
+ # instance_id: "1877dd20-dee9-4639-8e99-cb67acf21fe5",
1736
+ # last_modified_time: Time.parse(1727116807.751),
1737
+ # namespace: "default",
1738
+ # schema: {
1739
+ # name: "MyDataset",
1740
+ # fields: [
1741
+ # {
1742
+ # name: "id",
1743
+ # type: "INT",
1744
+ # is_required: true,
1745
+ # },
1746
+ # {
1747
+ # name: "description",
1748
+ # type: "STRING",
1749
+ # is_required: true,
1750
+ # },
1751
+ # {
1752
+ # name: "price",
1753
+ # type: "DOUBLE",
1754
+ # is_required: false,
1755
+ # },
1756
+ # {
1757
+ # name: "creation_time",
1758
+ # type: "TIMESTAMP",
1759
+ # is_required: false,
1760
+ # },
1761
+ # ],
1762
+ # },
1763
+ # },
1764
+ # }
1765
+ #
1766
+ # @example Request syntax with placeholder values
1767
+ #
1768
+ # resp = client.get_data_lake_dataset({
1769
+ # instance_id: "UUID", # required
1770
+ # namespace: "DataLakeDatasetNamespace", # required
1771
+ # name: "DataLakeDatasetName", # required
1772
+ # })
1773
+ #
1774
+ # @example Response structure
1775
+ #
1776
+ # resp.dataset.instance_id #=> String
1777
+ # resp.dataset.namespace #=> String
1778
+ # resp.dataset.name #=> String
1779
+ # resp.dataset.arn #=> String
1780
+ # resp.dataset.schema.name #=> String
1781
+ # resp.dataset.schema.fields #=> Array
1782
+ # resp.dataset.schema.fields[0].name #=> String
1783
+ # resp.dataset.schema.fields[0].type #=> String, one of "INT", "DOUBLE", "STRING", "TIMESTAMP"
1784
+ # resp.dataset.schema.fields[0].is_required #=> Boolean
1785
+ # resp.dataset.description #=> String
1786
+ # resp.dataset.created_time #=> Time
1787
+ # resp.dataset.last_modified_time #=> Time
1788
+ #
1789
+ # @see http://docs.aws.amazon.com/goto/WebAPI/supplychain-2024-01-01/GetDataLakeDataset AWS API Documentation
1790
+ #
1791
+ # @overload get_data_lake_dataset(params = {})
1792
+ # @param [Hash] params ({})
1793
+ def get_data_lake_dataset(params = {}, options = {})
1794
+ req = build_request(:get_data_lake_dataset, params)
1795
+ req.send_request(options)
1796
+ end
1797
+
1798
+ # Get the AWS Supply Chain instance details.
1799
+ #
1800
+ # @option params [required, String] :instance_id
1801
+ # The AWS Supply Chain instance identifier
1802
+ #
1803
+ # @return [Types::GetInstanceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1804
+ #
1805
+ # * {Types::GetInstanceResponse#instance #instance} => Types::Instance
1806
+ #
1807
+ #
1808
+ # @example Example: Successful GetInstance request
1809
+ #
1810
+ # resp = client.get_instance({
1811
+ # instance_id: "9e193580-7cc5-45f7-9609-c43ba0ada793",
1812
+ # })
1813
+ #
1814
+ # resp.to_h outputs the following:
1815
+ # {
1816
+ # instance: {
1817
+ # aws_account_id: "123456789012",
1818
+ # created_time: Time.parse(172615383136),
1819
+ # instance_description: "example instance description",
1820
+ # instance_id: "9e193580-7cc5-45f7-9609-c43ba0ada793",
1821
+ # instance_name: "example instance name",
1822
+ # kms_key_arn: "arn:aws:kms:us-west-2:123456789012:key/b14ffc39-b7d4-45ab-991a-6257a7f0d24d",
1823
+ # last_modified_time: Time.parse(172615383136),
1824
+ # state: "Active",
1825
+ # version_number: 2.0,
1826
+ # },
1827
+ # }
1828
+ #
1829
+ # @example Request syntax with placeholder values
1830
+ #
1831
+ # resp = client.get_instance({
1832
+ # instance_id: "UUID", # required
1833
+ # })
1834
+ #
1835
+ # @example Response structure
1836
+ #
1837
+ # resp.instance.instance_id #=> String
1838
+ # resp.instance.aws_account_id #=> String
1839
+ # resp.instance.state #=> String, one of "Initializing", "Active", "CreateFailed", "DeleteFailed", "Deleting", "Deleted"
1840
+ # resp.instance.web_app_dns_domain #=> String
1841
+ # resp.instance.created_time #=> Time
1842
+ # resp.instance.last_modified_time #=> Time
1843
+ # resp.instance.instance_name #=> String
1844
+ # resp.instance.instance_description #=> String
1845
+ # resp.instance.kms_key_arn #=> String
1846
+ # resp.instance.version_number #=> Float
1847
+ #
1848
+ # @see http://docs.aws.amazon.com/goto/WebAPI/supplychain-2024-01-01/GetInstance AWS API Documentation
1849
+ #
1850
+ # @overload get_instance(params = {})
1851
+ # @param [Hash] params ({})
1852
+ def get_instance(params = {}, options = {})
1853
+ req = build_request(:get_instance, params)
1854
+ req.send_request(options)
1855
+ end
1856
+
1857
+ # Lists all the DataIntegrationFlows in a paginated way.
1858
+ #
1859
+ # @option params [required, String] :instance_id
1860
+ # The Amazon Web Services Supply Chain instance identifier.
1861
+ #
1862
+ # @option params [String] :next_token
1863
+ # The pagination token to fetch the next page of the
1864
+ # DataIntegrationFlows.
1865
+ #
1866
+ # @option params [Integer] :max_results
1867
+ # Specify the maximum number of DataIntegrationFlows to fetch in one
1868
+ # paginated request.
1869
+ #
1870
+ # @return [Types::ListDataIntegrationFlowsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1871
+ #
1872
+ # * {Types::ListDataIntegrationFlowsResponse#flows #flows} => Array&lt;Types::DataIntegrationFlow&gt;
1873
+ # * {Types::ListDataIntegrationFlowsResponse#next_token #next_token} => String
1874
+ #
1875
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1876
+ #
1877
+ #
1878
+ # @example Example: Successful ListDataIntegrationFlow
1879
+ #
1880
+ # resp = client.list_data_integration_flows({
1881
+ # instance_id: "8850c54e-e187-4fa7-89d4-6370f165174d",
1882
+ # })
1883
+ #
1884
+ # resp.to_h outputs the following:
1885
+ # {
1886
+ # flows: [
1887
+ # {
1888
+ # name: "testStagingFlow",
1889
+ # created_time: Time.parse(1724956400.44),
1890
+ # instance_id: "8850c54e-e187-4fa7-89d4-6370f165174d",
1891
+ # last_modified_time: Time.parse(1724956400.44),
1892
+ # sources: [
1893
+ # {
1894
+ # s3_source: {
1895
+ # bucket_name: "aws-supply-chain-data-b8c7bb28-a576-4334-b481-6d6e8e47371f",
1896
+ # prefix: "example-prefix",
1897
+ # },
1898
+ # source_name: "testSourceName",
1899
+ # source_type: "S3",
1900
+ # },
1901
+ # ],
1902
+ # target: {
1903
+ # dataset_target: {
1904
+ # dataset_identifier: "arn:aws:scn:us-east-1:123456789012:instance/8850c54e-e187-4fa7-89d4-6370f165174d/namespaces/default/datasets/my_staging_dataset",
1905
+ # },
1906
+ # target_type: "DATASET",
1907
+ # },
1908
+ # transformation: {
1909
+ # sql_transformation: {
1910
+ # query: "SELECT * FROM testSourceName",
1911
+ # },
1912
+ # transformation_type: "SQL",
1913
+ # },
1914
+ # },
1915
+ # {
1916
+ # name: "trading-partner",
1917
+ # created_time: Time.parse(17235763506.88),
1918
+ # instance_id: "8850c54e-e187-4fa7-89d4-6370f165174d",
1919
+ # last_modified_time: Time.parse(17235763506.88),
1920
+ # sources: [
1921
+ # {
1922
+ # dataset_source: {
1923
+ # dataset_identifier: "arn:aws:scn:us-east-1:123456789012:instance/8850c54e-e187-4fa7-89d4-6370f165174d/namespaces/default/datasets/my_staging_dataset1",
1924
+ # },
1925
+ # source_name: "testSourceName1",
1926
+ # source_type: "DATASET",
1927
+ # },
1928
+ # {
1929
+ # dataset_source: {
1930
+ # dataset_identifier: "arn:aws:scn:us-east-1:123456789012:instance/8850c54e-e187-4fa7-89d4-6370f165174d/namespaces/default/datasets/my_staging_dataset2",
1931
+ # },
1932
+ # source_name: "testSourceName2",
1933
+ # source_type: "DATASET",
1934
+ # },
1935
+ # ],
1936
+ # target: {
1937
+ # dataset_target: {
1938
+ # dataset_identifier: "arn:aws:scn:us-east-1:123456789012:instance/8850c54e-e187-4fa7-89d4-6370f165174d/namespaces/asc/datasets/trading_partner",
1939
+ # },
1940
+ # target_type: "DATASET",
1941
+ # },
1942
+ # transformation: {
1943
+ # sql_transformation: {
1944
+ # query: "SELECT S1.id AS id, S1.poc_org_unit_description AS description, S1.company_id AS company_id, S1.tpartner_type AS tpartner_type, S1.geo_id AS geo_id, S1.eff_start_date AS eff_start_date, S1.eff_end_date AS eff_end_date FROM testSourceName1 AS S1 LEFT JOIN testSourceName2 as S2 ON S1.id=S2.id",
1945
+ # },
1946
+ # transformation_type: "SQL",
1947
+ # },
1948
+ # },
1949
+ # ],
1950
+ # }
1951
+ #
1952
+ # @example Request syntax with placeholder values
1953
+ #
1954
+ # resp = client.list_data_integration_flows({
1955
+ # instance_id: "UUID", # required
1956
+ # next_token: "DataIntegrationFlowNextToken",
1957
+ # max_results: 1,
1958
+ # })
1959
+ #
1960
+ # @example Response structure
1961
+ #
1962
+ # resp.flows #=> Array
1963
+ # resp.flows[0].instance_id #=> String
1964
+ # resp.flows[0].name #=> String
1965
+ # resp.flows[0].sources #=> Array
1966
+ # resp.flows[0].sources[0].source_type #=> String, one of "S3", "DATASET"
1967
+ # resp.flows[0].sources[0].source_name #=> String
1968
+ # resp.flows[0].sources[0].s3_source.bucket_name #=> String
1969
+ # resp.flows[0].sources[0].s3_source.prefix #=> String
1970
+ # resp.flows[0].sources[0].s3_source.options.file_type #=> String, one of "CSV", "PARQUET", "JSON"
1971
+ # resp.flows[0].sources[0].dataset_source.dataset_identifier #=> String
1972
+ # resp.flows[0].sources[0].dataset_source.options.load_type #=> String, one of "INCREMENTAL", "REPLACE"
1973
+ # resp.flows[0].sources[0].dataset_source.options.dedupe_records #=> Boolean
1974
+ # resp.flows[0].transformation.transformation_type #=> String, one of "SQL", "NONE"
1975
+ # resp.flows[0].transformation.sql_transformation.query #=> String
1976
+ # resp.flows[0].target.target_type #=> String, one of "S3", "DATASET"
1977
+ # resp.flows[0].target.s3_target.bucket_name #=> String
1978
+ # resp.flows[0].target.s3_target.prefix #=> String
1979
+ # resp.flows[0].target.s3_target.options.file_type #=> String, one of "CSV", "PARQUET", "JSON"
1980
+ # resp.flows[0].target.dataset_target.dataset_identifier #=> String
1981
+ # resp.flows[0].target.dataset_target.options.load_type #=> String, one of "INCREMENTAL", "REPLACE"
1982
+ # resp.flows[0].target.dataset_target.options.dedupe_records #=> Boolean
1983
+ # resp.flows[0].created_time #=> Time
1984
+ # resp.flows[0].last_modified_time #=> Time
1985
+ # resp.next_token #=> String
1986
+ #
1987
+ # @see http://docs.aws.amazon.com/goto/WebAPI/supplychain-2024-01-01/ListDataIntegrationFlows AWS API Documentation
1988
+ #
1989
+ # @overload list_data_integration_flows(params = {})
1990
+ # @param [Hash] params ({})
1991
+ def list_data_integration_flows(params = {}, options = {})
1992
+ req = build_request(:list_data_integration_flows, params)
1993
+ req.send_request(options)
1994
+ end
1995
+
1996
+ # List the data lake datasets for a specific instance and name space.
1997
+ #
1998
+ # @option params [required, String] :instance_id
1999
+ # The Amazon Web Services Supply Chain instance identifier.
2000
+ #
2001
+ # @option params [required, String] :namespace
2002
+ # The namespace of the dataset. The available values are:
2003
+ #
2004
+ # * asc: for [ AWS Supply Chain supported datasets ][1].
2005
+ #
2006
+ # * default: for datasets with custom user-defined schemas.
2007
+ #
2008
+ #
2009
+ #
2010
+ # [1]: https://docs.aws.amazon.com/aws-supply-chain/latest/userguide/data-model-asc.html
2011
+ #
2012
+ # @option params [String] :next_token
2013
+ # The pagination token to fetch next page of datasets.
2014
+ #
2015
+ # @option params [Integer] :max_results
2016
+ # The max number of datasets to fetch in this paginated request.
2017
+ #
2018
+ # @return [Types::ListDataLakeDatasetsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2019
+ #
2020
+ # * {Types::ListDataLakeDatasetsResponse#datasets #datasets} => Array&lt;Types::DataLakeDataset&gt;
2021
+ # * {Types::ListDataLakeDatasetsResponse#next_token #next_token} => String
2022
+ #
2023
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2024
+ #
2025
+ #
2026
+ # @example Example: List AWS Supply Chain datasets
2027
+ #
2028
+ # resp = client.list_data_lake_datasets({
2029
+ # instance_id: "1877dd20-dee9-4639-8e99-cb67acf21fe5",
2030
+ # namespace: "asc",
2031
+ # })
2032
+ #
2033
+ # resp.to_h outputs the following:
2034
+ # {
2035
+ # datasets: [
2036
+ # {
2037
+ # name: "inbound_order",
2038
+ # arn: "arn:aws:scn:us-east-1:012345678910:instance/1877dd20-dee9-4639-8e99-cb67acf21fe5/namespaces/asc/datasets/inbound_order",
2039
+ # created_time: Time.parse(1727116807.751),
2040
+ # description: "This is an AWS Supply Chain inbound order dataset",
2041
+ # instance_id: "1877dd20-dee9-4639-8e99-cb67acf21fe5",
2042
+ # last_modified_time: Time.parse(1727116807.751),
2043
+ # namespace: "asc",
2044
+ # schema: {
2045
+ # name: "InboundOrder",
2046
+ # fields: [
2047
+ # {
2048
+ # name: "id",
2049
+ # type: "STRING",
2050
+ # is_required: true,
2051
+ # },
2052
+ # {
2053
+ # name: "tpartner_id",
2054
+ # type: "STRING",
2055
+ # is_required: true,
2056
+ # },
2057
+ # {
2058
+ # name: "connection_id",
2059
+ # type: "STRING",
2060
+ # is_required: true,
2061
+ # },
2062
+ # {
2063
+ # name: "order_type",
2064
+ # type: "STRING",
2065
+ # is_required: false,
2066
+ # },
2067
+ # {
2068
+ # name: "order_status",
2069
+ # type: "STRING",
2070
+ # is_required: false,
2071
+ # },
2072
+ # {
2073
+ # name: "inbound_order_url",
2074
+ # type: "STRING",
2075
+ # is_required: false,
2076
+ # },
2077
+ # {
2078
+ # name: "order_creation_date",
2079
+ # type: "TIMESTAMP",
2080
+ # is_required: false,
2081
+ # },
2082
+ # {
2083
+ # name: "company_id",
2084
+ # type: "STRING",
2085
+ # is_required: false,
2086
+ # },
2087
+ # {
2088
+ # name: "to_site_id",
2089
+ # type: "STRING",
2090
+ # is_required: false,
2091
+ # },
2092
+ # {
2093
+ # name: "order_currency_uom",
2094
+ # type: "STRING",
2095
+ # is_required: false,
2096
+ # },
2097
+ # {
2098
+ # name: "vendor_currency_uom",
2099
+ # type: "STRING",
2100
+ # is_required: false,
2101
+ # },
2102
+ # {
2103
+ # name: "exchange_rate",
2104
+ # type: "DOUBLE",
2105
+ # is_required: false,
2106
+ # },
2107
+ # {
2108
+ # name: "exchange_rate_date",
2109
+ # type: "TIMESTAMP",
2110
+ # is_required: false,
2111
+ # },
2112
+ # {
2113
+ # name: "incoterm",
2114
+ # type: "STRING",
2115
+ # is_required: false,
2116
+ # },
2117
+ # {
2118
+ # name: "incoterm2",
2119
+ # type: "STRING",
2120
+ # is_required: false,
2121
+ # },
2122
+ # {
2123
+ # name: "incoterm_location_1",
2124
+ # type: "STRING",
2125
+ # is_required: false,
2126
+ # },
2127
+ # {
2128
+ # name: "incoterm_location_2",
2129
+ # type: "STRING",
2130
+ # is_required: false,
2131
+ # },
2132
+ # {
2133
+ # name: "submitted_date",
2134
+ # type: "TIMESTAMP",
2135
+ # is_required: false,
2136
+ # },
2137
+ # {
2138
+ # name: "agreement_start_date",
2139
+ # type: "TIMESTAMP",
2140
+ # is_required: false,
2141
+ # },
2142
+ # {
2143
+ # name: "agreement_end_date",
2144
+ # type: "TIMESTAMP",
2145
+ # is_required: false,
2146
+ # },
2147
+ # {
2148
+ # name: "shipping_instr_code",
2149
+ # type: "STRING",
2150
+ # is_required: false,
2151
+ # },
2152
+ # {
2153
+ # name: "payment_terms_code",
2154
+ # type: "STRING",
2155
+ # is_required: false,
2156
+ # },
2157
+ # {
2158
+ # name: "std_terms_agreement",
2159
+ # type: "STRING",
2160
+ # is_required: false,
2161
+ # },
2162
+ # {
2163
+ # name: "std_terms_agreement_ver",
2164
+ # type: "STRING",
2165
+ # is_required: false,
2166
+ # },
2167
+ # {
2168
+ # name: "agreement_number",
2169
+ # type: "STRING",
2170
+ # is_required: false,
2171
+ # },
2172
+ # {
2173
+ # name: "source",
2174
+ # type: "STRING",
2175
+ # is_required: false,
2176
+ # },
2177
+ # {
2178
+ # name: "source_update_dttm",
2179
+ # type: "TIMESTAMP",
2180
+ # is_required: false,
2181
+ # },
2182
+ # {
2183
+ # name: "source_event_id",
2184
+ # type: "STRING",
2185
+ # is_required: false,
2186
+ # },
2187
+ # {
2188
+ # name: "db_creation_dttm",
2189
+ # type: "TIMESTAMP",
2190
+ # is_required: false,
2191
+ # },
2192
+ # {
2193
+ # name: "db_updation_dttm",
2194
+ # type: "TIMESTAMP",
2195
+ # is_required: false,
2196
+ # },
2197
+ # ],
2198
+ # },
2199
+ # },
2200
+ # ],
2201
+ # }
2202
+ #
2203
+ # @example Example: List custom datasets using pagination
514
2204
  #
515
- # @option params [required, String] :job_id
516
- # The BillOfMaterialsImportJob identifier.
2205
+ # resp = client.list_data_lake_datasets({
2206
+ # instance_id: "1877dd20-dee9-4639-8e99-cb67acf21fe5",
2207
+ # max_results: 2,
2208
+ # namespace: "default",
2209
+ # next_token: "next_token_returned_from_previous_list_request",
2210
+ # })
517
2211
  #
518
- # @return [Types::GetBillOfMaterialsImportJobResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2212
+ # resp.to_h outputs the following:
2213
+ # {
2214
+ # datasets: [
2215
+ # {
2216
+ # name: "my_dataset",
2217
+ # arn: "arn:aws:scn:us-east-1:012345678910:instance/1877dd20-dee9-4639-8e99-cb67acf21fe5/namespaces/default/datasets/my_dataset",
2218
+ # created_time: Time.parse(1727116807.751),
2219
+ # description: "This is a custom dataset",
2220
+ # instance_id: "1877dd20-dee9-4639-8e99-cb67acf21fe5",
2221
+ # last_modified_time: Time.parse(1727116807.751),
2222
+ # namespace: "default",
2223
+ # schema: {
2224
+ # name: "MyDataset",
2225
+ # fields: [
2226
+ # {
2227
+ # name: "id",
2228
+ # type: "INT",
2229
+ # is_required: true,
2230
+ # },
2231
+ # {
2232
+ # name: "description",
2233
+ # type: "STRING",
2234
+ # is_required: true,
2235
+ # },
2236
+ # {
2237
+ # name: "price",
2238
+ # type: "DOUBLE",
2239
+ # is_required: false,
2240
+ # },
2241
+ # {
2242
+ # name: "creation_time",
2243
+ # type: "TIMESTAMP",
2244
+ # is_required: false,
2245
+ # },
2246
+ # ],
2247
+ # },
2248
+ # },
2249
+ # {
2250
+ # name: "my_dataset_2",
2251
+ # arn: "arn:aws:scn:us-east-1:012345678910:instance/1877dd20-dee9-4639-8e99-cb67acf21fe5/namespaces/default/datasets/my_dataset_2",
2252
+ # created_time: Time.parse(1727116907.751),
2253
+ # description: "This is a custom dataset 2",
2254
+ # instance_id: "1877dd20-dee9-4639-8e99-cb67acf21fe5",
2255
+ # last_modified_time: Time.parse(1727116907.751),
2256
+ # namespace: "default",
2257
+ # schema: {
2258
+ # name: "MyDataset2",
2259
+ # fields: [
2260
+ # {
2261
+ # name: "id",
2262
+ # type: "INT",
2263
+ # is_required: true,
2264
+ # },
2265
+ # {
2266
+ # name: "description",
2267
+ # type: "STRING",
2268
+ # is_required: true,
2269
+ # },
2270
+ # ],
2271
+ # },
2272
+ # },
2273
+ # ],
2274
+ # next_token: "next_token_for_next_list_request",
2275
+ # }
519
2276
  #
520
- # * {Types::GetBillOfMaterialsImportJobResponse#job #job} => Types::BillOfMaterialsImportJob
2277
+ # @example Request syntax with placeholder values
521
2278
  #
2279
+ # resp = client.list_data_lake_datasets({
2280
+ # instance_id: "UUID", # required
2281
+ # namespace: "DataLakeDatasetNamespace", # required
2282
+ # next_token: "DataLakeDatasetNextToken",
2283
+ # max_results: 1,
2284
+ # })
522
2285
  #
523
- # @example Example: Invoke GetBillOfMaterialsImportJob for a successful job
2286
+ # @example Response structure
524
2287
  #
525
- # resp = client.get_bill_of_materials_import_job({
526
- # instance_id: "60f82bbd-71f7-4fcd-a941-472f574c5243",
527
- # job_id: "f79b359b-1515-4436-a3bf-bae7b33e47b4",
2288
+ # resp.datasets #=> Array
2289
+ # resp.datasets[0].instance_id #=> String
2290
+ # resp.datasets[0].namespace #=> String
2291
+ # resp.datasets[0].name #=> String
2292
+ # resp.datasets[0].arn #=> String
2293
+ # resp.datasets[0].schema.name #=> String
2294
+ # resp.datasets[0].schema.fields #=> Array
2295
+ # resp.datasets[0].schema.fields[0].name #=> String
2296
+ # resp.datasets[0].schema.fields[0].type #=> String, one of "INT", "DOUBLE", "STRING", "TIMESTAMP"
2297
+ # resp.datasets[0].schema.fields[0].is_required #=> Boolean
2298
+ # resp.datasets[0].description #=> String
2299
+ # resp.datasets[0].created_time #=> Time
2300
+ # resp.datasets[0].last_modified_time #=> Time
2301
+ # resp.next_token #=> String
2302
+ #
2303
+ # @see http://docs.aws.amazon.com/goto/WebAPI/supplychain-2024-01-01/ListDataLakeDatasets AWS API Documentation
2304
+ #
2305
+ # @overload list_data_lake_datasets(params = {})
2306
+ # @param [Hash] params ({})
2307
+ def list_data_lake_datasets(params = {}, options = {})
2308
+ req = build_request(:list_data_lake_datasets, params)
2309
+ req.send_request(options)
2310
+ end
2311
+
2312
+ # List all the AWS Supply Chain instances in a paginated way.
2313
+ #
2314
+ # @option params [String] :next_token
2315
+ # The pagination token to fetch the next page of instances.
2316
+ #
2317
+ # @option params [Integer] :max_results
2318
+ # Specify the maximum number of instances to fetch in this paginated
2319
+ # request.
2320
+ #
2321
+ # @option params [Array<String>] :instance_name_filter
2322
+ # The filter to ListInstances based on their names.
2323
+ #
2324
+ # @option params [Array<String>] :instance_state_filter
2325
+ # The filter to ListInstances based on their state.
2326
+ #
2327
+ # @return [Types::ListInstancesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2328
+ #
2329
+ # * {Types::ListInstancesResponse#instances #instances} => Array&lt;Types::Instance&gt;
2330
+ # * {Types::ListInstancesResponse#next_token #next_token} => String
2331
+ #
2332
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2333
+ #
2334
+ #
2335
+ # @example Example: Successful ListInstance request with no input data
2336
+ #
2337
+ # resp = client.list_instances({
528
2338
  # })
529
2339
  #
530
2340
  # resp.to_h outputs the following:
531
2341
  # {
532
- # job: {
533
- # instance_id: "60f82bbd-71f7-4fcd-a941-472f574c5243",
534
- # job_id: "f79b359b-1515-4436-a3bf-bae7b33e47b4",
535
- # message: "Import job completed successfully.",
536
- # s3uri: "s3://mybucketname/pathelemene/file.csv",
537
- # status: "SUCCESS",
538
- # },
2342
+ # instances: [
2343
+ # {
2344
+ # aws_account_id: "123456789012",
2345
+ # created_time: Time.parse(172615383136),
2346
+ # instance_description: "example instance description",
2347
+ # instance_id: "9e193580-7cc5-45f7-9609-c43ba0ada793",
2348
+ # instance_name: "example instance name",
2349
+ # kms_key_arn: "arn:aws:kms:us-west-2:123456789012:key/b14ffc39-b7d4-45ab-991a-6257a7f0d24d",
2350
+ # last_modified_time: Time.parse(172615383136),
2351
+ # state: "Active",
2352
+ # version_number: 2.0,
2353
+ # },
2354
+ # {
2355
+ # aws_account_id: "123456789012",
2356
+ # created_time: Time.parse(17261674383136),
2357
+ # instance_description: "example instance description",
2358
+ # instance_id: "3ad8116a-644d-4172-8dcb-20e51d314c14",
2359
+ # kms_key_arn: "arn:aws:kms:us-west-2:123456789012:key/b14ffc39-b7d4-45ab-991a-6257a7f0d24d",
2360
+ # last_modified_time: Time.parse(17261674383136),
2361
+ # state: "Initializing",
2362
+ # version_number: 2.0,
2363
+ # },
2364
+ # ],
539
2365
  # }
540
2366
  #
541
- # @example Example: Invoke GetBillOfMaterialsImportJob for an in-progress job
2367
+ # @example Example: Successful ListInstance request with filters
542
2368
  #
543
- # resp = client.get_bill_of_materials_import_job({
544
- # instance_id: "60f82bbd-71f7-4fcd-a941-472f574c5243",
545
- # job_id: "f79b359b-1515-4436-a3bf-bae7b33e47b4",
2369
+ # resp = client.list_instances({
2370
+ # instance_name_filter: [
2371
+ # "example instance name",
2372
+ # ],
2373
+ # instance_state_filter: [
2374
+ # "Active",
2375
+ # ],
546
2376
  # })
547
2377
  #
548
2378
  # resp.to_h outputs the following:
549
2379
  # {
550
- # job: {
551
- # instance_id: "60f82bbd-71f7-4fcd-a941-472f574c5243",
552
- # job_id: "f79b359b-1515-4436-a3bf-bae7b33e47b4",
553
- # s3uri: "s3://mybucketname/pathelemene/file.csv",
554
- # status: "IN_PROGRESS",
2380
+ # instances: [
2381
+ # {
2382
+ # aws_account_id: "123456789012",
2383
+ # created_time: Time.parse(172615383136),
2384
+ # instance_description: "example instance description",
2385
+ # instance_id: "9e193580-7cc5-45f7-9609-c43ba0ada793",
2386
+ # instance_name: "example instance name",
2387
+ # kms_key_arn: "arn:aws:kms:us-west-2:123456789012:key/b14ffc39-b7d4-45ab-991a-6257a7f0d24d",
2388
+ # last_modified_time: Time.parse(172615383136),
2389
+ # state: "Active",
2390
+ # version_number: 2.0,
2391
+ # },
2392
+ # ],
2393
+ # }
2394
+ #
2395
+ # @example Example: Successful ListInstance request with maxResult override
2396
+ #
2397
+ # resp = client.list_instances({
2398
+ # max_results: 1,
2399
+ # })
2400
+ #
2401
+ # resp.to_h outputs the following:
2402
+ # {
2403
+ # instances: [
2404
+ # {
2405
+ # aws_account_id: "123456789012",
2406
+ # created_time: Time.parse(172615383136),
2407
+ # instance_description: "example instance description",
2408
+ # instance_id: "9e193580-7cc5-45f7-9609-c43ba0ada793",
2409
+ # instance_name: "example instance name",
2410
+ # kms_key_arn: "arn:aws:kms:us-west-2:123456789012:key/b14ffc39-b7d4-45ab-991a-6257a7f0d24d",
2411
+ # last_modified_time: Time.parse(172615383136),
2412
+ # state: "Active",
2413
+ # version_number: 2.0,
2414
+ # },
2415
+ # ],
2416
+ # next_token: "AAQA-EFRSURBSGhtcng0c0dxbENwUHdnckVIbkFYNU1QVjRTZWN2ak5iMFVicC8zemlHOVF3SEpjSC9WTWJVVXBMV2Z1N3ZvZlQ0WEFBQUFmakI4QmdrcWhraUc5dzBCQndhZ2J6QnRBZ0VBTUdnR0NTcUdTSWIzRFFFSEFUQWVCZ2xnaGtnQlpRTUVBUzR3RVFRTTJibW9LemgrSWZTY0RaZEdBZ0VRZ0R2dDhsQnVGbGJ0dnFTZityWmNSWEVPbG93emJoSjhxOGNMbGQ1UGMvY0VRbWlTR3pQUFd4N2RraXY5Y0ovcS9vSmFYZVBGdWVHaU0zWmd0dz09n-rC1ejA5--7ltJxpDT2xP_i8xGqDPMOZfjpp8q6l5NuP9_bnBURvwwYhdqDriMK5_f96LuPEnPbuML-ItfgEiCcUy0p2tApvpZkZqOG5fbqP-4C5aDYPTffHLyq-MMqvfrGVJzL1nvkpZcnTkVR9VJsu5b8I0qqDW0H8EMKGgTo78U9lr4sj3Usi9VMwZxgKCBmr03HhFLYXOW--XMbIx0CTZF0fYIcRxmA_sVS6J7gpaB9yMcnzs5VUKokoA5JTcAPY5d1Y1VyE8KKxv51cfPgXw8OYCDbFQncw8mZPmE-VqxjFbksmk_FmghpPn9j2Ppoe-zr0LQ%3D",
2417
+ # }
2418
+ #
2419
+ # @example Example: Successful ListInstance request with nextToken
2420
+ #
2421
+ # resp = client.list_instances({
2422
+ # max_results: 1,
2423
+ # next_token: "AAQA-EFRSURBSGhtcng0c0dxbENwUHdnckVIbkFYNU1QVjRTZWN2ak5iMFVicC8zemlHOVF3SEpjSC9WTWJVVXBMV2Z1N3ZvZlQ0WEFBQUFmakI4QmdrcWhraUc5dzBCQndhZ2J6QnRBZ0VBTUdnR0NTcUdTSWIzRFFFSEFUQWVCZ2xnaGtnQlpRTUVBUzR3RVFRTTJibW9LemgrSWZTY0RaZEdBZ0VRZ0R2dDhsQnVGbGJ0dnFTZityWmNSWEVPbG93emJoSjhxOGNMbGQ1UGMvY0VRbWlTR3pQUFd4N2RraXY5Y0ovcS9vSmFYZVBGdWVHaU0zWmd0dz09n-rC1ejA5--7ltJxpDT2xP_i8xGqDPMOZfjpp8q6l5NuP9_bnBURvwwYhdqDriMK5_f96LuPEnPbuML-ItfgEiCcUy0p2tApvpZkZqOG5fbqP-4C5aDYPTffHLyq-MMqvfrGVJzL1nvkpZcnTkVR9VJsu5b8I0qqDW0H8EMKGgTo78U9lr4sj3Usi9VMwZxgKCBmr03HhFLYXOW--XMbIx0CTZF0fYIcRxmA_sVS6J7gpaB9yMcnzs5VUKokoA5JTcAPY5d1Y1VyE8KKxv51cfPgXw8OYCDbFQncw8mZPmE-VqxjFbksmk_FmghpPn9j2Ppoe-zr0LQ%3D",
2424
+ # })
2425
+ #
2426
+ # resp.to_h outputs the following:
2427
+ # {
2428
+ # instances: [
2429
+ # {
2430
+ # aws_account_id: "123456789012",
2431
+ # created_time: Time.parse(17261674383136),
2432
+ # instance_description: "example instance description",
2433
+ # instance_id: "3ad8116a-644d-4172-8dcb-20e51d314c14",
2434
+ # kms_key_arn: "arn:aws:kms:us-west-2:123456789012:key/b14ffc39-b7d4-45ab-991a-6257a7f0d24d",
2435
+ # last_modified_time: Time.parse(17261674383136),
2436
+ # state: "Initializing",
2437
+ # version_number: 2.0,
2438
+ # },
2439
+ # ],
2440
+ # }
2441
+ #
2442
+ # @example Request syntax with placeholder values
2443
+ #
2444
+ # resp = client.list_instances({
2445
+ # next_token: "InstanceNextToken",
2446
+ # max_results: 1,
2447
+ # instance_name_filter: ["InstanceName"],
2448
+ # instance_state_filter: ["Initializing"], # accepts Initializing, Active, CreateFailed, DeleteFailed, Deleting, Deleted
2449
+ # })
2450
+ #
2451
+ # @example Response structure
2452
+ #
2453
+ # resp.instances #=> Array
2454
+ # resp.instances[0].instance_id #=> String
2455
+ # resp.instances[0].aws_account_id #=> String
2456
+ # resp.instances[0].state #=> String, one of "Initializing", "Active", "CreateFailed", "DeleteFailed", "Deleting", "Deleted"
2457
+ # resp.instances[0].web_app_dns_domain #=> String
2458
+ # resp.instances[0].created_time #=> Time
2459
+ # resp.instances[0].last_modified_time #=> Time
2460
+ # resp.instances[0].instance_name #=> String
2461
+ # resp.instances[0].instance_description #=> String
2462
+ # resp.instances[0].kms_key_arn #=> String
2463
+ # resp.instances[0].version_number #=> Float
2464
+ # resp.next_token #=> String
2465
+ #
2466
+ # @see http://docs.aws.amazon.com/goto/WebAPI/supplychain-2024-01-01/ListInstances AWS API Documentation
2467
+ #
2468
+ # @overload list_instances(params = {})
2469
+ # @param [Hash] params ({})
2470
+ def list_instances(params = {}, options = {})
2471
+ req = build_request(:list_instances, params)
2472
+ req.send_request(options)
2473
+ end
2474
+
2475
+ # List all the tags for an Amazon Web ServicesSupply Chain resource.
2476
+ #
2477
+ # @option params [required, String] :resource_arn
2478
+ # The Amazon Web Services Supply chain resource ARN that needs tags to
2479
+ # be listed.
2480
+ #
2481
+ # @return [Types::ListTagsForResourceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2482
+ #
2483
+ # * {Types::ListTagsForResourceResponse#tags #tags} => Hash&lt;String,String&gt;
2484
+ #
2485
+ #
2486
+ # @example Example: Successful ListTagsForResource
2487
+ #
2488
+ # resp = client.list_tags_for_resource({
2489
+ # resource_arn: "arn:aws:scn:us-east-1:123456789012:instance/8850c54e-e187-4fa7-89d4-6370f165174d/data-integration-flows/my_flow1",
2490
+ # })
2491
+ #
2492
+ # resp.to_h outputs the following:
2493
+ # {
2494
+ # tags: {
2495
+ # "tagKey1" => "tagValue1",
555
2496
  # },
556
2497
  # }
557
2498
  #
558
2499
  # @example Request syntax with placeholder values
559
2500
  #
560
- # resp = client.get_bill_of_materials_import_job({
561
- # instance_id: "UUID", # required
562
- # job_id: "UUID", # required
2501
+ # resp = client.list_tags_for_resource({
2502
+ # resource_arn: "AscResourceArn", # required
563
2503
  # })
564
2504
  #
565
2505
  # @example Response structure
566
2506
  #
567
- # resp.job.instance_id #=> String
568
- # resp.job.job_id #=> String
569
- # resp.job.status #=> String, one of "NEW", "FAILED", "IN_PROGRESS", "QUEUED", "SUCCESS"
570
- # resp.job.s3uri #=> String
571
- # resp.job.message #=> String
2507
+ # resp.tags #=> Hash
2508
+ # resp.tags["TagKey"] #=> String
572
2509
  #
573
- # @see http://docs.aws.amazon.com/goto/WebAPI/supplychain-2024-01-01/GetBillOfMaterialsImportJob AWS API Documentation
2510
+ # @see http://docs.aws.amazon.com/goto/WebAPI/supplychain-2024-01-01/ListTagsForResource AWS API Documentation
574
2511
  #
575
- # @overload get_bill_of_materials_import_job(params = {})
2512
+ # @overload list_tags_for_resource(params = {})
576
2513
  # @param [Hash] params ({})
577
- def get_bill_of_materials_import_job(params = {}, options = {})
578
- req = build_request(:get_bill_of_materials_import_job, params)
2514
+ def list_tags_for_resource(params = {}, options = {})
2515
+ req = build_request(:list_tags_for_resource, params)
579
2516
  req.send_request(options)
580
2517
  end
581
2518
 
@@ -867,6 +2804,693 @@ module Aws::SupplyChain
867
2804
  req.send_request(options)
868
2805
  end
869
2806
 
2807
+ # Create tags for an Amazon Web Services Supply chain resource.
2808
+ #
2809
+ # @option params [required, String] :resource_arn
2810
+ # The Amazon Web Services Supply chain resource ARN that needs to be
2811
+ # tagged.
2812
+ #
2813
+ # @option params [required, Hash<String,String>] :tags
2814
+ # The tags of the Amazon Web Services Supply chain resource to be
2815
+ # created.
2816
+ #
2817
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2818
+ #
2819
+ #
2820
+ # @example Example: Successful TagResource
2821
+ #
2822
+ # resp = client.tag_resource({
2823
+ # resource_arn: "arn:aws:scn:us-east-1:123456789012:instance/8850c54e-e187-4fa7-89d4-6370f165174d/data-integration-flows/my_flow1",
2824
+ # tags: {
2825
+ # "tagKey1" => "tagValue1",
2826
+ # },
2827
+ # })
2828
+ #
2829
+ # resp.to_h outputs the following:
2830
+ # {
2831
+ # }
2832
+ #
2833
+ # @example Request syntax with placeholder values
2834
+ #
2835
+ # resp = client.tag_resource({
2836
+ # resource_arn: "AscResourceArn", # required
2837
+ # tags: { # required
2838
+ # "TagKey" => "TagValue",
2839
+ # },
2840
+ # })
2841
+ #
2842
+ # @see http://docs.aws.amazon.com/goto/WebAPI/supplychain-2024-01-01/TagResource AWS API Documentation
2843
+ #
2844
+ # @overload tag_resource(params = {})
2845
+ # @param [Hash] params ({})
2846
+ def tag_resource(params = {}, options = {})
2847
+ req = build_request(:tag_resource, params)
2848
+ req.send_request(options)
2849
+ end
2850
+
2851
+ # Delete tags for an Amazon Web Services Supply chain resource.
2852
+ #
2853
+ # @option params [required, String] :resource_arn
2854
+ # The Amazon Web Services Supply chain resource ARN that needs to be
2855
+ # untagged.
2856
+ #
2857
+ # @option params [required, Array<String>] :tag_keys
2858
+ # The list of tag keys to be deleted for an Amazon Web Services Supply
2859
+ # Chain resource.
2860
+ #
2861
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2862
+ #
2863
+ #
2864
+ # @example Example: Successful UntagResource
2865
+ #
2866
+ # resp = client.untag_resource({
2867
+ # resource_arn: "arn:aws:scn:us-east-1:123456789012:instance/8850c54e-e187-4fa7-89d4-6370f165174d/data-integration-flows/my_flow1",
2868
+ # tag_keys: [
2869
+ # "tagKey1",
2870
+ # ],
2871
+ # })
2872
+ #
2873
+ # resp.to_h outputs the following:
2874
+ # {
2875
+ # }
2876
+ #
2877
+ # @example Request syntax with placeholder values
2878
+ #
2879
+ # resp = client.untag_resource({
2880
+ # resource_arn: "AscResourceArn", # required
2881
+ # tag_keys: ["TagKey"], # required
2882
+ # })
2883
+ #
2884
+ # @see http://docs.aws.amazon.com/goto/WebAPI/supplychain-2024-01-01/UntagResource AWS API Documentation
2885
+ #
2886
+ # @overload untag_resource(params = {})
2887
+ # @param [Hash] params ({})
2888
+ def untag_resource(params = {}, options = {})
2889
+ req = build_request(:untag_resource, params)
2890
+ req.send_request(options)
2891
+ end
2892
+
2893
+ # Update the DataIntegrationFlow.
2894
+ #
2895
+ # @option params [required, String] :instance_id
2896
+ # The Amazon Web Services Supply Chain instance identifier.
2897
+ #
2898
+ # @option params [required, String] :name
2899
+ # The name of the DataIntegrationFlow to be updated.
2900
+ #
2901
+ # @option params [Array<Types::DataIntegrationFlowSource>] :sources
2902
+ # The new source configurations for the DataIntegrationFlow.
2903
+ #
2904
+ # @option params [Types::DataIntegrationFlowTransformation] :transformation
2905
+ # The new transformation configurations for the DataIntegrationFlow.
2906
+ #
2907
+ # @option params [Types::DataIntegrationFlowTarget] :target
2908
+ # The new target configurations for the DataIntegrationFlow.
2909
+ #
2910
+ # @return [Types::UpdateDataIntegrationFlowResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2911
+ #
2912
+ # * {Types::UpdateDataIntegrationFlowResponse#flow #flow} => Types::DataIntegrationFlow
2913
+ #
2914
+ #
2915
+ # @example Example: Successful UpdateDataIntegrationFlow for s3 to dataset flow to update SQL transformation
2916
+ #
2917
+ # resp = client.update_data_integration_flow({
2918
+ # name: "testStagingFlow",
2919
+ # instance_id: "8850c54e-e187-4fa7-89d4-6370f165174d",
2920
+ # sources: [
2921
+ # {
2922
+ # s3_source: {
2923
+ # bucket_name: "aws-supply-chain-data-b8c7bb28-a576-4334-b481-6d6e8e47371f",
2924
+ # prefix: "example-prefix",
2925
+ # },
2926
+ # source_name: "testSourceName",
2927
+ # source_type: "S3",
2928
+ # },
2929
+ # ],
2930
+ # target: {
2931
+ # dataset_target: {
2932
+ # dataset_identifier: "arn:aws:scn:us-east-1:123456789012:instance/8850c54e-e187-4fa7-89d4-6370f165174d/namespaces/default/datasets/my_staging_dataset",
2933
+ # },
2934
+ # target_type: "DATASET",
2935
+ # },
2936
+ # transformation: {
2937
+ # sql_transformation: {
2938
+ # query: "SELECT connection_id, bukrs AS id, txtmd AS description FROM testSourceName WHERE langu = 'E'",
2939
+ # },
2940
+ # transformation_type: "SQL",
2941
+ # },
2942
+ # })
2943
+ #
2944
+ # resp.to_h outputs the following:
2945
+ # {
2946
+ # flow: {
2947
+ # name: "testStagingFlow",
2948
+ # created_time: Time.parse(1724956400.44),
2949
+ # instance_id: "8850c54e-e187-4fa7-89d4-6370f165174d",
2950
+ # last_modified_time: Time.parse(1732456405.77),
2951
+ # sources: [
2952
+ # {
2953
+ # s3_source: {
2954
+ # bucket_name: "aws-supply-chain-data-b8c7bb28-a576-4334-b481-6d6e8e47371f",
2955
+ # prefix: "example-prefix",
2956
+ # },
2957
+ # source_name: "testSourceName",
2958
+ # source_type: "S3",
2959
+ # },
2960
+ # ],
2961
+ # target: {
2962
+ # dataset_target: {
2963
+ # dataset_identifier: "arn:aws:scn:us-east-1:123456789012:instance/8850c54e-e187-4fa7-89d4-6370f165174d/namespaces/default/datasets/my_staging_dataset",
2964
+ # },
2965
+ # target_type: "DATASET",
2966
+ # },
2967
+ # transformation: {
2968
+ # sql_transformation: {
2969
+ # query: "SELECT connection_id, bukrs AS id, txtmd AS description FROM testSourceName WHERE langu = 'E'",
2970
+ # },
2971
+ # transformation_type: "SQL",
2972
+ # },
2973
+ # },
2974
+ # }
2975
+ #
2976
+ # @example Example: Successful UpdateDataIntegrationFlow for dataset to dataset flow to update sources
2977
+ #
2978
+ # resp = client.update_data_integration_flow({
2979
+ # name: "trading-partner",
2980
+ # instance_id: "8850c54e-e187-4fa7-89d4-6370f165174d",
2981
+ # sources: [
2982
+ # {
2983
+ # dataset_source: {
2984
+ # dataset_identifier: "arn:aws:scn:us-east-1:123456789012:instance/8850c54e-e187-4fa7-89d4-6370f165174d/namespaces/default/datasets/my_staging_dataset1",
2985
+ # },
2986
+ # source_name: "testSourceName1",
2987
+ # source_type: "DATASET",
2988
+ # },
2989
+ # {
2990
+ # dataset_source: {
2991
+ # dataset_identifier: "arn:aws:scn:us-east-1:123456789012:instance/8850c54e-e187-4fa7-89d4-6370f165174d/namespaces/default/datasets/my_staging_dataset2_updated",
2992
+ # },
2993
+ # source_name: "testSourceName2",
2994
+ # source_type: "DATASET",
2995
+ # },
2996
+ # ],
2997
+ # target: {
2998
+ # dataset_target: {
2999
+ # dataset_identifier: "arn:aws:scn:us-east-1:123456789012:instance/8850c54e-e187-4fa7-89d4-6370f165174d/namespaces/asc/datasets/trading_partner",
3000
+ # },
3001
+ # target_type: "DATASET",
3002
+ # },
3003
+ # transformation: {
3004
+ # sql_transformation: {
3005
+ # query: "SELECT S1.id AS id, S1.poc_org_unit_description AS description, S1.company_id AS company_id, S1.tpartner_type AS tpartner_type, S1.geo_id AS geo_id, S1.eff_start_date AS eff_start_date, S1.eff_end_date AS eff_end_date FROM testSourceName1 AS S1 LEFT JOIN testSourceName2 as S2 ON S1.id=S2.id",
3006
+ # },
3007
+ # transformation_type: "SQL",
3008
+ # },
3009
+ # })
3010
+ #
3011
+ # resp.to_h outputs the following:
3012
+ # {
3013
+ # flow: {
3014
+ # name: "trading-partner",
3015
+ # created_time: Time.parse(1724956400.44),
3016
+ # instance_id: "8850c54e-e187-4fa7-89d4-6370f165174d",
3017
+ # last_modified_time: Time.parse(1732456405.77),
3018
+ # sources: [
3019
+ # {
3020
+ # dataset_source: {
3021
+ # dataset_identifier: "arn:aws:scn:us-east-1:123456789012:instance/8850c54e-e187-4fa7-89d4-6370f165174d/namespaces/default/datasets/my_staging_dataset1",
3022
+ # },
3023
+ # source_name: "testSourceName1",
3024
+ # source_type: "DATASET",
3025
+ # },
3026
+ # {
3027
+ # dataset_source: {
3028
+ # dataset_identifier: "arn:aws:scn:us-east-1:123456789012:instance/8850c54e-e187-4fa7-89d4-6370f165174d/namespaces/default/datasets/my_staging_dataset2_updated",
3029
+ # },
3030
+ # source_name: "testSourceName2",
3031
+ # source_type: "DATASET",
3032
+ # },
3033
+ # ],
3034
+ # target: {
3035
+ # dataset_target: {
3036
+ # dataset_identifier: "arn:aws:scn:us-east-1:123456789012:instance/8850c54e-e187-4fa7-89d4-6370f165174d/namespaces/asc/datasets/trading_partner",
3037
+ # },
3038
+ # target_type: "DATASET",
3039
+ # },
3040
+ # transformation: {
3041
+ # sql_transformation: {
3042
+ # query: "SELECT S1.id AS id, S1.poc_org_unit_description AS description, S1.company_id AS company_id, S1.tpartner_type AS tpartner_type, S1.geo_id AS geo_id, S1.eff_start_date AS eff_start_date, S1.eff_end_date AS eff_end_date FROM testSourceName1 AS S1 LEFT JOIN testSourceName2 as S2 ON S1.id=S2.id",
3043
+ # },
3044
+ # transformation_type: "SQL",
3045
+ # },
3046
+ # },
3047
+ # }
3048
+ #
3049
+ # @example Request syntax with placeholder values
3050
+ #
3051
+ # resp = client.update_data_integration_flow({
3052
+ # instance_id: "UUID", # required
3053
+ # name: "DataIntegrationFlowName", # required
3054
+ # sources: [
3055
+ # {
3056
+ # source_type: "S3", # required, accepts S3, DATASET
3057
+ # source_name: "DataIntegrationFlowSourceName", # required
3058
+ # s3_source: {
3059
+ # bucket_name: "S3BucketName", # required
3060
+ # prefix: "DataIntegrationFlowS3Prefix", # required
3061
+ # options: {
3062
+ # file_type: "CSV", # accepts CSV, PARQUET, JSON
3063
+ # },
3064
+ # },
3065
+ # dataset_source: {
3066
+ # dataset_identifier: "DatasetIdentifier", # required
3067
+ # options: {
3068
+ # load_type: "INCREMENTAL", # accepts INCREMENTAL, REPLACE
3069
+ # dedupe_records: false,
3070
+ # },
3071
+ # },
3072
+ # },
3073
+ # ],
3074
+ # transformation: {
3075
+ # transformation_type: "SQL", # required, accepts SQL, NONE
3076
+ # sql_transformation: {
3077
+ # query: "DataIntegrationFlowSQLQuery", # required
3078
+ # },
3079
+ # },
3080
+ # target: {
3081
+ # target_type: "S3", # required, accepts S3, DATASET
3082
+ # s3_target: {
3083
+ # bucket_name: "S3BucketName", # required
3084
+ # prefix: "DataIntegrationFlowS3Prefix", # required
3085
+ # options: {
3086
+ # file_type: "CSV", # accepts CSV, PARQUET, JSON
3087
+ # },
3088
+ # },
3089
+ # dataset_target: {
3090
+ # dataset_identifier: "DatasetIdentifier", # required
3091
+ # options: {
3092
+ # load_type: "INCREMENTAL", # accepts INCREMENTAL, REPLACE
3093
+ # dedupe_records: false,
3094
+ # },
3095
+ # },
3096
+ # },
3097
+ # })
3098
+ #
3099
+ # @example Response structure
3100
+ #
3101
+ # resp.flow.instance_id #=> String
3102
+ # resp.flow.name #=> String
3103
+ # resp.flow.sources #=> Array
3104
+ # resp.flow.sources[0].source_type #=> String, one of "S3", "DATASET"
3105
+ # resp.flow.sources[0].source_name #=> String
3106
+ # resp.flow.sources[0].s3_source.bucket_name #=> String
3107
+ # resp.flow.sources[0].s3_source.prefix #=> String
3108
+ # resp.flow.sources[0].s3_source.options.file_type #=> String, one of "CSV", "PARQUET", "JSON"
3109
+ # resp.flow.sources[0].dataset_source.dataset_identifier #=> String
3110
+ # resp.flow.sources[0].dataset_source.options.load_type #=> String, one of "INCREMENTAL", "REPLACE"
3111
+ # resp.flow.sources[0].dataset_source.options.dedupe_records #=> Boolean
3112
+ # resp.flow.transformation.transformation_type #=> String, one of "SQL", "NONE"
3113
+ # resp.flow.transformation.sql_transformation.query #=> String
3114
+ # resp.flow.target.target_type #=> String, one of "S3", "DATASET"
3115
+ # resp.flow.target.s3_target.bucket_name #=> String
3116
+ # resp.flow.target.s3_target.prefix #=> String
3117
+ # resp.flow.target.s3_target.options.file_type #=> String, one of "CSV", "PARQUET", "JSON"
3118
+ # resp.flow.target.dataset_target.dataset_identifier #=> String
3119
+ # resp.flow.target.dataset_target.options.load_type #=> String, one of "INCREMENTAL", "REPLACE"
3120
+ # resp.flow.target.dataset_target.options.dedupe_records #=> Boolean
3121
+ # resp.flow.created_time #=> Time
3122
+ # resp.flow.last_modified_time #=> Time
3123
+ #
3124
+ # @see http://docs.aws.amazon.com/goto/WebAPI/supplychain-2024-01-01/UpdateDataIntegrationFlow AWS API Documentation
3125
+ #
3126
+ # @overload update_data_integration_flow(params = {})
3127
+ # @param [Hash] params ({})
3128
+ def update_data_integration_flow(params = {}, options = {})
3129
+ req = build_request(:update_data_integration_flow, params)
3130
+ req.send_request(options)
3131
+ end
3132
+
3133
+ # Update a data lake dataset.
3134
+ #
3135
+ # @option params [required, String] :instance_id
3136
+ # The Amazon Web Services Chain instance identifier.
3137
+ #
3138
+ # @option params [required, String] :namespace
3139
+ # The name space of the dataset. The available values are:
3140
+ #
3141
+ # * **asc** - For information on the Amazon Web Services Supply Chain
3142
+ # supported datasets see
3143
+ # [https://docs.aws.amazon.com/aws-supply-chain/latest/userguide/data-model-asc.html][1].
3144
+ #
3145
+ # * **default** - For datasets with custom user-defined schemas.
3146
+ #
3147
+ #
3148
+ #
3149
+ # [1]: https://docs.aws.amazon.com/aws-supply-chain/latest/userguide/data-model-asc.html
3150
+ #
3151
+ # @option params [required, String] :name
3152
+ # The name of the dataset. For **asc** name space, the name must be one
3153
+ # of the supported data entities under
3154
+ # [https://docs.aws.amazon.com/aws-supply-chain/latest/userguide/data-model-asc.html][1].
3155
+ #
3156
+ #
3157
+ #
3158
+ # [1]: https://docs.aws.amazon.com/aws-supply-chain/latest/userguide/data-model-asc.html
3159
+ #
3160
+ # @option params [String] :description
3161
+ # The updated description of the data lake dataset.
3162
+ #
3163
+ # @return [Types::UpdateDataLakeDatasetResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3164
+ #
3165
+ # * {Types::UpdateDataLakeDatasetResponse#dataset #dataset} => Types::DataLakeDataset
3166
+ #
3167
+ #
3168
+ # @example Example: Update description of an existing AWS Supply Chain inbound order dataset
3169
+ #
3170
+ # resp = client.update_data_lake_dataset({
3171
+ # name: "inbound_order",
3172
+ # description: "This is an updated AWS Supply Chain inbound order dataset",
3173
+ # instance_id: "1877dd20-dee9-4639-8e99-cb67acf21fe5",
3174
+ # namespace: "asc",
3175
+ # })
3176
+ #
3177
+ # resp.to_h outputs the following:
3178
+ # {
3179
+ # dataset: {
3180
+ # name: "inbound_order",
3181
+ # arn: "arn:aws:scn:us-east-1:012345678910:instance/1877dd20-dee9-4639-8e99-cb67acf21fe5/namespaces/asc/datasets/inbound_order",
3182
+ # created_time: Time.parse(1727116807.751),
3183
+ # description: "This is an updated AWS Supply Chain inbound order dataset",
3184
+ # instance_id: "1877dd20-dee9-4639-8e99-cb67acf21fe5",
3185
+ # last_modified_time: Time.parse(1727117453.568),
3186
+ # namespace: "asc",
3187
+ # schema: {
3188
+ # name: "InboundOrder",
3189
+ # fields: [
3190
+ # {
3191
+ # name: "id",
3192
+ # type: "STRING",
3193
+ # is_required: true,
3194
+ # },
3195
+ # {
3196
+ # name: "tpartner_id",
3197
+ # type: "STRING",
3198
+ # is_required: true,
3199
+ # },
3200
+ # {
3201
+ # name: "connection_id",
3202
+ # type: "STRING",
3203
+ # is_required: true,
3204
+ # },
3205
+ # {
3206
+ # name: "order_type",
3207
+ # type: "STRING",
3208
+ # is_required: false,
3209
+ # },
3210
+ # {
3211
+ # name: "order_status",
3212
+ # type: "STRING",
3213
+ # is_required: false,
3214
+ # },
3215
+ # {
3216
+ # name: "inbound_order_url",
3217
+ # type: "STRING",
3218
+ # is_required: false,
3219
+ # },
3220
+ # {
3221
+ # name: "order_creation_date",
3222
+ # type: "TIMESTAMP",
3223
+ # is_required: false,
3224
+ # },
3225
+ # {
3226
+ # name: "company_id",
3227
+ # type: "STRING",
3228
+ # is_required: false,
3229
+ # },
3230
+ # {
3231
+ # name: "to_site_id",
3232
+ # type: "STRING",
3233
+ # is_required: false,
3234
+ # },
3235
+ # {
3236
+ # name: "order_currency_uom",
3237
+ # type: "STRING",
3238
+ # is_required: false,
3239
+ # },
3240
+ # {
3241
+ # name: "vendor_currency_uom",
3242
+ # type: "STRING",
3243
+ # is_required: false,
3244
+ # },
3245
+ # {
3246
+ # name: "exchange_rate",
3247
+ # type: "DOUBLE",
3248
+ # is_required: false,
3249
+ # },
3250
+ # {
3251
+ # name: "exchange_rate_date",
3252
+ # type: "TIMESTAMP",
3253
+ # is_required: false,
3254
+ # },
3255
+ # {
3256
+ # name: "incoterm",
3257
+ # type: "STRING",
3258
+ # is_required: false,
3259
+ # },
3260
+ # {
3261
+ # name: "incoterm2",
3262
+ # type: "STRING",
3263
+ # is_required: false,
3264
+ # },
3265
+ # {
3266
+ # name: "incoterm_location_1",
3267
+ # type: "STRING",
3268
+ # is_required: false,
3269
+ # },
3270
+ # {
3271
+ # name: "incoterm_location_2",
3272
+ # type: "STRING",
3273
+ # is_required: false,
3274
+ # },
3275
+ # {
3276
+ # name: "submitted_date",
3277
+ # type: "TIMESTAMP",
3278
+ # is_required: false,
3279
+ # },
3280
+ # {
3281
+ # name: "agreement_start_date",
3282
+ # type: "TIMESTAMP",
3283
+ # is_required: false,
3284
+ # },
3285
+ # {
3286
+ # name: "agreement_end_date",
3287
+ # type: "TIMESTAMP",
3288
+ # is_required: false,
3289
+ # },
3290
+ # {
3291
+ # name: "shipping_instr_code",
3292
+ # type: "STRING",
3293
+ # is_required: false,
3294
+ # },
3295
+ # {
3296
+ # name: "payment_terms_code",
3297
+ # type: "STRING",
3298
+ # is_required: false,
3299
+ # },
3300
+ # {
3301
+ # name: "std_terms_agreement",
3302
+ # type: "STRING",
3303
+ # is_required: false,
3304
+ # },
3305
+ # {
3306
+ # name: "std_terms_agreement_ver",
3307
+ # type: "STRING",
3308
+ # is_required: false,
3309
+ # },
3310
+ # {
3311
+ # name: "agreement_number",
3312
+ # type: "STRING",
3313
+ # is_required: false,
3314
+ # },
3315
+ # {
3316
+ # name: "source",
3317
+ # type: "STRING",
3318
+ # is_required: false,
3319
+ # },
3320
+ # {
3321
+ # name: "source_update_dttm",
3322
+ # type: "TIMESTAMP",
3323
+ # is_required: false,
3324
+ # },
3325
+ # {
3326
+ # name: "source_event_id",
3327
+ # type: "STRING",
3328
+ # is_required: false,
3329
+ # },
3330
+ # {
3331
+ # name: "db_creation_dttm",
3332
+ # type: "TIMESTAMP",
3333
+ # is_required: false,
3334
+ # },
3335
+ # {
3336
+ # name: "db_updation_dttm",
3337
+ # type: "TIMESTAMP",
3338
+ # is_required: false,
3339
+ # },
3340
+ # ],
3341
+ # },
3342
+ # },
3343
+ # }
3344
+ #
3345
+ # @example Example: Update description of an existing custom dataset
3346
+ #
3347
+ # resp = client.update_data_lake_dataset({
3348
+ # name: "my_dataset",
3349
+ # description: "This is an updated custom dataset",
3350
+ # instance_id: "1877dd20-dee9-4639-8e99-cb67acf21fe5",
3351
+ # namespace: "default",
3352
+ # })
3353
+ #
3354
+ # resp.to_h outputs the following:
3355
+ # {
3356
+ # dataset: {
3357
+ # name: "my_dataset",
3358
+ # arn: "arn:aws:scn:us-east-1:012345678910:instance/1877dd20-dee9-4639-8e99-cb67acf21fe5/namespaces/default/datasets/my_dataset",
3359
+ # created_time: Time.parse(1727116807.751),
3360
+ # description: "This is an updated custom dataset",
3361
+ # instance_id: "1877dd20-dee9-4639-8e99-cb67acf21fe5",
3362
+ # last_modified_time: Time.parse(1727117453.568),
3363
+ # namespace: "default",
3364
+ # schema: {
3365
+ # name: "MyDataset",
3366
+ # fields: [
3367
+ # {
3368
+ # name: "id",
3369
+ # type: "INT",
3370
+ # is_required: true,
3371
+ # },
3372
+ # {
3373
+ # name: "description",
3374
+ # type: "STRING",
3375
+ # is_required: true,
3376
+ # },
3377
+ # {
3378
+ # name: "price",
3379
+ # type: "DOUBLE",
3380
+ # is_required: false,
3381
+ # },
3382
+ # {
3383
+ # name: "creation_time",
3384
+ # type: "TIMESTAMP",
3385
+ # is_required: false,
3386
+ # },
3387
+ # ],
3388
+ # },
3389
+ # },
3390
+ # }
3391
+ #
3392
+ # @example Request syntax with placeholder values
3393
+ #
3394
+ # resp = client.update_data_lake_dataset({
3395
+ # instance_id: "UUID", # required
3396
+ # namespace: "DataLakeDatasetNamespace", # required
3397
+ # name: "DataLakeDatasetName", # required
3398
+ # description: "DataLakeDatasetDescription",
3399
+ # })
3400
+ #
3401
+ # @example Response structure
3402
+ #
3403
+ # resp.dataset.instance_id #=> String
3404
+ # resp.dataset.namespace #=> String
3405
+ # resp.dataset.name #=> String
3406
+ # resp.dataset.arn #=> String
3407
+ # resp.dataset.schema.name #=> String
3408
+ # resp.dataset.schema.fields #=> Array
3409
+ # resp.dataset.schema.fields[0].name #=> String
3410
+ # resp.dataset.schema.fields[0].type #=> String, one of "INT", "DOUBLE", "STRING", "TIMESTAMP"
3411
+ # resp.dataset.schema.fields[0].is_required #=> Boolean
3412
+ # resp.dataset.description #=> String
3413
+ # resp.dataset.created_time #=> Time
3414
+ # resp.dataset.last_modified_time #=> Time
3415
+ #
3416
+ # @see http://docs.aws.amazon.com/goto/WebAPI/supplychain-2024-01-01/UpdateDataLakeDataset AWS API Documentation
3417
+ #
3418
+ # @overload update_data_lake_dataset(params = {})
3419
+ # @param [Hash] params ({})
3420
+ def update_data_lake_dataset(params = {}, options = {})
3421
+ req = build_request(:update_data_lake_dataset, params)
3422
+ req.send_request(options)
3423
+ end
3424
+
3425
+ # Update the instance.
3426
+ #
3427
+ # @option params [required, String] :instance_id
3428
+ # The AWS Supply Chain instance identifier.
3429
+ #
3430
+ # @option params [String] :instance_name
3431
+ # The AWS Supply Chain instance name.
3432
+ #
3433
+ # @option params [String] :instance_description
3434
+ # The AWS Supply Chain instance description.
3435
+ #
3436
+ # @return [Types::UpdateInstanceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3437
+ #
3438
+ # * {Types::UpdateInstanceResponse#instance #instance} => Types::Instance
3439
+ #
3440
+ #
3441
+ # @example Example: Successful UpdateInstance request
3442
+ #
3443
+ # resp = client.update_instance({
3444
+ # instance_description: "updated example instance description",
3445
+ # instance_id: "9e193580-7cc5-45f7-9609-c43ba0ada793",
3446
+ # instance_name: "updated example instance name",
3447
+ # })
3448
+ #
3449
+ # resp.to_h outputs the following:
3450
+ # {
3451
+ # instance: {
3452
+ # aws_account_id: "123456789012",
3453
+ # created_time: Time.parse(172615383136),
3454
+ # instance_description: "updated example instance description",
3455
+ # instance_id: "9e193580-7cc5-45f7-9609-c43ba0ada793",
3456
+ # instance_name: "updated example instance name",
3457
+ # kms_key_arn: "arn:aws:kms:us-west-2:123456789012:key/b14ffc39-b7d4-45ab-991a-6257a7f0d24d",
3458
+ # last_modified_time: Time.parse(172615383136),
3459
+ # state: "Active",
3460
+ # version_number: 2.0,
3461
+ # },
3462
+ # }
3463
+ #
3464
+ # @example Request syntax with placeholder values
3465
+ #
3466
+ # resp = client.update_instance({
3467
+ # instance_id: "UUID", # required
3468
+ # instance_name: "InstanceName",
3469
+ # instance_description: "InstanceDescription",
3470
+ # })
3471
+ #
3472
+ # @example Response structure
3473
+ #
3474
+ # resp.instance.instance_id #=> String
3475
+ # resp.instance.aws_account_id #=> String
3476
+ # resp.instance.state #=> String, one of "Initializing", "Active", "CreateFailed", "DeleteFailed", "Deleting", "Deleted"
3477
+ # resp.instance.web_app_dns_domain #=> String
3478
+ # resp.instance.created_time #=> Time
3479
+ # resp.instance.last_modified_time #=> Time
3480
+ # resp.instance.instance_name #=> String
3481
+ # resp.instance.instance_description #=> String
3482
+ # resp.instance.kms_key_arn #=> String
3483
+ # resp.instance.version_number #=> Float
3484
+ #
3485
+ # @see http://docs.aws.amazon.com/goto/WebAPI/supplychain-2024-01-01/UpdateInstance AWS API Documentation
3486
+ #
3487
+ # @overload update_instance(params = {})
3488
+ # @param [Hash] params ({})
3489
+ def update_instance(params = {}, options = {})
3490
+ req = build_request(:update_instance, params)
3491
+ req.send_request(options)
3492
+ end
3493
+
870
3494
  # @!endgroup
871
3495
 
872
3496
  # @param params ({})
@@ -885,7 +3509,7 @@ module Aws::SupplyChain
885
3509
  tracer: tracer
886
3510
  )
887
3511
  context[:gem_name] = 'aws-sdk-supplychain'
888
- context[:gem_version] = '1.15.0'
3512
+ context[:gem_version] = '1.17.0'
889
3513
  Seahorse::Client::Request.new(handlers, context)
890
3514
  end
891
3515