aws-sdk-supplychain 1.23.0 → 1.25.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -200,8 +200,7 @@ module Aws::SupplyChain
200
200
  # accepted modes and the configuration defaults that are included.
201
201
  #
202
202
  # @option options [Boolean] :disable_host_prefix_injection (false)
203
- # Set to true to disable SDK automatically adding host prefix
204
- # to default service endpoint when available.
203
+ # When `true`, the SDK will not prepend the modeled host prefix to the endpoint.
205
204
  #
206
205
  # @option options [Boolean] :disable_request_compression (false)
207
206
  # When set to 'true' the request body will not be compressed
@@ -633,6 +632,21 @@ module Aws::SupplyChain
633
632
  # target: {
634
633
  # dataset_target: {
635
634
  # dataset_identifier: "arn:aws:scn:us-east-1:123456789012:instance/8850c54e-e187-4fa7-89d4-6370f165174d/namespaces/asc/datasets/trading_partner",
635
+ # options: {
636
+ # dedupe_records: true,
637
+ # dedupe_strategy: {
638
+ # type: "FIELD_PRIORITY",
639
+ # field_priority: {
640
+ # fields: [
641
+ # {
642
+ # name: "eff_start_date",
643
+ # sort_order: "DESC",
644
+ # },
645
+ # ],
646
+ # },
647
+ # },
648
+ # load_type: "REPLACE",
649
+ # },
636
650
  # },
637
651
  # target_type: "DATASET",
638
652
  # },
@@ -671,6 +685,17 @@ module Aws::SupplyChain
671
685
  # options: {
672
686
  # load_type: "INCREMENTAL", # accepts INCREMENTAL, REPLACE
673
687
  # dedupe_records: false,
688
+ # dedupe_strategy: {
689
+ # type: "FIELD_PRIORITY", # required, accepts FIELD_PRIORITY
690
+ # field_priority: {
691
+ # fields: [ # required
692
+ # {
693
+ # name: "DataIntegrationFlowFieldPriorityDedupeFieldName", # required
694
+ # sort_order: "ASC", # required, accepts ASC, DESC
695
+ # },
696
+ # ],
697
+ # },
698
+ # },
674
699
  # },
675
700
  # },
676
701
  # },
@@ -695,6 +720,17 @@ module Aws::SupplyChain
695
720
  # options: {
696
721
  # load_type: "INCREMENTAL", # accepts INCREMENTAL, REPLACE
697
722
  # dedupe_records: false,
723
+ # dedupe_strategy: {
724
+ # type: "FIELD_PRIORITY", # required, accepts FIELD_PRIORITY
725
+ # field_priority: {
726
+ # fields: [ # required
727
+ # {
728
+ # name: "DataIntegrationFlowFieldPriorityDedupeFieldName", # required
729
+ # sort_order: "ASC", # required, accepts ASC, DESC
730
+ # },
731
+ # ],
732
+ # },
733
+ # },
698
734
  # },
699
735
  # },
700
736
  # },
@@ -726,7 +762,8 @@ module Aws::SupplyChain
726
762
  # The Amazon Web Services Supply Chain instance identifier.
727
763
  #
728
764
  # @option params [required, String] :namespace
729
- # The name space of the dataset.
765
+ # The namespace of the dataset, besides the custom defined namespace,
766
+ # every instance comes with below pre-defined namespaces:
730
767
  #
731
768
  # * **asc** - For information on the Amazon Web Services Supply Chain
732
769
  # supported datasets see
@@ -748,12 +785,21 @@ module Aws::SupplyChain
748
785
  # [1]: https://docs.aws.amazon.com/aws-supply-chain/latest/userguide/data-model-asc.html
749
786
  #
750
787
  # @option params [Types::DataLakeDatasetSchema] :schema
751
- # The custom schema of the data lake dataset and is only required when
752
- # the name space is **default**.
788
+ # The custom schema of the data lake dataset and required for dataset in
789
+ # **default** and custom namespaces.
753
790
  #
754
791
  # @option params [String] :description
755
792
  # The description of the dataset.
756
793
  #
794
+ # @option params [Types::DataLakeDatasetPartitionSpec] :partition_spec
795
+ # The partition specification of the dataset. Partitioning can
796
+ # effectively improve the dataset query performance by reducing the
797
+ # amount of data scanned during query execution. But partitioning or not
798
+ # will affect how data get ingested by data ingestion methods, such as
799
+ # SendDataIntegrationEvent's dataset UPSERT will upsert records within
800
+ # partition (instead of within whole dataset). For more details, refer
801
+ # to those data ingestion documentations.
802
+ #
757
803
  # @option params [Hash<String,String>] :tags
758
804
  # The tags of the dataset.
759
805
  #
@@ -950,6 +996,22 @@ module Aws::SupplyChain
950
996
  # description: "This is a custom dataset",
951
997
  # instance_id: "1877dd20-dee9-4639-8e99-cb67acf21fe5",
952
998
  # namespace: "default",
999
+ # partition_spec: {
1000
+ # fields: [
1001
+ # {
1002
+ # name: "creation_time",
1003
+ # transform: {
1004
+ # type: "DAY",
1005
+ # },
1006
+ # },
1007
+ # {
1008
+ # name: "description",
1009
+ # transform: {
1010
+ # type: "IDENTITY",
1011
+ # },
1012
+ # },
1013
+ # ],
1014
+ # },
953
1015
  # schema: {
954
1016
  # name: "MyDataset",
955
1017
  # fields: [
@@ -973,6 +1035,16 @@ module Aws::SupplyChain
973
1035
  # type: "TIMESTAMP",
974
1036
  # is_required: false,
975
1037
  # },
1038
+ # {
1039
+ # name: "quantity",
1040
+ # type: "LONG",
1041
+ # is_required: false,
1042
+ # },
1043
+ # ],
1044
+ # primary_keys: [
1045
+ # {
1046
+ # name: "id",
1047
+ # },
976
1048
  # ],
977
1049
  # },
978
1050
  # tags: {
@@ -991,6 +1063,22 @@ module Aws::SupplyChain
991
1063
  # instance_id: "1877dd20-dee9-4639-8e99-cb67acf21fe5",
992
1064
  # last_modified_time: Time.parse(1727116807.751),
993
1065
  # namespace: "default",
1066
+ # partition_spec: {
1067
+ # fields: [
1068
+ # {
1069
+ # name: "creation_time",
1070
+ # transform: {
1071
+ # type: "DAY",
1072
+ # },
1073
+ # },
1074
+ # {
1075
+ # name: "description",
1076
+ # transform: {
1077
+ # type: "IDENTITY",
1078
+ # },
1079
+ # },
1080
+ # ],
1081
+ # },
994
1082
  # schema: {
995
1083
  # name: "MyDataset",
996
1084
  # fields: [
@@ -1014,6 +1102,16 @@ module Aws::SupplyChain
1014
1102
  # type: "TIMESTAMP",
1015
1103
  # is_required: false,
1016
1104
  # },
1105
+ # {
1106
+ # name: "quantity",
1107
+ # type: "LONG",
1108
+ # is_required: false,
1109
+ # },
1110
+ # ],
1111
+ # primary_keys: [
1112
+ # {
1113
+ # name: "id",
1114
+ # },
1017
1115
  # ],
1018
1116
  # },
1019
1117
  # },
@@ -1023,19 +1121,34 @@ module Aws::SupplyChain
1023
1121
  #
1024
1122
  # resp = client.create_data_lake_dataset({
1025
1123
  # instance_id: "UUID", # required
1026
- # namespace: "DataLakeDatasetNamespace", # required
1124
+ # namespace: "DataLakeNamespaceName", # required
1027
1125
  # name: "DataLakeDatasetName", # required
1028
1126
  # schema: {
1029
1127
  # name: "DataLakeDatasetSchemaName", # required
1030
1128
  # fields: [ # required
1031
1129
  # {
1032
1130
  # name: "DataLakeDatasetSchemaFieldName", # required
1033
- # type: "INT", # required, accepts INT, DOUBLE, STRING, TIMESTAMP
1131
+ # type: "INT", # required, accepts INT, DOUBLE, STRING, TIMESTAMP, LONG
1034
1132
  # is_required: false, # required
1035
1133
  # },
1036
1134
  # ],
1135
+ # primary_keys: [
1136
+ # {
1137
+ # name: "DataLakeDatasetSchemaFieldName", # required
1138
+ # },
1139
+ # ],
1037
1140
  # },
1038
1141
  # description: "DataLakeDatasetDescription",
1142
+ # partition_spec: {
1143
+ # fields: [ # required
1144
+ # {
1145
+ # name: "DataLakeDatasetSchemaFieldName", # required
1146
+ # transform: { # required
1147
+ # type: "YEAR", # required, accepts YEAR, MONTH, DAY, HOUR, IDENTITY
1148
+ # },
1149
+ # },
1150
+ # ],
1151
+ # },
1039
1152
  # tags: {
1040
1153
  # "TagKey" => "TagValue",
1041
1154
  # },
@@ -1050,9 +1163,14 @@ module Aws::SupplyChain
1050
1163
  # resp.dataset.schema.name #=> String
1051
1164
  # resp.dataset.schema.fields #=> Array
1052
1165
  # resp.dataset.schema.fields[0].name #=> String
1053
- # resp.dataset.schema.fields[0].type #=> String, one of "INT", "DOUBLE", "STRING", "TIMESTAMP"
1166
+ # resp.dataset.schema.fields[0].type #=> String, one of "INT", "DOUBLE", "STRING", "TIMESTAMP", "LONG"
1054
1167
  # resp.dataset.schema.fields[0].is_required #=> Boolean
1168
+ # resp.dataset.schema.primary_keys #=> Array
1169
+ # resp.dataset.schema.primary_keys[0].name #=> String
1055
1170
  # resp.dataset.description #=> String
1171
+ # resp.dataset.partition_spec.fields #=> Array
1172
+ # resp.dataset.partition_spec.fields[0].name #=> String
1173
+ # resp.dataset.partition_spec.fields[0].transform.type #=> String, one of "YEAR", "MONTH", "DAY", "HOUR", "IDENTITY"
1056
1174
  # resp.dataset.created_time #=> Time
1057
1175
  # resp.dataset.last_modified_time #=> Time
1058
1176
  #
@@ -1065,6 +1183,82 @@ module Aws::SupplyChain
1065
1183
  req.send_request(options)
1066
1184
  end
1067
1185
 
1186
+ # Enables you to programmatically create an Amazon Web Services Supply
1187
+ # Chain data lake namespace. Developers can create the namespaces for a
1188
+ # given instance ID.
1189
+ #
1190
+ # @option params [required, String] :instance_id
1191
+ # The Amazon Web Services Supply Chain instance identifier.
1192
+ #
1193
+ # @option params [required, String] :name
1194
+ # The name of the namespace. Noted you cannot create namespace with name
1195
+ # starting with **asc**, **default**, **scn**, **aws**, **amazon**,
1196
+ # **amzn**
1197
+ #
1198
+ # @option params [String] :description
1199
+ # The description of the namespace.
1200
+ #
1201
+ # @option params [Hash<String,String>] :tags
1202
+ # The tags of the namespace.
1203
+ #
1204
+ # @return [Types::CreateDataLakeNamespaceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1205
+ #
1206
+ # * {Types::CreateDataLakeNamespaceResponse#namespace #namespace} => Types::DataLakeNamespace
1207
+ #
1208
+ #
1209
+ # @example Example: Create a data lake namespace
1210
+ #
1211
+ # resp = client.create_data_lake_namespace({
1212
+ # name: "my_namespace",
1213
+ # description: "This is my AWS Supply Chain namespace",
1214
+ # instance_id: "1877dd20-dee9-4639-8e99-cb67acf21fe5",
1215
+ # tags: {
1216
+ # "tagKey1" => "tagValue1",
1217
+ # "tagKey2" => "tagValue2",
1218
+ # },
1219
+ # })
1220
+ #
1221
+ # resp.to_h outputs the following:
1222
+ # {
1223
+ # namespace: {
1224
+ # name: "my_namespace",
1225
+ # arn: "arn:aws:scn:us-east-1:012345678910:instance/1877dd20-dee9-4639-8e99-cb67acf21fe5/namespaces/my_namespace",
1226
+ # created_time: Time.parse(1736892560.751),
1227
+ # description: "This is my AWS Supply Chain namespace",
1228
+ # instance_id: "1877dd20-dee9-4639-8e99-cb67acf21fe5",
1229
+ # last_modified_time: Time.parse(1736892560.751),
1230
+ # },
1231
+ # }
1232
+ #
1233
+ # @example Request syntax with placeholder values
1234
+ #
1235
+ # resp = client.create_data_lake_namespace({
1236
+ # instance_id: "UUID", # required
1237
+ # name: "DataLakeNamespaceName", # required
1238
+ # description: "DataLakeNamespaceDescription",
1239
+ # tags: {
1240
+ # "TagKey" => "TagValue",
1241
+ # },
1242
+ # })
1243
+ #
1244
+ # @example Response structure
1245
+ #
1246
+ # resp.namespace.instance_id #=> String
1247
+ # resp.namespace.name #=> String
1248
+ # resp.namespace.arn #=> String
1249
+ # resp.namespace.description #=> String
1250
+ # resp.namespace.created_time #=> Time
1251
+ # resp.namespace.last_modified_time #=> Time
1252
+ #
1253
+ # @see http://docs.aws.amazon.com/goto/WebAPI/supplychain-2024-01-01/CreateDataLakeNamespace AWS API Documentation
1254
+ #
1255
+ # @overload create_data_lake_namespace(params = {})
1256
+ # @param [Hash] params ({})
1257
+ def create_data_lake_namespace(params = {}, options = {})
1258
+ req = build_request(:create_data_lake_namespace, params)
1259
+ req.send_request(options)
1260
+ end
1261
+
1068
1262
  # Enables you to programmatically create an Amazon Web Services Supply
1069
1263
  # Chain instance by applying KMS keys and relevant information
1070
1264
  # associated with the API without using the Amazon Web Services console.
@@ -1249,7 +1443,8 @@ module Aws::SupplyChain
1249
1443
  # The AWS Supply Chain instance identifier.
1250
1444
  #
1251
1445
  # @option params [required, String] :namespace
1252
- # The name space of the dataset. The available values are:
1446
+ # The namespace of the dataset, besides the custom defined namespace,
1447
+ # every instance comes with below pre-defined namespaces:
1253
1448
  #
1254
1449
  # * **asc** - For information on the Amazon Web Services Supply Chain
1255
1450
  # supported datasets see
@@ -1262,7 +1457,7 @@ module Aws::SupplyChain
1262
1457
  # [1]: https://docs.aws.amazon.com/aws-supply-chain/latest/userguide/data-model-asc.html
1263
1458
  #
1264
1459
  # @option params [required, String] :name
1265
- # The name of the dataset. For **asc** name space, the name must be one
1460
+ # The name of the dataset. For **asc** namespace, the name must be one
1266
1461
  # of the supported data entities under
1267
1462
  # [https://docs.aws.amazon.com/aws-supply-chain/latest/userguide/data-model-asc.html][1].
1268
1463
  #
@@ -1311,7 +1506,7 @@ module Aws::SupplyChain
1311
1506
  #
1312
1507
  # resp = client.delete_data_lake_dataset({
1313
1508
  # instance_id: "UUID", # required
1314
- # namespace: "DataLakeDatasetNamespace", # required
1509
+ # namespace: "DataLakeNamespaceName", # required
1315
1510
  # name: "DataLakeDatasetName", # required
1316
1511
  # })
1317
1512
  #
@@ -1330,6 +1525,59 @@ module Aws::SupplyChain
1330
1525
  req.send_request(options)
1331
1526
  end
1332
1527
 
1528
+ # Enables you to programmatically delete an Amazon Web Services Supply
1529
+ # Chain data lake namespace and its underling datasets. Developers can
1530
+ # delete the existing namespaces for a given instance ID and namespace
1531
+ # name.
1532
+ #
1533
+ # @option params [required, String] :instance_id
1534
+ # The AWS Supply Chain instance identifier.
1535
+ #
1536
+ # @option params [required, String] :name
1537
+ # The name of the namespace. Noted you cannot delete pre-defined
1538
+ # namespace like **asc**, **default** which are only deleted through
1539
+ # instance deletion.
1540
+ #
1541
+ # @return [Types::DeleteDataLakeNamespaceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1542
+ #
1543
+ # * {Types::DeleteDataLakeNamespaceResponse#instance_id #instance_id} => String
1544
+ # * {Types::DeleteDataLakeNamespaceResponse#name #name} => String
1545
+ #
1546
+ #
1547
+ # @example Example: Delete an AWS Supply Chain namespace
1548
+ #
1549
+ # resp = client.delete_data_lake_namespace({
1550
+ # name: "my_namespace",
1551
+ # instance_id: "1877dd20-dee9-4639-8e99-cb67acf21fe5",
1552
+ # })
1553
+ #
1554
+ # resp.to_h outputs the following:
1555
+ # {
1556
+ # name: "my_namespace",
1557
+ # instance_id: "1877dd20-dee9-4639-8e99-cb67acf21fe5",
1558
+ # }
1559
+ #
1560
+ # @example Request syntax with placeholder values
1561
+ #
1562
+ # resp = client.delete_data_lake_namespace({
1563
+ # instance_id: "UUID", # required
1564
+ # name: "DataLakeNamespaceName", # required
1565
+ # })
1566
+ #
1567
+ # @example Response structure
1568
+ #
1569
+ # resp.instance_id #=> String
1570
+ # resp.name #=> String
1571
+ #
1572
+ # @see http://docs.aws.amazon.com/goto/WebAPI/supplychain-2024-01-01/DeleteDataLakeNamespace AWS API Documentation
1573
+ #
1574
+ # @overload delete_data_lake_namespace(params = {})
1575
+ # @param [Hash] params ({})
1576
+ def delete_data_lake_namespace(params = {}, options = {})
1577
+ req = build_request(:delete_data_lake_namespace, params)
1578
+ req.send_request(options)
1579
+ end
1580
+
1333
1581
  # Enables you to programmatically delete an Amazon Web Services Supply
1334
1582
  # Chain instance by deleting the KMS keys and relevant information
1335
1583
  # associated with the API without using the Amazon Web Services console.
@@ -1471,6 +1719,74 @@ module Aws::SupplyChain
1471
1719
  req.send_request(options)
1472
1720
  end
1473
1721
 
1722
+ # Enables you to programmatically view an Amazon Web Services Supply
1723
+ # Chain Data Integration Event. Developers can view the eventType,
1724
+ # eventGroupId, eventTimestamp, datasetTarget, datasetLoadExecution.
1725
+ #
1726
+ # @option params [required, String] :instance_id
1727
+ # The Amazon Web Services Supply Chain instance identifier.
1728
+ #
1729
+ # @option params [required, String] :event_id
1730
+ # The unique event identifier.
1731
+ #
1732
+ # @return [Types::GetDataIntegrationEventResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1733
+ #
1734
+ # * {Types::GetDataIntegrationEventResponse#event #event} => Types::DataIntegrationEvent
1735
+ #
1736
+ #
1737
+ # @example Example: Successful GetDataIntegrationEvent
1738
+ #
1739
+ # resp = client.get_data_integration_event({
1740
+ # event_id: "19739c8e-cd2e-4cbc-a2f7-0dc43239f042",
1741
+ # instance_id: "8928ae12-15e5-4441-825d-ec2184f0a43a",
1742
+ # })
1743
+ #
1744
+ # resp.to_h outputs the following:
1745
+ # {
1746
+ # event: {
1747
+ # dataset_target_details: {
1748
+ # dataset_identifier: "arn:aws:scn:us-west-2:135808960812:instance/8928ae12-15e5-4441-825d-ec2184f0a43a/namespaces/asc/datasets/product",
1749
+ # dataset_load_execution: {
1750
+ # status: "SUCCEEDED",
1751
+ # },
1752
+ # operation_type: "APPEND",
1753
+ # },
1754
+ # event_group_id: "datasetId",
1755
+ # event_id: "19739c8e-cd2e-4cbc-a2f7-0dc43239f042",
1756
+ # event_timestamp: Time.parse(1515531081.123),
1757
+ # event_type: "scn.data.dataset",
1758
+ # instance_id: "8928ae12-15e5-4441-825d-ec2184f0a43a",
1759
+ # },
1760
+ # }
1761
+ #
1762
+ # @example Request syntax with placeholder values
1763
+ #
1764
+ # resp = client.get_data_integration_event({
1765
+ # instance_id: "UUID", # required
1766
+ # event_id: "UUID", # required
1767
+ # })
1768
+ #
1769
+ # @example Response structure
1770
+ #
1771
+ # resp.event.instance_id #=> String
1772
+ # resp.event.event_id #=> String
1773
+ # resp.event.event_type #=> String, one of "scn.data.forecast", "scn.data.inventorylevel", "scn.data.inboundorder", "scn.data.inboundorderline", "scn.data.inboundorderlineschedule", "scn.data.outboundorderline", "scn.data.outboundshipment", "scn.data.processheader", "scn.data.processoperation", "scn.data.processproduct", "scn.data.reservation", "scn.data.shipment", "scn.data.shipmentstop", "scn.data.shipmentstoporder", "scn.data.supplyplan", "scn.data.dataset"
1774
+ # resp.event.event_group_id #=> String
1775
+ # resp.event.event_timestamp #=> Time
1776
+ # resp.event.dataset_target_details.dataset_identifier #=> String
1777
+ # resp.event.dataset_target_details.operation_type #=> String, one of "APPEND", "UPSERT", "DELETE"
1778
+ # resp.event.dataset_target_details.dataset_load_execution.status #=> String, one of "SUCCEEDED", "IN_PROGRESS", "FAILED"
1779
+ # resp.event.dataset_target_details.dataset_load_execution.message #=> String
1780
+ #
1781
+ # @see http://docs.aws.amazon.com/goto/WebAPI/supplychain-2024-01-01/GetDataIntegrationEvent AWS API Documentation
1782
+ #
1783
+ # @overload get_data_integration_event(params = {})
1784
+ # @param [Hash] params ({})
1785
+ def get_data_integration_event(params = {}, options = {})
1786
+ req = build_request(:get_data_integration_event, params)
1787
+ req.send_request(options)
1788
+ end
1789
+
1474
1790
  # Enables you to programmatically view a specific data pipeline for the
1475
1791
  # provided Amazon Web Services Supply Chain instance and
1476
1792
  # DataIntegrationFlow name.
@@ -1545,6 +1861,10 @@ module Aws::SupplyChain
1545
1861
  # resp.flow.sources[0].dataset_source.dataset_identifier #=> String
1546
1862
  # resp.flow.sources[0].dataset_source.options.load_type #=> String, one of "INCREMENTAL", "REPLACE"
1547
1863
  # resp.flow.sources[0].dataset_source.options.dedupe_records #=> Boolean
1864
+ # resp.flow.sources[0].dataset_source.options.dedupe_strategy.type #=> String, one of "FIELD_PRIORITY"
1865
+ # resp.flow.sources[0].dataset_source.options.dedupe_strategy.field_priority.fields #=> Array
1866
+ # resp.flow.sources[0].dataset_source.options.dedupe_strategy.field_priority.fields[0].name #=> String
1867
+ # resp.flow.sources[0].dataset_source.options.dedupe_strategy.field_priority.fields[0].sort_order #=> String, one of "ASC", "DESC"
1548
1868
  # resp.flow.transformation.transformation_type #=> String, one of "SQL", "NONE"
1549
1869
  # resp.flow.transformation.sql_transformation.query #=> String
1550
1870
  # resp.flow.target.target_type #=> String, one of "S3", "DATASET"
@@ -1554,6 +1874,10 @@ module Aws::SupplyChain
1554
1874
  # resp.flow.target.dataset_target.dataset_identifier #=> String
1555
1875
  # resp.flow.target.dataset_target.options.load_type #=> String, one of "INCREMENTAL", "REPLACE"
1556
1876
  # resp.flow.target.dataset_target.options.dedupe_records #=> Boolean
1877
+ # resp.flow.target.dataset_target.options.dedupe_strategy.type #=> String, one of "FIELD_PRIORITY"
1878
+ # resp.flow.target.dataset_target.options.dedupe_strategy.field_priority.fields #=> Array
1879
+ # resp.flow.target.dataset_target.options.dedupe_strategy.field_priority.fields[0].name #=> String
1880
+ # resp.flow.target.dataset_target.options.dedupe_strategy.field_priority.fields[0].sort_order #=> String, one of "ASC", "DESC"
1557
1881
  # resp.flow.created_time #=> Time
1558
1882
  # resp.flow.last_modified_time #=> Time
1559
1883
  #
@@ -1566,6 +1890,107 @@ module Aws::SupplyChain
1566
1890
  req.send_request(options)
1567
1891
  end
1568
1892
 
1893
+ # Get the flow execution.
1894
+ #
1895
+ # @option params [required, String] :instance_id
1896
+ # The AWS Supply Chain instance identifier.
1897
+ #
1898
+ # @option params [required, String] :flow_name
1899
+ # The flow name.
1900
+ #
1901
+ # @option params [required, String] :execution_id
1902
+ # The flow execution identifier.
1903
+ #
1904
+ # @return [Types::GetDataIntegrationFlowExecutionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1905
+ #
1906
+ # * {Types::GetDataIntegrationFlowExecutionResponse#flow_execution #flow_execution} => Types::DataIntegrationFlowExecution
1907
+ #
1908
+ #
1909
+ # @example Example: Successful GetDataIntegrationFlowExecution for S3 source
1910
+ #
1911
+ # resp = client.get_data_integration_flow_execution({
1912
+ # execution_id: "edbbdd3f-c0f9-49d9-ab01-f64542f803b7",
1913
+ # flow_name: "source-product",
1914
+ # instance_id: "8928ae12-15e5-4441-825d-ec2184f0a43a",
1915
+ # })
1916
+ #
1917
+ # resp.to_h outputs the following:
1918
+ # {
1919
+ # flow_execution: {
1920
+ # end_time: Time.parse(1515531090.123),
1921
+ # execution_id: "edbbdd3f-c0f9-49d9-ab01-f64542f803b7",
1922
+ # flow_name: "source-product",
1923
+ # instance_id: "8928ae12-15e5-4441-825d-ec2184f0a43a",
1924
+ # source_info: {
1925
+ # s3_source: {
1926
+ # key: "sources/product-sources.csv",
1927
+ # bucket_name: "galaxy-raw-input-test-data-prod-pdx-1",
1928
+ # },
1929
+ # source_type: "S3",
1930
+ # },
1931
+ # start_time: Time.parse(1515531081.123),
1932
+ # status: "SUCCEEDED",
1933
+ # },
1934
+ # }
1935
+ #
1936
+ # @example Example: Successful GetDataIntegrationFlowExecution for DATASET source
1937
+ #
1938
+ # resp = client.get_data_integration_flow_execution({
1939
+ # execution_id: "9daf6071-d12c-4eef-864c-73cea2557825",
1940
+ # flow_name: "target-product",
1941
+ # instance_id: "8928ae12-15e5-4441-825d-ec2184f0a43a",
1942
+ # })
1943
+ #
1944
+ # resp.to_h outputs the following:
1945
+ # {
1946
+ # flow_execution: {
1947
+ # end_time: Time.parse(1515531090.123),
1948
+ # execution_id: "9daf6071-d12c-4eef-864c-73cea2557825",
1949
+ # flow_name: "target-product",
1950
+ # instance_id: "8928ae12-15e5-4441-825d-ec2184f0a43a",
1951
+ # source_info: {
1952
+ # dataset_source: {
1953
+ # dataset_identifier: "arn:aws:scn:us-west-2:135808960812:instance/8928ae12-15e5-4441-825d-ec2184f0a43a/namespaces/default/datasets/product",
1954
+ # },
1955
+ # source_type: "DATASET",
1956
+ # },
1957
+ # start_time: Time.parse(1515531081.123),
1958
+ # status: "SUCCEEDED",
1959
+ # },
1960
+ # }
1961
+ #
1962
+ # @example Request syntax with placeholder values
1963
+ #
1964
+ # resp = client.get_data_integration_flow_execution({
1965
+ # instance_id: "UUID", # required
1966
+ # flow_name: "DataIntegrationFlowName", # required
1967
+ # execution_id: "UUID", # required
1968
+ # })
1969
+ #
1970
+ # @example Response structure
1971
+ #
1972
+ # resp.flow_execution.instance_id #=> String
1973
+ # resp.flow_execution.flow_name #=> String
1974
+ # resp.flow_execution.execution_id #=> String
1975
+ # resp.flow_execution.status #=> String, one of "SUCCEEDED", "IN_PROGRESS", "FAILED"
1976
+ # resp.flow_execution.source_info.source_type #=> String, one of "S3", "DATASET"
1977
+ # resp.flow_execution.source_info.s3_source.bucket_name #=> String
1978
+ # resp.flow_execution.source_info.s3_source.key #=> String
1979
+ # resp.flow_execution.source_info.dataset_source.dataset_identifier #=> String
1980
+ # resp.flow_execution.message #=> String
1981
+ # resp.flow_execution.start_time #=> Time
1982
+ # resp.flow_execution.end_time #=> Time
1983
+ # resp.flow_execution.output_metadata.diagnostic_reports_root_s3uri #=> String
1984
+ #
1985
+ # @see http://docs.aws.amazon.com/goto/WebAPI/supplychain-2024-01-01/GetDataIntegrationFlowExecution AWS API Documentation
1986
+ #
1987
+ # @overload get_data_integration_flow_execution(params = {})
1988
+ # @param [Hash] params ({})
1989
+ def get_data_integration_flow_execution(params = {}, options = {})
1990
+ req = build_request(:get_data_integration_flow_execution, params)
1991
+ req.send_request(options)
1992
+ end
1993
+
1569
1994
  # Enables you to programmatically view an Amazon Web Services Supply
1570
1995
  # Chain data lake dataset. Developers can view the data lake dataset
1571
1996
  # information such as namespace, schema, and so on for a given instance
@@ -1575,7 +2000,8 @@ module Aws::SupplyChain
1575
2000
  # The Amazon Web Services Supply Chain instance identifier.
1576
2001
  #
1577
2002
  # @option params [required, String] :namespace
1578
- # The name space of the dataset. The available values are:
2003
+ # The namespace of the dataset, besides the custom defined namespace,
2004
+ # every instance comes with below pre-defined namespaces:
1579
2005
  #
1580
2006
  # * **asc** - For information on the Amazon Web Services Supply Chain
1581
2007
  # supported datasets see
@@ -1588,7 +2014,7 @@ module Aws::SupplyChain
1588
2014
  # [1]: https://docs.aws.amazon.com/aws-supply-chain/latest/userguide/data-model-asc.html
1589
2015
  #
1590
2016
  # @option params [required, String] :name
1591
- # The name of the dataset. For **asc** name space, the name must be one
2017
+ # The name of the dataset. For **asc** namespace, the name must be one
1592
2018
  # of the supported data entities under
1593
2019
  # [https://docs.aws.amazon.com/aws-supply-chain/latest/userguide/data-model-asc.html][1].
1594
2020
  #
@@ -1795,6 +2221,22 @@ module Aws::SupplyChain
1795
2221
  # instance_id: "1877dd20-dee9-4639-8e99-cb67acf21fe5",
1796
2222
  # last_modified_time: Time.parse(1727116807.751),
1797
2223
  # namespace: "default",
2224
+ # partition_spec: {
2225
+ # fields: [
2226
+ # {
2227
+ # name: "creation_time",
2228
+ # transform: {
2229
+ # type: "DAY",
2230
+ # },
2231
+ # },
2232
+ # {
2233
+ # name: "description",
2234
+ # transform: {
2235
+ # type: "IDENTITY",
2236
+ # },
2237
+ # },
2238
+ # ],
2239
+ # },
1798
2240
  # schema: {
1799
2241
  # name: "MyDataset",
1800
2242
  # fields: [
@@ -1818,6 +2260,16 @@ module Aws::SupplyChain
1818
2260
  # type: "TIMESTAMP",
1819
2261
  # is_required: false,
1820
2262
  # },
2263
+ # {
2264
+ # name: "quantity",
2265
+ # type: "LONG",
2266
+ # is_required: false,
2267
+ # },
2268
+ # ],
2269
+ # primary_keys: [
2270
+ # {
2271
+ # name: "id",
2272
+ # },
1821
2273
  # ],
1822
2274
  # },
1823
2275
  # },
@@ -1827,114 +2279,378 @@ module Aws::SupplyChain
1827
2279
  #
1828
2280
  # resp = client.get_data_lake_dataset({
1829
2281
  # instance_id: "UUID", # required
1830
- # namespace: "DataLakeDatasetNamespace", # required
2282
+ # namespace: "DataLakeNamespaceName", # required
1831
2283
  # name: "DataLakeDatasetName", # required
1832
2284
  # })
1833
2285
  #
1834
2286
  # @example Response structure
1835
2287
  #
1836
- # resp.dataset.instance_id #=> String
1837
- # resp.dataset.namespace #=> String
1838
- # resp.dataset.name #=> String
1839
- # resp.dataset.arn #=> String
1840
- # resp.dataset.schema.name #=> String
1841
- # resp.dataset.schema.fields #=> Array
1842
- # resp.dataset.schema.fields[0].name #=> String
1843
- # resp.dataset.schema.fields[0].type #=> String, one of "INT", "DOUBLE", "STRING", "TIMESTAMP"
1844
- # resp.dataset.schema.fields[0].is_required #=> Boolean
1845
- # resp.dataset.description #=> String
1846
- # resp.dataset.created_time #=> Time
1847
- # resp.dataset.last_modified_time #=> Time
2288
+ # resp.dataset.instance_id #=> String
2289
+ # resp.dataset.namespace #=> String
2290
+ # resp.dataset.name #=> String
2291
+ # resp.dataset.arn #=> String
2292
+ # resp.dataset.schema.name #=> String
2293
+ # resp.dataset.schema.fields #=> Array
2294
+ # resp.dataset.schema.fields[0].name #=> String
2295
+ # resp.dataset.schema.fields[0].type #=> String, one of "INT", "DOUBLE", "STRING", "TIMESTAMP", "LONG"
2296
+ # resp.dataset.schema.fields[0].is_required #=> Boolean
2297
+ # resp.dataset.schema.primary_keys #=> Array
2298
+ # resp.dataset.schema.primary_keys[0].name #=> String
2299
+ # resp.dataset.description #=> String
2300
+ # resp.dataset.partition_spec.fields #=> Array
2301
+ # resp.dataset.partition_spec.fields[0].name #=> String
2302
+ # resp.dataset.partition_spec.fields[0].transform.type #=> String, one of "YEAR", "MONTH", "DAY", "HOUR", "IDENTITY"
2303
+ # resp.dataset.created_time #=> Time
2304
+ # resp.dataset.last_modified_time #=> Time
2305
+ #
2306
+ # @see http://docs.aws.amazon.com/goto/WebAPI/supplychain-2024-01-01/GetDataLakeDataset AWS API Documentation
2307
+ #
2308
+ # @overload get_data_lake_dataset(params = {})
2309
+ # @param [Hash] params ({})
2310
+ def get_data_lake_dataset(params = {}, options = {})
2311
+ req = build_request(:get_data_lake_dataset, params)
2312
+ req.send_request(options)
2313
+ end
2314
+
2315
+ # Enables you to programmatically view an Amazon Web Services Supply
2316
+ # Chain data lake namespace. Developers can view the data lake namespace
2317
+ # information such as description for a given instance ID and namespace
2318
+ # name.
2319
+ #
2320
+ # @option params [required, String] :instance_id
2321
+ # The Amazon Web Services Supply Chain instance identifier.
2322
+ #
2323
+ # @option params [required, String] :name
2324
+ # The name of the namespace. Besides the namespaces user created, you
2325
+ # can also specify the pre-defined namespaces:
2326
+ #
2327
+ # * **asc** - Pre-defined namespace containing Amazon Web Services
2328
+ # Supply Chain supported datasets, see
2329
+ # [https://docs.aws.amazon.com/aws-supply-chain/latest/userguide/data-model-asc.html][1].
2330
+ #
2331
+ # * **default** - Pre-defined namespace containing datasets with custom
2332
+ # user-defined schemas.
2333
+ #
2334
+ #
2335
+ #
2336
+ # [1]: https://docs.aws.amazon.com/aws-supply-chain/latest/userguide/data-model-asc.html
2337
+ #
2338
+ # @return [Types::GetDataLakeNamespaceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2339
+ #
2340
+ # * {Types::GetDataLakeNamespaceResponse#namespace #namespace} => Types::DataLakeNamespace
2341
+ #
2342
+ #
2343
+ # @example Example: Get properties of an existing AWS Supply Chain namespace
2344
+ #
2345
+ # resp = client.get_data_lake_namespace({
2346
+ # name: "my_namespace",
2347
+ # instance_id: "1877dd20-dee9-4639-8e99-cb67acf21fe5",
2348
+ # })
2349
+ #
2350
+ # resp.to_h outputs the following:
2351
+ # {
2352
+ # namespace: {
2353
+ # name: "my_namespace",
2354
+ # arn: "arn:aws:scn:us-east-1:012345678910:instance/1877dd20-dee9-4639-8e99-cb67acf21fe5/namespaces/my_namespace",
2355
+ # created_time: Time.parse(1736892560.751),
2356
+ # description: "This is my AWS Supply Chain namespace",
2357
+ # instance_id: "1877dd20-dee9-4639-8e99-cb67acf21fe5",
2358
+ # last_modified_time: Time.parse(1736892560.751),
2359
+ # },
2360
+ # }
2361
+ #
2362
+ # @example Example: Get proporties of an existing pre-defined AWS Supply Chain namespace
2363
+ #
2364
+ # resp = client.get_data_lake_namespace({
2365
+ # name: "asc",
2366
+ # instance_id: "1877dd20-dee9-4639-8e99-cb67acf21fe5",
2367
+ # })
2368
+ #
2369
+ # resp.to_h outputs the following:
2370
+ # {
2371
+ # namespace: {
2372
+ # name: "asc",
2373
+ # arn: "arn:aws:scn:us-east-1:012345678910:instance/1877dd20-dee9-4639-8e99-cb67acf21fe5/namespaces/asc",
2374
+ # created_time: Time.parse(1736892430.234),
2375
+ # instance_id: "1877dd20-dee9-4639-8e99-cb67acf21fe5",
2376
+ # last_modified_time: Time.parse(1736892430.234),
2377
+ # },
2378
+ # }
2379
+ #
2380
+ # @example Request syntax with placeholder values
2381
+ #
2382
+ # resp = client.get_data_lake_namespace({
2383
+ # instance_id: "UUID", # required
2384
+ # name: "DataLakeNamespaceName", # required
2385
+ # })
2386
+ #
2387
+ # @example Response structure
2388
+ #
2389
+ # resp.namespace.instance_id #=> String
2390
+ # resp.namespace.name #=> String
2391
+ # resp.namespace.arn #=> String
2392
+ # resp.namespace.description #=> String
2393
+ # resp.namespace.created_time #=> Time
2394
+ # resp.namespace.last_modified_time #=> Time
2395
+ #
2396
+ # @see http://docs.aws.amazon.com/goto/WebAPI/supplychain-2024-01-01/GetDataLakeNamespace AWS API Documentation
2397
+ #
2398
+ # @overload get_data_lake_namespace(params = {})
2399
+ # @param [Hash] params ({})
2400
+ def get_data_lake_namespace(params = {}, options = {})
2401
+ req = build_request(:get_data_lake_namespace, params)
2402
+ req.send_request(options)
2403
+ end
2404
+
2405
+ # Enables you to programmatically retrieve the information related to an
2406
+ # Amazon Web Services Supply Chain instance ID.
2407
+ #
2408
+ # @option params [required, String] :instance_id
2409
+ # The AWS Supply Chain instance identifier
2410
+ #
2411
+ # @return [Types::GetInstanceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2412
+ #
2413
+ # * {Types::GetInstanceResponse#instance #instance} => Types::Instance
2414
+ #
2415
+ #
2416
+ # @example Example: Successful GetInstance request
2417
+ #
2418
+ # resp = client.get_instance({
2419
+ # instance_id: "9e193580-7cc5-45f7-9609-c43ba0ada793",
2420
+ # })
2421
+ #
2422
+ # resp.to_h outputs the following:
2423
+ # {
2424
+ # instance: {
2425
+ # aws_account_id: "123456789012",
2426
+ # created_time: Time.parse(172615383136),
2427
+ # instance_description: "example instance description",
2428
+ # instance_id: "9e193580-7cc5-45f7-9609-c43ba0ada793",
2429
+ # instance_name: "example instance name",
2430
+ # kms_key_arn: "arn:aws:kms:us-west-2:123456789012:key/b14ffc39-b7d4-45ab-991a-6257a7f0d24d",
2431
+ # last_modified_time: Time.parse(172615383136),
2432
+ # state: "Active",
2433
+ # version_number: 2.0,
2434
+ # },
2435
+ # }
2436
+ #
2437
+ # @example Example: Successful GetInstance request with error message
2438
+ #
2439
+ # resp = client.get_instance({
2440
+ # instance_id: "9e193580-7cc5-45f7-9609-c43ba0ada793",
2441
+ # })
2442
+ #
2443
+ # resp.to_h outputs the following:
2444
+ # {
2445
+ # instance: {
2446
+ # aws_account_id: "123456789012",
2447
+ # created_time: Time.parse(172615383136),
2448
+ # error_message: "Access denied when attempting to create an S3 bucket. Please correct your IAM policy and try again.",
2449
+ # instance_description: "example instance description",
2450
+ # instance_id: "9e193580-7cc5-45f7-9609-c43ba0ada793",
2451
+ # instance_name: "example instance name",
2452
+ # kms_key_arn: "arn:aws:kms:us-west-2:123456789012:key/b14ffc39-b7d4-45ab-991a-6257a7f0d24d",
2453
+ # last_modified_time: Time.parse(172615383136),
2454
+ # state: "CreateFailed",
2455
+ # version_number: 2.0,
2456
+ # },
2457
+ # }
2458
+ #
2459
+ # @example Request syntax with placeholder values
2460
+ #
2461
+ # resp = client.get_instance({
2462
+ # instance_id: "UUID", # required
2463
+ # })
2464
+ #
2465
+ # @example Response structure
2466
+ #
2467
+ # resp.instance.instance_id #=> String
2468
+ # resp.instance.aws_account_id #=> String
2469
+ # resp.instance.state #=> String, one of "Initializing", "Active", "CreateFailed", "DeleteFailed", "Deleting", "Deleted"
2470
+ # resp.instance.error_message #=> String
2471
+ # resp.instance.web_app_dns_domain #=> String
2472
+ # resp.instance.created_time #=> Time
2473
+ # resp.instance.last_modified_time #=> Time
2474
+ # resp.instance.instance_name #=> String
2475
+ # resp.instance.instance_description #=> String
2476
+ # resp.instance.kms_key_arn #=> String
2477
+ # resp.instance.version_number #=> Float
2478
+ #
2479
+ # @see http://docs.aws.amazon.com/goto/WebAPI/supplychain-2024-01-01/GetInstance AWS API Documentation
2480
+ #
2481
+ # @overload get_instance(params = {})
2482
+ # @param [Hash] params ({})
2483
+ def get_instance(params = {}, options = {})
2484
+ req = build_request(:get_instance, params)
2485
+ req.send_request(options)
2486
+ end
2487
+
2488
+ # Enables you to programmatically list all data integration events for
2489
+ # the provided Amazon Web Services Supply Chain instance.
2490
+ #
2491
+ # @option params [required, String] :instance_id
2492
+ # The Amazon Web Services Supply Chain instance identifier.
2493
+ #
2494
+ # @option params [String] :event_type
2495
+ # List data integration events for the specified eventType.
2496
+ #
2497
+ # @option params [String] :next_token
2498
+ # The pagination token to fetch the next page of the data integration
2499
+ # events.
2500
+ #
2501
+ # @option params [Integer] :max_results
2502
+ # Specify the maximum number of data integration events to fetch in one
2503
+ # paginated request.
2504
+ #
2505
+ # @return [Types::ListDataIntegrationEventsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2506
+ #
2507
+ # * {Types::ListDataIntegrationEventsResponse#events #events} => Array&lt;Types::DataIntegrationEvent&gt;
2508
+ # * {Types::ListDataIntegrationEventsResponse#next_token #next_token} => String
2509
+ #
2510
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2511
+ #
2512
+ #
2513
+ # @example Example: Successful ListDataIntegrationEvents
2514
+ #
2515
+ # resp = client.list_data_integration_events({
2516
+ # instance_id: "8928ae12-15e5-4441-825d-ec2184f0a43a",
2517
+ # })
2518
+ #
2519
+ # resp.to_h outputs the following:
2520
+ # {
2521
+ # events: [
2522
+ # {
2523
+ # dataset_target_details: {
2524
+ # dataset_identifier: "arn:aws:scn:us-west-2:135808960812:instance/8928ae12-15e5-4441-825d-ec2184f0a43a/namespaces/asc/datasets/product",
2525
+ # dataset_load_execution: {
2526
+ # status: "SUCCEEDED",
2527
+ # },
2528
+ # operation_type: "APPEND",
2529
+ # },
2530
+ # event_group_id: "datasetId",
2531
+ # event_id: "19739c8e-cd2e-4cbc-a2f7-0dc43239f042",
2532
+ # event_timestamp: Time.parse(1515531081.123),
2533
+ # event_type: "scn.data.dataset",
2534
+ # instance_id: "8928ae12-15e5-4441-825d-ec2184f0a43a",
2535
+ # },
2536
+ # ],
2537
+ # }
2538
+ #
2539
+ # @example Request syntax with placeholder values
2540
+ #
2541
+ # resp = client.list_data_integration_events({
2542
+ # instance_id: "UUID", # required
2543
+ # event_type: "scn.data.forecast", # accepts scn.data.forecast, scn.data.inventorylevel, scn.data.inboundorder, scn.data.inboundorderline, scn.data.inboundorderlineschedule, scn.data.outboundorderline, scn.data.outboundshipment, scn.data.processheader, scn.data.processoperation, scn.data.processproduct, scn.data.reservation, scn.data.shipment, scn.data.shipmentstop, scn.data.shipmentstoporder, scn.data.supplyplan, scn.data.dataset
2544
+ # next_token: "DataIntegrationEventNextToken",
2545
+ # max_results: 1,
2546
+ # })
2547
+ #
2548
+ # @example Response structure
2549
+ #
2550
+ # resp.events #=> Array
2551
+ # resp.events[0].instance_id #=> String
2552
+ # resp.events[0].event_id #=> String
2553
+ # resp.events[0].event_type #=> String, one of "scn.data.forecast", "scn.data.inventorylevel", "scn.data.inboundorder", "scn.data.inboundorderline", "scn.data.inboundorderlineschedule", "scn.data.outboundorderline", "scn.data.outboundshipment", "scn.data.processheader", "scn.data.processoperation", "scn.data.processproduct", "scn.data.reservation", "scn.data.shipment", "scn.data.shipmentstop", "scn.data.shipmentstoporder", "scn.data.supplyplan", "scn.data.dataset"
2554
+ # resp.events[0].event_group_id #=> String
2555
+ # resp.events[0].event_timestamp #=> Time
2556
+ # resp.events[0].dataset_target_details.dataset_identifier #=> String
2557
+ # resp.events[0].dataset_target_details.operation_type #=> String, one of "APPEND", "UPSERT", "DELETE"
2558
+ # resp.events[0].dataset_target_details.dataset_load_execution.status #=> String, one of "SUCCEEDED", "IN_PROGRESS", "FAILED"
2559
+ # resp.events[0].dataset_target_details.dataset_load_execution.message #=> String
2560
+ # resp.next_token #=> String
1848
2561
  #
1849
- # @see http://docs.aws.amazon.com/goto/WebAPI/supplychain-2024-01-01/GetDataLakeDataset AWS API Documentation
2562
+ # @see http://docs.aws.amazon.com/goto/WebAPI/supplychain-2024-01-01/ListDataIntegrationEvents AWS API Documentation
1850
2563
  #
1851
- # @overload get_data_lake_dataset(params = {})
2564
+ # @overload list_data_integration_events(params = {})
1852
2565
  # @param [Hash] params ({})
1853
- def get_data_lake_dataset(params = {}, options = {})
1854
- req = build_request(:get_data_lake_dataset, params)
2566
+ def list_data_integration_events(params = {}, options = {})
2567
+ req = build_request(:list_data_integration_events, params)
1855
2568
  req.send_request(options)
1856
2569
  end
1857
2570
 
1858
- # Enables you to programmatically retrieve the information related to an
1859
- # Amazon Web Services Supply Chain instance ID.
2571
+ # List flow executions.
1860
2572
  #
1861
2573
  # @option params [required, String] :instance_id
1862
- # The AWS Supply Chain instance identifier
2574
+ # The AWS Supply Chain instance identifier.
1863
2575
  #
1864
- # @return [Types::GetInstanceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2576
+ # @option params [required, String] :flow_name
2577
+ # The flow name.
1865
2578
  #
1866
- # * {Types::GetInstanceResponse#instance #instance} => Types::Instance
2579
+ # @option params [String] :next_token
2580
+ # The pagination token to fetch next page of flow executions.
1867
2581
  #
2582
+ # @option params [Integer] :max_results
2583
+ # The number to specify the max number of flow executions to fetch in
2584
+ # this paginated request.
1868
2585
  #
1869
- # @example Example: Successful GetInstance request
2586
+ # @return [Types::ListDataIntegrationFlowExecutionsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1870
2587
  #
1871
- # resp = client.get_instance({
1872
- # instance_id: "9e193580-7cc5-45f7-9609-c43ba0ada793",
1873
- # })
2588
+ # * {Types::ListDataIntegrationFlowExecutionsResponse#flow_executions #flow_executions} => Array&lt;Types::DataIntegrationFlowExecution&gt;
2589
+ # * {Types::ListDataIntegrationFlowExecutionsResponse#next_token #next_token} => String
1874
2590
  #
1875
- # resp.to_h outputs the following:
1876
- # {
1877
- # instance: {
1878
- # aws_account_id: "123456789012",
1879
- # created_time: Time.parse(172615383136),
1880
- # instance_description: "example instance description",
1881
- # instance_id: "9e193580-7cc5-45f7-9609-c43ba0ada793",
1882
- # instance_name: "example instance name",
1883
- # kms_key_arn: "arn:aws:kms:us-west-2:123456789012:key/b14ffc39-b7d4-45ab-991a-6257a7f0d24d",
1884
- # last_modified_time: Time.parse(172615383136),
1885
- # state: "Active",
1886
- # version_number: 2.0,
1887
- # },
1888
- # }
2591
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1889
2592
  #
1890
- # @example Example: Successful GetInstance request with error message
1891
2593
  #
1892
- # resp = client.get_instance({
1893
- # instance_id: "9e193580-7cc5-45f7-9609-c43ba0ada793",
2594
+ # @example Example: Successful ListDataIntegrationFlowExecutions
2595
+ #
2596
+ # resp = client.list_data_integration_flow_executions({
2597
+ # flow_name: "source-product",
2598
+ # instance_id: "8928ae12-15e5-4441-825d-ec2184f0a43a",
1894
2599
  # })
1895
2600
  #
1896
2601
  # resp.to_h outputs the following:
1897
2602
  # {
1898
- # instance: {
1899
- # aws_account_id: "123456789012",
1900
- # created_time: Time.parse(172615383136),
1901
- # error_message: "Access denied when attempting to create an S3 bucket. Please correct your IAM policy and try again.",
1902
- # instance_description: "example instance description",
1903
- # instance_id: "9e193580-7cc5-45f7-9609-c43ba0ada793",
1904
- # instance_name: "example instance name",
1905
- # kms_key_arn: "arn:aws:kms:us-west-2:123456789012:key/b14ffc39-b7d4-45ab-991a-6257a7f0d24d",
1906
- # last_modified_time: Time.parse(172615383136),
1907
- # state: "CreateFailed",
1908
- # version_number: 2.0,
1909
- # },
2603
+ # flow_executions: [
2604
+ # {
2605
+ # end_time: Time.parse(1515531090.123),
2606
+ # execution_id: "edbbdd3f-c0f9-49d9-ab01-f64542f803b7",
2607
+ # flow_name: "source-product",
2608
+ # instance_id: "8928ae12-15e5-4441-825d-ec2184f0a43a",
2609
+ # source_info: {
2610
+ # s3_source: {
2611
+ # key: "sources/product-sources.csv",
2612
+ # bucket_name: "galaxy-raw-input-test-data-prod-pdx-1",
2613
+ # },
2614
+ # source_type: "S3",
2615
+ # },
2616
+ # start_time: Time.parse(1515531081.123),
2617
+ # status: "SUCCEEDED",
2618
+ # },
2619
+ # ],
1910
2620
  # }
1911
2621
  #
1912
2622
  # @example Request syntax with placeholder values
1913
2623
  #
1914
- # resp = client.get_instance({
2624
+ # resp = client.list_data_integration_flow_executions({
1915
2625
  # instance_id: "UUID", # required
2626
+ # flow_name: "DataIntegrationFlowName", # required
2627
+ # next_token: "DataIntegrationFlowExecutionNextToken",
2628
+ # max_results: 1,
1916
2629
  # })
1917
2630
  #
1918
2631
  # @example Response structure
1919
2632
  #
1920
- # resp.instance.instance_id #=> String
1921
- # resp.instance.aws_account_id #=> String
1922
- # resp.instance.state #=> String, one of "Initializing", "Active", "CreateFailed", "DeleteFailed", "Deleting", "Deleted"
1923
- # resp.instance.error_message #=> String
1924
- # resp.instance.web_app_dns_domain #=> String
1925
- # resp.instance.created_time #=> Time
1926
- # resp.instance.last_modified_time #=> Time
1927
- # resp.instance.instance_name #=> String
1928
- # resp.instance.instance_description #=> String
1929
- # resp.instance.kms_key_arn #=> String
1930
- # resp.instance.version_number #=> Float
2633
+ # resp.flow_executions #=> Array
2634
+ # resp.flow_executions[0].instance_id #=> String
2635
+ # resp.flow_executions[0].flow_name #=> String
2636
+ # resp.flow_executions[0].execution_id #=> String
2637
+ # resp.flow_executions[0].status #=> String, one of "SUCCEEDED", "IN_PROGRESS", "FAILED"
2638
+ # resp.flow_executions[0].source_info.source_type #=> String, one of "S3", "DATASET"
2639
+ # resp.flow_executions[0].source_info.s3_source.bucket_name #=> String
2640
+ # resp.flow_executions[0].source_info.s3_source.key #=> String
2641
+ # resp.flow_executions[0].source_info.dataset_source.dataset_identifier #=> String
2642
+ # resp.flow_executions[0].message #=> String
2643
+ # resp.flow_executions[0].start_time #=> Time
2644
+ # resp.flow_executions[0].end_time #=> Time
2645
+ # resp.flow_executions[0].output_metadata.diagnostic_reports_root_s3uri #=> String
2646
+ # resp.next_token #=> String
1931
2647
  #
1932
- # @see http://docs.aws.amazon.com/goto/WebAPI/supplychain-2024-01-01/GetInstance AWS API Documentation
2648
+ # @see http://docs.aws.amazon.com/goto/WebAPI/supplychain-2024-01-01/ListDataIntegrationFlowExecutions AWS API Documentation
1933
2649
  #
1934
- # @overload get_instance(params = {})
2650
+ # @overload list_data_integration_flow_executions(params = {})
1935
2651
  # @param [Hash] params ({})
1936
- def get_instance(params = {}, options = {})
1937
- req = build_request(:get_instance, params)
2652
+ def list_data_integration_flow_executions(params = {}, options = {})
2653
+ req = build_request(:list_data_integration_flow_executions, params)
1938
2654
  req.send_request(options)
1939
2655
  end
1940
2656
 
@@ -2021,6 +2737,21 @@ module Aws::SupplyChain
2021
2737
  # target: {
2022
2738
  # dataset_target: {
2023
2739
  # dataset_identifier: "arn:aws:scn:us-east-1:123456789012:instance/8850c54e-e187-4fa7-89d4-6370f165174d/namespaces/asc/datasets/trading_partner",
2740
+ # options: {
2741
+ # dedupe_records: true,
2742
+ # dedupe_strategy: {
2743
+ # type: "FIELD_PRIORITY",
2744
+ # field_priority: {
2745
+ # fields: [
2746
+ # {
2747
+ # name: "eff_start_date",
2748
+ # sort_order: "DESC",
2749
+ # },
2750
+ # ],
2751
+ # },
2752
+ # },
2753
+ # load_type: "REPLACE",
2754
+ # },
2024
2755
  # },
2025
2756
  # target_type: "DATASET",
2026
2757
  # },
@@ -2056,6 +2787,10 @@ module Aws::SupplyChain
2056
2787
  # resp.flows[0].sources[0].dataset_source.dataset_identifier #=> String
2057
2788
  # resp.flows[0].sources[0].dataset_source.options.load_type #=> String, one of "INCREMENTAL", "REPLACE"
2058
2789
  # resp.flows[0].sources[0].dataset_source.options.dedupe_records #=> Boolean
2790
+ # resp.flows[0].sources[0].dataset_source.options.dedupe_strategy.type #=> String, one of "FIELD_PRIORITY"
2791
+ # resp.flows[0].sources[0].dataset_source.options.dedupe_strategy.field_priority.fields #=> Array
2792
+ # resp.flows[0].sources[0].dataset_source.options.dedupe_strategy.field_priority.fields[0].name #=> String
2793
+ # resp.flows[0].sources[0].dataset_source.options.dedupe_strategy.field_priority.fields[0].sort_order #=> String, one of "ASC", "DESC"
2059
2794
  # resp.flows[0].transformation.transformation_type #=> String, one of "SQL", "NONE"
2060
2795
  # resp.flows[0].transformation.sql_transformation.query #=> String
2061
2796
  # resp.flows[0].target.target_type #=> String, one of "S3", "DATASET"
@@ -2065,6 +2800,10 @@ module Aws::SupplyChain
2065
2800
  # resp.flows[0].target.dataset_target.dataset_identifier #=> String
2066
2801
  # resp.flows[0].target.dataset_target.options.load_type #=> String, one of "INCREMENTAL", "REPLACE"
2067
2802
  # resp.flows[0].target.dataset_target.options.dedupe_records #=> Boolean
2803
+ # resp.flows[0].target.dataset_target.options.dedupe_strategy.type #=> String, one of "FIELD_PRIORITY"
2804
+ # resp.flows[0].target.dataset_target.options.dedupe_strategy.field_priority.fields #=> Array
2805
+ # resp.flows[0].target.dataset_target.options.dedupe_strategy.field_priority.fields[0].name #=> String
2806
+ # resp.flows[0].target.dataset_target.options.dedupe_strategy.field_priority.fields[0].sort_order #=> String, one of "ASC", "DESC"
2068
2807
  # resp.flows[0].created_time #=> Time
2069
2808
  # resp.flows[0].last_modified_time #=> Time
2070
2809
  # resp.next_token #=> String
@@ -2087,7 +2826,8 @@ module Aws::SupplyChain
2087
2826
  # The Amazon Web Services Supply Chain instance identifier.
2088
2827
  #
2089
2828
  # @option params [required, String] :namespace
2090
- # The name space of the dataset. The available values are:
2829
+ # The namespace of the dataset, besides the custom defined namespace,
2830
+ # every instance comes with below pre-defined namespaces:
2091
2831
  #
2092
2832
  # * **asc** - For information on the Amazon Web Services Supply Chain
2093
2833
  # supported datasets see
@@ -2310,6 +3050,22 @@ module Aws::SupplyChain
2310
3050
  # instance_id: "1877dd20-dee9-4639-8e99-cb67acf21fe5",
2311
3051
  # last_modified_time: Time.parse(1727116807.751),
2312
3052
  # namespace: "default",
3053
+ # partition_spec: {
3054
+ # fields: [
3055
+ # {
3056
+ # name: "creation_time",
3057
+ # transform: {
3058
+ # type: "DAY",
3059
+ # },
3060
+ # },
3061
+ # {
3062
+ # name: "description",
3063
+ # transform: {
3064
+ # type: "IDENTITY",
3065
+ # },
3066
+ # },
3067
+ # ],
3068
+ # },
2313
3069
  # schema: {
2314
3070
  # name: "MyDataset",
2315
3071
  # fields: [
@@ -2333,6 +3089,16 @@ module Aws::SupplyChain
2333
3089
  # type: "TIMESTAMP",
2334
3090
  # is_required: false,
2335
3091
  # },
3092
+ # {
3093
+ # name: "quantity",
3094
+ # type: "LONG",
3095
+ # is_required: false,
3096
+ # },
3097
+ # ],
3098
+ # primary_keys: [
3099
+ # {
3100
+ # name: "id",
3101
+ # },
2336
3102
  # ],
2337
3103
  # },
2338
3104
  # },
@@ -2368,7 +3134,7 @@ module Aws::SupplyChain
2368
3134
  #
2369
3135
  # resp = client.list_data_lake_datasets({
2370
3136
  # instance_id: "UUID", # required
2371
- # namespace: "DataLakeDatasetNamespace", # required
3137
+ # namespace: "DataLakeNamespaceName", # required
2372
3138
  # next_token: "DataLakeDatasetNextToken",
2373
3139
  # max_results: 1,
2374
3140
  # })
@@ -2383,9 +3149,14 @@ module Aws::SupplyChain
2383
3149
  # resp.datasets[0].schema.name #=> String
2384
3150
  # resp.datasets[0].schema.fields #=> Array
2385
3151
  # resp.datasets[0].schema.fields[0].name #=> String
2386
- # resp.datasets[0].schema.fields[0].type #=> String, one of "INT", "DOUBLE", "STRING", "TIMESTAMP"
3152
+ # resp.datasets[0].schema.fields[0].type #=> String, one of "INT", "DOUBLE", "STRING", "TIMESTAMP", "LONG"
2387
3153
  # resp.datasets[0].schema.fields[0].is_required #=> Boolean
3154
+ # resp.datasets[0].schema.primary_keys #=> Array
3155
+ # resp.datasets[0].schema.primary_keys[0].name #=> String
2388
3156
  # resp.datasets[0].description #=> String
3157
+ # resp.datasets[0].partition_spec.fields #=> Array
3158
+ # resp.datasets[0].partition_spec.fields[0].name #=> String
3159
+ # resp.datasets[0].partition_spec.fields[0].transform.type #=> String, one of "YEAR", "MONTH", "DAY", "HOUR", "IDENTITY"
2389
3160
  # resp.datasets[0].created_time #=> Time
2390
3161
  # resp.datasets[0].last_modified_time #=> Time
2391
3162
  # resp.next_token #=> String
@@ -2399,6 +3170,105 @@ module Aws::SupplyChain
2399
3170
  req.send_request(options)
2400
3171
  end
2401
3172
 
3173
+ # Enables you to programmatically view the list of Amazon Web Services
3174
+ # Supply Chain data lake namespaces. Developers can view the namespaces
3175
+ # and the corresponding information such as description for a given
3176
+ # instance ID. Note that this API only return custom namespaces,
3177
+ # instance pre-defined namespaces are not included.
3178
+ #
3179
+ # @option params [required, String] :instance_id
3180
+ # The Amazon Web Services Supply Chain instance identifier.
3181
+ #
3182
+ # @option params [String] :next_token
3183
+ # The pagination token to fetch next page of namespaces.
3184
+ #
3185
+ # @option params [Integer] :max_results
3186
+ # The max number of namespaces to fetch in this paginated request.
3187
+ #
3188
+ # @return [Types::ListDataLakeNamespacesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3189
+ #
3190
+ # * {Types::ListDataLakeNamespacesResponse#namespaces #namespaces} => Array&lt;Types::DataLakeNamespace&gt;
3191
+ # * {Types::ListDataLakeNamespacesResponse#next_token #next_token} => String
3192
+ #
3193
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
3194
+ #
3195
+ #
3196
+ # @example Example: List AWS Supply Chain namespaces
3197
+ #
3198
+ # resp = client.list_data_lake_namespaces({
3199
+ # instance_id: "1877dd20-dee9-4639-8e99-cb67acf21fe5",
3200
+ # })
3201
+ #
3202
+ # resp.to_h outputs the following:
3203
+ # {
3204
+ # namespaces: [
3205
+ # {
3206
+ # name: "custom_namespace",
3207
+ # arn: "arn:aws:scn:us-east-1:012345678910:instance/1877dd20-dee9-4639-8e99-cb67acf21fe5/namespaces/custom_namespace",
3208
+ # created_time: Time.parse(1736892060.751),
3209
+ # instance_id: "1877dd20-dee9-4639-8e99-cb67acf21fe5",
3210
+ # last_modified_time: Time.parse(1736892060.751),
3211
+ # },
3212
+ # {
3213
+ # name: "my_namespace",
3214
+ # arn: "arn:aws:scn:us-east-1:012345678910:instance/1877dd20-dee9-4639-8e99-cb67acf21fe5/namespaces/my_namespace",
3215
+ # created_time: Time.parse(1736892560.751),
3216
+ # instance_id: "1877dd20-dee9-4639-8e99-cb67acf21fe5",
3217
+ # last_modified_time: Time.parse(1736892586.156),
3218
+ # },
3219
+ # ],
3220
+ # }
3221
+ #
3222
+ # @example Example: List AWS Supply Chain namespaces using pagination
3223
+ #
3224
+ # resp = client.list_data_lake_namespaces({
3225
+ # instance_id: "1877dd20-dee9-4639-8e99-cb67acf21fe5",
3226
+ # max_results: 1,
3227
+ # next_token: "next_token_returned_from_previous_list_request",
3228
+ # })
3229
+ #
3230
+ # resp.to_h outputs the following:
3231
+ # {
3232
+ # namespaces: [
3233
+ # {
3234
+ # name: "my_namespace",
3235
+ # arn: "arn:aws:scn:us-east-1:012345678910:instance/1877dd20-dee9-4639-8e99-cb67acf21fe5/namespaces/my_namespace",
3236
+ # created_time: Time.parse(1736892560.751),
3237
+ # instance_id: "1877dd20-dee9-4639-8e99-cb67acf21fe5",
3238
+ # last_modified_time: Time.parse(1736892586.156),
3239
+ # },
3240
+ # ],
3241
+ # next_token: "next_token_for_next_list_request",
3242
+ # }
3243
+ #
3244
+ # @example Request syntax with placeholder values
3245
+ #
3246
+ # resp = client.list_data_lake_namespaces({
3247
+ # instance_id: "UUID", # required
3248
+ # next_token: "DataLakeNamespaceNextToken",
3249
+ # max_results: 1,
3250
+ # })
3251
+ #
3252
+ # @example Response structure
3253
+ #
3254
+ # resp.namespaces #=> Array
3255
+ # resp.namespaces[0].instance_id #=> String
3256
+ # resp.namespaces[0].name #=> String
3257
+ # resp.namespaces[0].arn #=> String
3258
+ # resp.namespaces[0].description #=> String
3259
+ # resp.namespaces[0].created_time #=> Time
3260
+ # resp.namespaces[0].last_modified_time #=> Time
3261
+ # resp.next_token #=> String
3262
+ #
3263
+ # @see http://docs.aws.amazon.com/goto/WebAPI/supplychain-2024-01-01/ListDataLakeNamespaces AWS API Documentation
3264
+ #
3265
+ # @overload list_data_lake_namespaces(params = {})
3266
+ # @param [Hash] params ({})
3267
+ def list_data_lake_namespaces(params = {}, options = {})
3268
+ req = build_request(:list_data_lake_namespaces, params)
3269
+ req.send_request(options)
3270
+ end
3271
+
2402
3272
  # List all Amazon Web Services Supply Chain instances for a specific
2403
3273
  # account. Enables you to programmatically list all Amazon Web Services
2404
3274
  # Supply Chain instances based on their account ID, instance name, and
@@ -2614,12 +3484,9 @@ module Aws::SupplyChain
2614
3484
  req.send_request(options)
2615
3485
  end
2616
3486
 
2617
- # Send the transactional data payload for the event with real-time data
2618
- # for analysis or monitoring. The real-time data events are stored in an
2619
- # Amazon Web Services service before being processed and stored in data
2620
- # lake. New data events are synced with data lake at 5 PM GMT everyday.
2621
- # The updated transactional data is available in data lake after
2622
- # ingestion.
3487
+ # Send the data payload for the event with real-time data for analysis
3488
+ # or monitoring. The real-time data events are stored in an Amazon Web
3489
+ # Services service before being processed and stored in data lake.
2623
3490
  #
2624
3491
  # @option params [required, String] :instance_id
2625
3492
  # The AWS Supply Chain instance identifier.
@@ -2627,9 +3494,75 @@ module Aws::SupplyChain
2627
3494
  # @option params [required, String] :event_type
2628
3495
  # The data event type.
2629
3496
  #
3497
+ # * **scn.data.dataset** - Send data directly to any specified dataset.
3498
+ #
3499
+ # * **scn.data.supplyplan** - Send data to [supply\_plan][1] dataset.
3500
+ #
3501
+ # * **scn.data.shipmentstoporder** - Send data to
3502
+ # [shipment\_stop\_order][2] dataset.
3503
+ #
3504
+ # * **scn.data.shipmentstop** - Send data to [shipment\_stop][3]
3505
+ # dataset.
3506
+ #
3507
+ # * **scn.data.shipment** - Send data to [shipment][4] dataset.
3508
+ #
3509
+ # * **scn.data.reservation** - Send data to [reservation][5] dataset.
3510
+ #
3511
+ # * **scn.data.processproduct** - Send data to [process\_product][6]
3512
+ # dataset.
3513
+ #
3514
+ # * **scn.data.processoperation** - Send data to [process\_operation][7]
3515
+ # dataset.
3516
+ #
3517
+ # * **scn.data.processheader** - Send data to [process\_header][8]
3518
+ # dataset.
3519
+ #
3520
+ # * **scn.data.forecast** - Send data to [forecast][9] dataset.
3521
+ #
3522
+ # * **scn.data.inventorylevel** - Send data to [inv\_level][10] dataset.
3523
+ #
3524
+ # * **scn.data.inboundorder** - Send data to [inbound\_order][11]
3525
+ # dataset.
3526
+ #
3527
+ # * **scn.data.inboundorderline** - Send data to
3528
+ # [inbound\_order\_line][12] dataset.
3529
+ #
3530
+ # * **scn.data.inboundorderlineschedule** - Send data to
3531
+ # [inbound\_order\_line\_schedule][13] dataset.
3532
+ #
3533
+ # * **scn.data.outboundorderline** - Send data to
3534
+ # [outbound\_order\_line][14] dataset.
3535
+ #
3536
+ # * **scn.data.outboundshipment** - Send data to
3537
+ # [outbound\_shipment][15] dataset.
3538
+ #
3539
+ #
3540
+ #
3541
+ # [1]: https://docs.aws.amazon.com/aws-supply-chain/latest/userguide/supply-plan-entity.html
3542
+ # [2]: https://docs.aws.amazon.com/aws-supply-chain/latest/userguide/replenishment-shipment-stop-order-entity.html
3543
+ # [3]: https://docs.aws.amazon.com/aws-supply-chain/latest/userguide/replenishment-shipment-stop-entity.html
3544
+ # [4]: https://docs.aws.amazon.com/aws-supply-chain/latest/userguide/replenishment-shipment-entity.html
3545
+ # [5]: https://docs.aws.amazon.com/aws-supply-chain/latest/userguide/planning-reservation-entity.html
3546
+ # [6]: https://docs.aws.amazon.com/aws-supply-chain/latest/userguide/operation-process-product-entity.html
3547
+ # [7]: https://docs.aws.amazon.com/aws-supply-chain/latest/userguide/operation-process-operation-entity.html
3548
+ # [8]: https://docs.aws.amazon.com/aws-supply-chain/latest/userguide/operation-process-header-entity.html
3549
+ # [9]: https://docs.aws.amazon.com/aws-supply-chain/latest/userguide/forecast-forecast-entity.html
3550
+ # [10]: https://docs.aws.amazon.com/aws-supply-chain/latest/userguide/inventory_mgmnt-inv-level-entity.html
3551
+ # [11]: https://docs.aws.amazon.com/aws-supply-chain/latest/userguide/replenishment-inbound-order-entity.html
3552
+ # [12]: https://docs.aws.amazon.com/aws-supply-chain/latest/userguide/replenishment-inbound-order-line-entity.html
3553
+ # [13]: https://docs.aws.amazon.com/aws-supply-chain/latest/userguide/replenishment-inbound-order-line-schedule-entity.html
3554
+ # [14]: https://docs.aws.amazon.com/aws-supply-chain/latest/userguide/outbound-fulfillment-order-line-entity.html
3555
+ # [15]: https://docs.aws.amazon.com/aws-supply-chain/latest/userguide/outbound-fulfillment-shipment-entity.html
3556
+ #
2630
3557
  # @option params [required, String] :data
2631
- # The data payload of the event. For more information on the data schema
2632
- # to use, see [Data entities supported in AWS Supply Chain][1].
3558
+ # The data payload of the event, should follow the data schema of the
3559
+ # target dataset, or see [Data entities supported in AWS Supply
3560
+ # Chain][1]. To send single data record, use JsonObject format; to send
3561
+ # multiple data records, use JsonArray format.
3562
+ #
3563
+ # Note that for AWS Supply Chain dataset under **asc** namespace, it has
3564
+ # a connection\_id internal field that is not allowed to be provided by
3565
+ # client directly, they will be auto populated.
2633
3566
  #
2634
3567
  #
2635
3568
  #
@@ -2637,17 +3570,27 @@ module Aws::SupplyChain
2637
3570
  #
2638
3571
  # @option params [required, String] :event_group_id
2639
3572
  # Event identifier (for example, orderId for InboundOrder) used for data
2640
- # sharing or partitioning.
3573
+ # sharding or partitioning. Noted under one eventGroupId of same
3574
+ # eventType and instanceId, events are processed sequentially in the
3575
+ # order they are received by the server.
2641
3576
  #
2642
3577
  # @option params [Time,DateTime,Date,Integer,String] :event_timestamp
2643
- # The event timestamp (in epoch seconds).
3578
+ # The timestamp (in epoch seconds) associated with the event. If not
3579
+ # provided, it will be assigned with current timestamp.
2644
3580
  #
2645
3581
  # @option params [String] :client_token
2646
- # The idempotent client token.
3582
+ # The idempotent client token. The token is active for 8 hours, and
3583
+ # within its lifetime, it ensures the request completes only once upon
3584
+ # retry with same client token. If omitted, the AWS SDK generates a
3585
+ # unique value so that AWS SDK can safely retry the request upon network
3586
+ # errors.
2647
3587
  #
2648
3588
  # **A suitable default value is auto-generated.** You should normally
2649
3589
  # not need to pass this option.**
2650
3590
  #
3591
+ # @option params [Types::DataIntegrationEventDatasetTargetConfiguration] :dataset_target
3592
+ # The target dataset configuration for **scn.data.dataset** event type.
3593
+ #
2651
3594
  # @return [Types::SendDataIntegrationEventResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2652
3595
  #
2653
3596
  # * {Types::SendDataIntegrationEventResponse#event_id #event_id} => String
@@ -2878,15 +3821,38 @@ module Aws::SupplyChain
2878
3821
  # event_id: "9abaee56-5dc4-4c31-8250-3206a651d8a1",
2879
3822
  # }
2880
3823
  #
3824
+ # @example Example: Successful SendDataIntegrationEvent for dataset event type
3825
+ #
3826
+ # resp = client.send_data_integration_event({
3827
+ # data: "{\"dataset_id\": \"datset-id-test-123\" }",
3828
+ # dataset_target: {
3829
+ # dataset_identifier: "arn:aws:scn:us-west-2:135808960812:instance/8928ae12-15e5-4441-825d-ec2184f0a43a/namespaces/asc/datasets/product",
3830
+ # operation_type: "APPEND",
3831
+ # },
3832
+ # event_group_id: "datasetId",
3833
+ # event_timestamp: Time.parse(1515531081.123),
3834
+ # event_type: "scn.data.dataset",
3835
+ # instance_id: "8928ae12-15e5-4441-825d-ec2184f0a43a",
3836
+ # })
3837
+ #
3838
+ # resp.to_h outputs the following:
3839
+ # {
3840
+ # event_id: "19739c8e-cd2e-4cbc-a2f7-0dc43239f042",
3841
+ # }
3842
+ #
2881
3843
  # @example Request syntax with placeholder values
2882
3844
  #
2883
3845
  # resp = client.send_data_integration_event({
2884
3846
  # instance_id: "UUID", # required
2885
- # event_type: "scn.data.forecast", # required, accepts scn.data.forecast, scn.data.inventorylevel, scn.data.inboundorder, scn.data.inboundorderline, scn.data.inboundorderlineschedule, scn.data.outboundorderline, scn.data.outboundshipment, scn.data.processheader, scn.data.processoperation, scn.data.processproduct, scn.data.reservation, scn.data.shipment, scn.data.shipmentstop, scn.data.shipmentstoporder, scn.data.supplyplan
3847
+ # event_type: "scn.data.forecast", # required, accepts scn.data.forecast, scn.data.inventorylevel, scn.data.inboundorder, scn.data.inboundorderline, scn.data.inboundorderlineschedule, scn.data.outboundorderline, scn.data.outboundshipment, scn.data.processheader, scn.data.processoperation, scn.data.processproduct, scn.data.reservation, scn.data.shipment, scn.data.shipmentstop, scn.data.shipmentstoporder, scn.data.supplyplan, scn.data.dataset
2886
3848
  # data: "DataIntegrationEventData", # required
2887
3849
  # event_group_id: "DataIntegrationEventGroupId", # required
2888
3850
  # event_timestamp: Time.now,
2889
3851
  # client_token: "ClientToken",
3852
+ # dataset_target: {
3853
+ # dataset_identifier: "DataIntegrationDatasetArn", # required
3854
+ # operation_type: "APPEND", # required, accepts APPEND, UPSERT, DELETE
3855
+ # },
2890
3856
  # })
2891
3857
  #
2892
3858
  # @example Response structure
@@ -3108,6 +4074,21 @@ module Aws::SupplyChain
3108
4074
  # target: {
3109
4075
  # dataset_target: {
3110
4076
  # dataset_identifier: "arn:aws:scn:us-east-1:123456789012:instance/8850c54e-e187-4fa7-89d4-6370f165174d/namespaces/asc/datasets/trading_partner",
4077
+ # options: {
4078
+ # dedupe_records: true,
4079
+ # dedupe_strategy: {
4080
+ # type: "FIELD_PRIORITY",
4081
+ # field_priority: {
4082
+ # fields: [
4083
+ # {
4084
+ # name: "eff_start_date",
4085
+ # sort_order: "ASC",
4086
+ # },
4087
+ # ],
4088
+ # },
4089
+ # },
4090
+ # load_type: "REPLACE",
4091
+ # },
3111
4092
  # },
3112
4093
  # target_type: "DATASET",
3113
4094
  # },
@@ -3145,6 +4126,21 @@ module Aws::SupplyChain
3145
4126
  # target: {
3146
4127
  # dataset_target: {
3147
4128
  # dataset_identifier: "arn:aws:scn:us-east-1:123456789012:instance/8850c54e-e187-4fa7-89d4-6370f165174d/namespaces/asc/datasets/trading_partner",
4129
+ # options: {
4130
+ # dedupe_records: true,
4131
+ # dedupe_strategy: {
4132
+ # type: "FIELD_PRIORITY",
4133
+ # field_priority: {
4134
+ # fields: [
4135
+ # {
4136
+ # name: "eff_start_date",
4137
+ # sort_order: "ASC",
4138
+ # },
4139
+ # ],
4140
+ # },
4141
+ # },
4142
+ # load_type: "REPLACE",
4143
+ # },
3148
4144
  # },
3149
4145
  # target_type: "DATASET",
3150
4146
  # },
@@ -3178,6 +4174,17 @@ module Aws::SupplyChain
3178
4174
  # options: {
3179
4175
  # load_type: "INCREMENTAL", # accepts INCREMENTAL, REPLACE
3180
4176
  # dedupe_records: false,
4177
+ # dedupe_strategy: {
4178
+ # type: "FIELD_PRIORITY", # required, accepts FIELD_PRIORITY
4179
+ # field_priority: {
4180
+ # fields: [ # required
4181
+ # {
4182
+ # name: "DataIntegrationFlowFieldPriorityDedupeFieldName", # required
4183
+ # sort_order: "ASC", # required, accepts ASC, DESC
4184
+ # },
4185
+ # ],
4186
+ # },
4187
+ # },
3181
4188
  # },
3182
4189
  # },
3183
4190
  # },
@@ -3202,6 +4209,17 @@ module Aws::SupplyChain
3202
4209
  # options: {
3203
4210
  # load_type: "INCREMENTAL", # accepts INCREMENTAL, REPLACE
3204
4211
  # dedupe_records: false,
4212
+ # dedupe_strategy: {
4213
+ # type: "FIELD_PRIORITY", # required, accepts FIELD_PRIORITY
4214
+ # field_priority: {
4215
+ # fields: [ # required
4216
+ # {
4217
+ # name: "DataIntegrationFlowFieldPriorityDedupeFieldName", # required
4218
+ # sort_order: "ASC", # required, accepts ASC, DESC
4219
+ # },
4220
+ # ],
4221
+ # },
4222
+ # },
3205
4223
  # },
3206
4224
  # },
3207
4225
  # },
@@ -3220,6 +4238,10 @@ module Aws::SupplyChain
3220
4238
  # resp.flow.sources[0].dataset_source.dataset_identifier #=> String
3221
4239
  # resp.flow.sources[0].dataset_source.options.load_type #=> String, one of "INCREMENTAL", "REPLACE"
3222
4240
  # resp.flow.sources[0].dataset_source.options.dedupe_records #=> Boolean
4241
+ # resp.flow.sources[0].dataset_source.options.dedupe_strategy.type #=> String, one of "FIELD_PRIORITY"
4242
+ # resp.flow.sources[0].dataset_source.options.dedupe_strategy.field_priority.fields #=> Array
4243
+ # resp.flow.sources[0].dataset_source.options.dedupe_strategy.field_priority.fields[0].name #=> String
4244
+ # resp.flow.sources[0].dataset_source.options.dedupe_strategy.field_priority.fields[0].sort_order #=> String, one of "ASC", "DESC"
3223
4245
  # resp.flow.transformation.transformation_type #=> String, one of "SQL", "NONE"
3224
4246
  # resp.flow.transformation.sql_transformation.query #=> String
3225
4247
  # resp.flow.target.target_type #=> String, one of "S3", "DATASET"
@@ -3229,6 +4251,10 @@ module Aws::SupplyChain
3229
4251
  # resp.flow.target.dataset_target.dataset_identifier #=> String
3230
4252
  # resp.flow.target.dataset_target.options.load_type #=> String, one of "INCREMENTAL", "REPLACE"
3231
4253
  # resp.flow.target.dataset_target.options.dedupe_records #=> Boolean
4254
+ # resp.flow.target.dataset_target.options.dedupe_strategy.type #=> String, one of "FIELD_PRIORITY"
4255
+ # resp.flow.target.dataset_target.options.dedupe_strategy.field_priority.fields #=> Array
4256
+ # resp.flow.target.dataset_target.options.dedupe_strategy.field_priority.fields[0].name #=> String
4257
+ # resp.flow.target.dataset_target.options.dedupe_strategy.field_priority.fields[0].sort_order #=> String, one of "ASC", "DESC"
3232
4258
  # resp.flow.created_time #=> Time
3233
4259
  # resp.flow.last_modified_time #=> Time
3234
4260
  #
@@ -3250,7 +4276,8 @@ module Aws::SupplyChain
3250
4276
  # The Amazon Web Services Chain instance identifier.
3251
4277
  #
3252
4278
  # @option params [required, String] :namespace
3253
- # The name space of the dataset. The available values are:
4279
+ # The namespace of the dataset, besides the custom defined namespace,
4280
+ # every instance comes with below pre-defined namespaces:
3254
4281
  #
3255
4282
  # * **asc** - For information on the Amazon Web Services Supply Chain
3256
4283
  # supported datasets see
@@ -3263,7 +4290,7 @@ module Aws::SupplyChain
3263
4290
  # [1]: https://docs.aws.amazon.com/aws-supply-chain/latest/userguide/data-model-asc.html
3264
4291
  #
3265
4292
  # @option params [required, String] :name
3266
- # The name of the dataset. For **asc** name space, the name must be one
4293
+ # The name of the dataset. For **asc** namespace, the name must be one
3267
4294
  # of the supported data entities under
3268
4295
  # [https://docs.aws.amazon.com/aws-supply-chain/latest/userguide/data-model-asc.html][1].
3269
4296
  #
@@ -3475,6 +4502,22 @@ module Aws::SupplyChain
3475
4502
  # instance_id: "1877dd20-dee9-4639-8e99-cb67acf21fe5",
3476
4503
  # last_modified_time: Time.parse(1727117453.568),
3477
4504
  # namespace: "default",
4505
+ # partition_spec: {
4506
+ # fields: [
4507
+ # {
4508
+ # name: "creation_time",
4509
+ # transform: {
4510
+ # type: "DAY",
4511
+ # },
4512
+ # },
4513
+ # {
4514
+ # name: "description",
4515
+ # transform: {
4516
+ # type: "IDENTITY",
4517
+ # },
4518
+ # },
4519
+ # ],
4520
+ # },
3478
4521
  # schema: {
3479
4522
  # name: "MyDataset",
3480
4523
  # fields: [
@@ -3498,6 +4541,16 @@ module Aws::SupplyChain
3498
4541
  # type: "TIMESTAMP",
3499
4542
  # is_required: false,
3500
4543
  # },
4544
+ # {
4545
+ # name: "quantity",
4546
+ # type: "LONG",
4547
+ # is_required: false,
4548
+ # },
4549
+ # ],
4550
+ # primary_keys: [
4551
+ # {
4552
+ # name: "id",
4553
+ # },
3501
4554
  # ],
3502
4555
  # },
3503
4556
  # },
@@ -3507,7 +4560,7 @@ module Aws::SupplyChain
3507
4560
  #
3508
4561
  # resp = client.update_data_lake_dataset({
3509
4562
  # instance_id: "UUID", # required
3510
- # namespace: "DataLakeDatasetNamespace", # required
4563
+ # namespace: "DataLakeNamespaceName", # required
3511
4564
  # name: "DataLakeDatasetName", # required
3512
4565
  # description: "DataLakeDatasetDescription",
3513
4566
  # })
@@ -3521,9 +4574,14 @@ module Aws::SupplyChain
3521
4574
  # resp.dataset.schema.name #=> String
3522
4575
  # resp.dataset.schema.fields #=> Array
3523
4576
  # resp.dataset.schema.fields[0].name #=> String
3524
- # resp.dataset.schema.fields[0].type #=> String, one of "INT", "DOUBLE", "STRING", "TIMESTAMP"
4577
+ # resp.dataset.schema.fields[0].type #=> String, one of "INT", "DOUBLE", "STRING", "TIMESTAMP", "LONG"
3525
4578
  # resp.dataset.schema.fields[0].is_required #=> Boolean
4579
+ # resp.dataset.schema.primary_keys #=> Array
4580
+ # resp.dataset.schema.primary_keys[0].name #=> String
3526
4581
  # resp.dataset.description #=> String
4582
+ # resp.dataset.partition_spec.fields #=> Array
4583
+ # resp.dataset.partition_spec.fields[0].name #=> String
4584
+ # resp.dataset.partition_spec.fields[0].transform.type #=> String, one of "YEAR", "MONTH", "DAY", "HOUR", "IDENTITY"
3527
4585
  # resp.dataset.created_time #=> Time
3528
4586
  # resp.dataset.last_modified_time #=> Time
3529
4587
  #
@@ -3536,6 +4594,72 @@ module Aws::SupplyChain
3536
4594
  req.send_request(options)
3537
4595
  end
3538
4596
 
4597
+ # Enables you to programmatically update an Amazon Web Services Supply
4598
+ # Chain data lake namespace. Developers can update the description of a
4599
+ # data lake namespace for a given instance ID and namespace name.
4600
+ #
4601
+ # @option params [required, String] :instance_id
4602
+ # The Amazon Web Services Chain instance identifier.
4603
+ #
4604
+ # @option params [required, String] :name
4605
+ # The name of the namespace. Noted you cannot update namespace with name
4606
+ # starting with **asc**, **default**, **scn**, **aws**, **amazon**,
4607
+ # **amzn**
4608
+ #
4609
+ # @option params [String] :description
4610
+ # The updated description of the data lake namespace.
4611
+ #
4612
+ # @return [Types::UpdateDataLakeNamespaceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4613
+ #
4614
+ # * {Types::UpdateDataLakeNamespaceResponse#namespace #namespace} => Types::DataLakeNamespace
4615
+ #
4616
+ #
4617
+ # @example Example: Update description of an existing AWS Supply Chain namespace
4618
+ #
4619
+ # resp = client.update_data_lake_namespace({
4620
+ # name: "my_namespace",
4621
+ # description: "This is an updated AWS Supply Chain namespace",
4622
+ # instance_id: "1877dd20-dee9-4639-8e99-cb67acf21fe5",
4623
+ # })
4624
+ #
4625
+ # resp.to_h outputs the following:
4626
+ # {
4627
+ # namespace: {
4628
+ # name: "my_namespace",
4629
+ # arn: "arn:aws:scn:us-east-1:012345678910:instance/1877dd20-dee9-4639-8e99-cb67acf21fe5/namespaces/my_namespace",
4630
+ # created_time: Time.parse(1736892560.751),
4631
+ # description: "This is an updated AWS Supply Chain namespace",
4632
+ # instance_id: "1877dd20-dee9-4639-8e99-cb67acf21fe5",
4633
+ # last_modified_time: Time.parse(1736892586.156),
4634
+ # },
4635
+ # }
4636
+ #
4637
+ # @example Request syntax with placeholder values
4638
+ #
4639
+ # resp = client.update_data_lake_namespace({
4640
+ # instance_id: "UUID", # required
4641
+ # name: "DataLakeNamespaceName", # required
4642
+ # description: "DataLakeNamespaceDescription",
4643
+ # })
4644
+ #
4645
+ # @example Response structure
4646
+ #
4647
+ # resp.namespace.instance_id #=> String
4648
+ # resp.namespace.name #=> String
4649
+ # resp.namespace.arn #=> String
4650
+ # resp.namespace.description #=> String
4651
+ # resp.namespace.created_time #=> Time
4652
+ # resp.namespace.last_modified_time #=> Time
4653
+ #
4654
+ # @see http://docs.aws.amazon.com/goto/WebAPI/supplychain-2024-01-01/UpdateDataLakeNamespace AWS API Documentation
4655
+ #
4656
+ # @overload update_data_lake_namespace(params = {})
4657
+ # @param [Hash] params ({})
4658
+ def update_data_lake_namespace(params = {}, options = {})
4659
+ req = build_request(:update_data_lake_namespace, params)
4660
+ req.send_request(options)
4661
+ end
4662
+
3539
4663
  # Enables you to programmatically update an Amazon Web Services Supply
3540
4664
  # Chain instance description by providing all the relevant information
3541
4665
  # such as account ID, instance ID and so on without using the AWS
@@ -3627,7 +4751,7 @@ module Aws::SupplyChain
3627
4751
  tracer: tracer
3628
4752
  )
3629
4753
  context[:gem_name] = 'aws-sdk-supplychain'
3630
- context[:gem_version] = '1.23.0'
4754
+ context[:gem_version] = '1.25.0'
3631
4755
  Seahorse::Client::Request.new(handlers, context)
3632
4756
  end
3633
4757