aws-sdk-supplychain 1.15.0 → 1.17.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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