aws-sdk-iotanalytics 1.16.0 → 1.17.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/aws-sdk-iotanalytics.rb +1 -1
- data/lib/aws-sdk-iotanalytics/client.rb +67 -1
- data/lib/aws-sdk-iotanalytics/client_api.rb +17 -0
- data/lib/aws-sdk-iotanalytics/types.rb +123 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 05e05f8f3368c3017ef078c57e5643cf1005b73c
|
4
|
+
data.tar.gz: 1436c549b3aeac0376cbc27f4ec52e4716f17c2b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6bf3c9e6a4a1a26a6ceae86c978659114cea461879b2fde6e39578cd1f3c77b6cf08e6493dfab94783cf0e4eaad214cc90e59c244e804dcf81bf7d49410852dc
|
7
|
+
data.tar.gz: aa7863b75bd684dcd2042bec72f7821ed837a9cf366221a6604c4b82673fe62079285aec89b2682123d2dea9fcdf8428f5e8f935ab43330f0f0ebc2105c47d2b
|
data/lib/aws-sdk-iotanalytics.rb
CHANGED
@@ -199,6 +199,49 @@ module Aws::IoTAnalytics
|
|
199
199
|
# When `true`, request parameters are validated before
|
200
200
|
# sending the request.
|
201
201
|
#
|
202
|
+
# @option options [URI::HTTP,String] :http_proxy A proxy to send
|
203
|
+
# requests through. Formatted like 'http://proxy.com:123'.
|
204
|
+
#
|
205
|
+
# @option options [Float] :http_open_timeout (15) The number of
|
206
|
+
# seconds to wait when opening a HTTP session before rasing a
|
207
|
+
# `Timeout::Error`.
|
208
|
+
#
|
209
|
+
# @option options [Integer] :http_read_timeout (60) The default
|
210
|
+
# number of seconds to wait for response data. This value can
|
211
|
+
# safely be set
|
212
|
+
# per-request on the session yeidled by {#session_for}.
|
213
|
+
#
|
214
|
+
# @option options [Float] :http_idle_timeout (5) The number of
|
215
|
+
# seconds a connection is allowed to sit idble before it is
|
216
|
+
# considered stale. Stale connections are closed and removed
|
217
|
+
# from the pool before making a request.
|
218
|
+
#
|
219
|
+
# @option options [Float] :http_continue_timeout (1) The number of
|
220
|
+
# seconds to wait for a 100-continue response before sending the
|
221
|
+
# request body. This option has no effect unless the request has
|
222
|
+
# "Expect" header set to "100-continue". Defaults to `nil` which
|
223
|
+
# disables this behaviour. This value can safely be set per
|
224
|
+
# request on the session yeidled by {#session_for}.
|
225
|
+
#
|
226
|
+
# @option options [Boolean] :http_wire_trace (false) When `true`,
|
227
|
+
# HTTP debug output will be sent to the `:logger`.
|
228
|
+
#
|
229
|
+
# @option options [Boolean] :ssl_verify_peer (true) When `true`,
|
230
|
+
# SSL peer certificates are verified when establishing a
|
231
|
+
# connection.
|
232
|
+
#
|
233
|
+
# @option options [String] :ssl_ca_bundle Full path to the SSL
|
234
|
+
# certificate authority bundle file that should be used when
|
235
|
+
# verifying peer certificates. If you do not pass
|
236
|
+
# `:ssl_ca_bundle` or `:ssl_ca_directory` the the system default
|
237
|
+
# will be used if available.
|
238
|
+
#
|
239
|
+
# @option options [String] :ssl_ca_directory Full path of the
|
240
|
+
# directory that contains the unbundled SSL certificate
|
241
|
+
# authority files for verifying peer certificates. If you do
|
242
|
+
# not pass `:ssl_ca_bundle` or `:ssl_ca_directory` the the
|
243
|
+
# system default will be used if available.
|
244
|
+
#
|
202
245
|
def initialize(*args)
|
203
246
|
super
|
204
247
|
end
|
@@ -447,6 +490,15 @@ module Aws::IoTAnalytics
|
|
447
490
|
# input_name: "IotEventsInputName", # required
|
448
491
|
# role_arn: "RoleArn", # required
|
449
492
|
# },
|
493
|
+
# s3_destination_configuration: {
|
494
|
+
# bucket: "BucketName", # required
|
495
|
+
# key: "BucketKeyExpression", # required
|
496
|
+
# glue_configuration: {
|
497
|
+
# table_name: "GlueTableName", # required
|
498
|
+
# database_name: "GlueDatabaseName", # required
|
499
|
+
# },
|
500
|
+
# role_arn: "RoleArn", # required
|
501
|
+
# },
|
450
502
|
# },
|
451
503
|
# },
|
452
504
|
# ],
|
@@ -863,6 +915,11 @@ module Aws::IoTAnalytics
|
|
863
915
|
# resp.dataset.content_delivery_rules[0].entry_name #=> String
|
864
916
|
# resp.dataset.content_delivery_rules[0].destination.iot_events_destination_configuration.input_name #=> String
|
865
917
|
# resp.dataset.content_delivery_rules[0].destination.iot_events_destination_configuration.role_arn #=> String
|
918
|
+
# resp.dataset.content_delivery_rules[0].destination.s3_destination_configuration.bucket #=> String
|
919
|
+
# resp.dataset.content_delivery_rules[0].destination.s3_destination_configuration.key #=> String
|
920
|
+
# resp.dataset.content_delivery_rules[0].destination.s3_destination_configuration.glue_configuration.table_name #=> String
|
921
|
+
# resp.dataset.content_delivery_rules[0].destination.s3_destination_configuration.glue_configuration.database_name #=> String
|
922
|
+
# resp.dataset.content_delivery_rules[0].destination.s3_destination_configuration.role_arn #=> String
|
866
923
|
# resp.dataset.status #=> String, one of "CREATING", "ACTIVE", "DELETING"
|
867
924
|
# resp.dataset.creation_time #=> Time
|
868
925
|
# resp.dataset.last_update_time #=> Time
|
@@ -1663,6 +1720,15 @@ module Aws::IoTAnalytics
|
|
1663
1720
|
# input_name: "IotEventsInputName", # required
|
1664
1721
|
# role_arn: "RoleArn", # required
|
1665
1722
|
# },
|
1723
|
+
# s3_destination_configuration: {
|
1724
|
+
# bucket: "BucketName", # required
|
1725
|
+
# key: "BucketKeyExpression", # required
|
1726
|
+
# glue_configuration: {
|
1727
|
+
# table_name: "GlueTableName", # required
|
1728
|
+
# database_name: "GlueDatabaseName", # required
|
1729
|
+
# },
|
1730
|
+
# role_arn: "RoleArn", # required
|
1731
|
+
# },
|
1666
1732
|
# },
|
1667
1733
|
# },
|
1668
1734
|
# ],
|
@@ -1820,7 +1886,7 @@ module Aws::IoTAnalytics
|
|
1820
1886
|
params: params,
|
1821
1887
|
config: config)
|
1822
1888
|
context[:gem_name] = 'aws-sdk-iotanalytics'
|
1823
|
-
context[:gem_version] = '1.
|
1889
|
+
context[:gem_version] = '1.17.0'
|
1824
1890
|
Seahorse::Client::Request.new(handlers, context)
|
1825
1891
|
end
|
1826
1892
|
|
@@ -21,6 +21,8 @@ module Aws::IoTAnalytics
|
|
21
21
|
BatchPutMessageErrorEntry = Shapes::StructureShape.new(name: 'BatchPutMessageErrorEntry')
|
22
22
|
BatchPutMessageRequest = Shapes::StructureShape.new(name: 'BatchPutMessageRequest')
|
23
23
|
BatchPutMessageResponse = Shapes::StructureShape.new(name: 'BatchPutMessageResponse')
|
24
|
+
BucketKeyExpression = Shapes::StringShape.new(name: 'BucketKeyExpression')
|
25
|
+
BucketName = Shapes::StringShape.new(name: 'BucketName')
|
24
26
|
CancelPipelineReprocessingRequest = Shapes::StructureShape.new(name: 'CancelPipelineReprocessingRequest')
|
25
27
|
CancelPipelineReprocessingResponse = Shapes::StructureShape.new(name: 'CancelPipelineReprocessingResponse')
|
26
28
|
Channel = Shapes::StructureShape.new(name: 'Channel')
|
@@ -104,6 +106,9 @@ module Aws::IoTAnalytics
|
|
104
106
|
FilterExpression = Shapes::StringShape.new(name: 'FilterExpression')
|
105
107
|
GetDatasetContentRequest = Shapes::StructureShape.new(name: 'GetDatasetContentRequest')
|
106
108
|
GetDatasetContentResponse = Shapes::StructureShape.new(name: 'GetDatasetContentResponse')
|
109
|
+
GlueConfiguration = Shapes::StructureShape.new(name: 'GlueConfiguration')
|
110
|
+
GlueDatabaseName = Shapes::StringShape.new(name: 'GlueDatabaseName')
|
111
|
+
GlueTableName = Shapes::StringShape.new(name: 'GlueTableName')
|
107
112
|
Image = Shapes::StringShape.new(name: 'Image')
|
108
113
|
IncludeStatisticsFlag = Shapes::BooleanShape.new(name: 'IncludeStatisticsFlag')
|
109
114
|
InternalFailureException = Shapes::StructureShape.new(name: 'InternalFailureException')
|
@@ -169,6 +174,7 @@ module Aws::IoTAnalytics
|
|
169
174
|
RoleArn = Shapes::StringShape.new(name: 'RoleArn')
|
170
175
|
RunPipelineActivityRequest = Shapes::StructureShape.new(name: 'RunPipelineActivityRequest')
|
171
176
|
RunPipelineActivityResponse = Shapes::StructureShape.new(name: 'RunPipelineActivityResponse')
|
177
|
+
S3DestinationConfiguration = Shapes::StructureShape.new(name: 'S3DestinationConfiguration')
|
172
178
|
SampleChannelDataRequest = Shapes::StructureShape.new(name: 'SampleChannelDataRequest')
|
173
179
|
SampleChannelDataResponse = Shapes::StructureShape.new(name: 'SampleChannelDataResponse')
|
174
180
|
Schedule = Shapes::StructureShape.new(name: 'Schedule')
|
@@ -345,6 +351,7 @@ module Aws::IoTAnalytics
|
|
345
351
|
DatasetActions.member = Shapes::ShapeRef.new(shape: DatasetAction)
|
346
352
|
|
347
353
|
DatasetContentDeliveryDestination.add_member(:iot_events_destination_configuration, Shapes::ShapeRef.new(shape: IotEventsDestinationConfiguration, location_name: "iotEventsDestinationConfiguration"))
|
354
|
+
DatasetContentDeliveryDestination.add_member(:s3_destination_configuration, Shapes::ShapeRef.new(shape: S3DestinationConfiguration, location_name: "s3DestinationConfiguration"))
|
348
355
|
DatasetContentDeliveryDestination.struct_class = Types::DatasetContentDeliveryDestination
|
349
356
|
|
350
357
|
DatasetContentDeliveryRule.add_member(:entry_name, Shapes::ShapeRef.new(shape: EntryName, location_name: "entryName"))
|
@@ -498,6 +505,10 @@ module Aws::IoTAnalytics
|
|
498
505
|
GetDatasetContentResponse.add_member(:status, Shapes::ShapeRef.new(shape: DatasetContentStatus, location_name: "status"))
|
499
506
|
GetDatasetContentResponse.struct_class = Types::GetDatasetContentResponse
|
500
507
|
|
508
|
+
GlueConfiguration.add_member(:table_name, Shapes::ShapeRef.new(shape: GlueTableName, required: true, location_name: "tableName"))
|
509
|
+
GlueConfiguration.add_member(:database_name, Shapes::ShapeRef.new(shape: GlueDatabaseName, required: true, location_name: "databaseName"))
|
510
|
+
GlueConfiguration.struct_class = Types::GlueConfiguration
|
511
|
+
|
501
512
|
IotEventsDestinationConfiguration.add_member(:input_name, Shapes::ShapeRef.new(shape: IotEventsInputName, required: true, location_name: "inputName"))
|
502
513
|
IotEventsDestinationConfiguration.add_member(:role_arn, Shapes::ShapeRef.new(shape: RoleArn, required: true, location_name: "roleArn"))
|
503
514
|
IotEventsDestinationConfiguration.struct_class = Types::IotEventsDestinationConfiguration
|
@@ -645,6 +656,12 @@ module Aws::IoTAnalytics
|
|
645
656
|
RunPipelineActivityResponse.add_member(:log_result, Shapes::ShapeRef.new(shape: LogResult, location_name: "logResult"))
|
646
657
|
RunPipelineActivityResponse.struct_class = Types::RunPipelineActivityResponse
|
647
658
|
|
659
|
+
S3DestinationConfiguration.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location_name: "bucket"))
|
660
|
+
S3DestinationConfiguration.add_member(:key, Shapes::ShapeRef.new(shape: BucketKeyExpression, required: true, location_name: "key"))
|
661
|
+
S3DestinationConfiguration.add_member(:glue_configuration, Shapes::ShapeRef.new(shape: GlueConfiguration, location_name: "glueConfiguration"))
|
662
|
+
S3DestinationConfiguration.add_member(:role_arn, Shapes::ShapeRef.new(shape: RoleArn, required: true, location_name: "roleArn"))
|
663
|
+
S3DestinationConfiguration.struct_class = Types::S3DestinationConfiguration
|
664
|
+
|
648
665
|
SampleChannelDataRequest.add_member(:channel_name, Shapes::ShapeRef.new(shape: ChannelName, required: true, location: "uri", location_name: "channelName"))
|
649
666
|
SampleChannelDataRequest.add_member(:max_messages, Shapes::ShapeRef.new(shape: MaxMessages, location: "querystring", location_name: "maxMessages"))
|
650
667
|
SampleChannelDataRequest.add_member(:start_time, Shapes::ShapeRef.new(shape: StartTime, location: "querystring", location_name: "startTime"))
|
@@ -461,6 +461,15 @@ module Aws::IoTAnalytics
|
|
461
461
|
# input_name: "IotEventsInputName", # required
|
462
462
|
# role_arn: "RoleArn", # required
|
463
463
|
# },
|
464
|
+
# s3_destination_configuration: {
|
465
|
+
# bucket: "BucketName", # required
|
466
|
+
# key: "BucketKeyExpression", # required
|
467
|
+
# glue_configuration: {
|
468
|
+
# table_name: "GlueTableName", # required
|
469
|
+
# database_name: "GlueDatabaseName", # required
|
470
|
+
# },
|
471
|
+
# role_arn: "RoleArn", # required
|
472
|
+
# },
|
464
473
|
# },
|
465
474
|
# },
|
466
475
|
# ],
|
@@ -857,6 +866,9 @@ module Aws::IoTAnalytics
|
|
857
866
|
include Aws::Structure
|
858
867
|
end
|
859
868
|
|
869
|
+
# Information about the action which automatically creates the data
|
870
|
+
# set's contents.
|
871
|
+
#
|
860
872
|
# @!attribute [rw] action_name
|
861
873
|
# The name of the action which automatically creates the data set's
|
862
874
|
# contents.
|
@@ -883,6 +895,15 @@ module Aws::IoTAnalytics
|
|
883
895
|
# input_name: "IotEventsInputName", # required
|
884
896
|
# role_arn: "RoleArn", # required
|
885
897
|
# },
|
898
|
+
# s3_destination_configuration: {
|
899
|
+
# bucket: "BucketName", # required
|
900
|
+
# key: "BucketKeyExpression", # required
|
901
|
+
# glue_configuration: {
|
902
|
+
# table_name: "GlueTableName", # required
|
903
|
+
# database_name: "GlueDatabaseName", # required
|
904
|
+
# },
|
905
|
+
# role_arn: "RoleArn", # required
|
906
|
+
# },
|
886
907
|
# }
|
887
908
|
#
|
888
909
|
# @!attribute [rw] iot_events_destination_configuration
|
@@ -890,8 +911,14 @@ module Aws::IoTAnalytics
|
|
890
911
|
# IoT Events.
|
891
912
|
# @return [Types::IotEventsDestinationConfiguration]
|
892
913
|
#
|
914
|
+
# @!attribute [rw] s3_destination_configuration
|
915
|
+
# Configuration information for delivery of data set contents to
|
916
|
+
# Amazon S3.
|
917
|
+
# @return [Types::S3DestinationConfiguration]
|
918
|
+
#
|
893
919
|
class DatasetContentDeliveryDestination < Struct.new(
|
894
|
-
:iot_events_destination_configuration
|
920
|
+
:iot_events_destination_configuration,
|
921
|
+
:s3_destination_configuration)
|
895
922
|
include Aws::Structure
|
896
923
|
end
|
897
924
|
|
@@ -908,6 +935,15 @@ module Aws::IoTAnalytics
|
|
908
935
|
# input_name: "IotEventsInputName", # required
|
909
936
|
# role_arn: "RoleArn", # required
|
910
937
|
# },
|
938
|
+
# s3_destination_configuration: {
|
939
|
+
# bucket: "BucketName", # required
|
940
|
+
# key: "BucketKeyExpression", # required
|
941
|
+
# glue_configuration: {
|
942
|
+
# table_name: "GlueTableName", # required
|
943
|
+
# database_name: "GlueDatabaseName", # required
|
944
|
+
# },
|
945
|
+
# role_arn: "RoleArn", # required
|
946
|
+
# },
|
911
947
|
# },
|
912
948
|
# }
|
913
949
|
#
|
@@ -1630,6 +1666,36 @@ module Aws::IoTAnalytics
|
|
1630
1666
|
include Aws::Structure
|
1631
1667
|
end
|
1632
1668
|
|
1669
|
+
# Configuration information for coordination with the AWS Glue ETL
|
1670
|
+
# (extract, transform and load) service.
|
1671
|
+
#
|
1672
|
+
# @note When making an API call, you may pass GlueConfiguration
|
1673
|
+
# data as a hash:
|
1674
|
+
#
|
1675
|
+
# {
|
1676
|
+
# table_name: "GlueTableName", # required
|
1677
|
+
# database_name: "GlueDatabaseName", # required
|
1678
|
+
# }
|
1679
|
+
#
|
1680
|
+
# @!attribute [rw] table_name
|
1681
|
+
# The name of the table in your AWS Glue Data Catalog which is used to
|
1682
|
+
# perform the ETL (extract, transform and load) operations. (An AWS
|
1683
|
+
# Glue Data Catalog table contains partitioned data and descriptions
|
1684
|
+
# of data sources and targets.)
|
1685
|
+
# @return [String]
|
1686
|
+
#
|
1687
|
+
# @!attribute [rw] database_name
|
1688
|
+
# The name of the database in your AWS Glue Data Catalog in which the
|
1689
|
+
# table is located. (An AWS Glue Data Catalog database contains Glue
|
1690
|
+
# Data tables.)
|
1691
|
+
# @return [String]
|
1692
|
+
#
|
1693
|
+
class GlueConfiguration < Struct.new(
|
1694
|
+
:table_name,
|
1695
|
+
:database_name)
|
1696
|
+
include Aws::Structure
|
1697
|
+
end
|
1698
|
+
|
1633
1699
|
# Configuration information for delivery of data set contents to AWS IoT
|
1634
1700
|
# Events.
|
1635
1701
|
#
|
@@ -2488,6 +2554,51 @@ module Aws::IoTAnalytics
|
|
2488
2554
|
include Aws::Structure
|
2489
2555
|
end
|
2490
2556
|
|
2557
|
+
# Configuration information for delivery of data set contents to Amazon
|
2558
|
+
# S3.
|
2559
|
+
#
|
2560
|
+
# @note When making an API call, you may pass S3DestinationConfiguration
|
2561
|
+
# data as a hash:
|
2562
|
+
#
|
2563
|
+
# {
|
2564
|
+
# bucket: "BucketName", # required
|
2565
|
+
# key: "BucketKeyExpression", # required
|
2566
|
+
# glue_configuration: {
|
2567
|
+
# table_name: "GlueTableName", # required
|
2568
|
+
# database_name: "GlueDatabaseName", # required
|
2569
|
+
# },
|
2570
|
+
# role_arn: "RoleArn", # required
|
2571
|
+
# }
|
2572
|
+
#
|
2573
|
+
# @!attribute [rw] bucket
|
2574
|
+
# The name of the Amazon S3 bucket to which data set contents are
|
2575
|
+
# delivered.
|
2576
|
+
# @return [String]
|
2577
|
+
#
|
2578
|
+
# @!attribute [rw] key
|
2579
|
+
# The key of the data set contents object. Each object in an Amazon S3
|
2580
|
+
# bucket has a key that is its unique identifier within the bucket
|
2581
|
+
# (each object in a bucket has exactly one key).
|
2582
|
+
# @return [String]
|
2583
|
+
#
|
2584
|
+
# @!attribute [rw] glue_configuration
|
2585
|
+
# Configuration information for coordination with the AWS Glue ETL
|
2586
|
+
# (extract, transform and load) service.
|
2587
|
+
# @return [Types::GlueConfiguration]
|
2588
|
+
#
|
2589
|
+
# @!attribute [rw] role_arn
|
2590
|
+
# The ARN of the role which grants AWS IoT Analytics permission to
|
2591
|
+
# interact with your Amazon S3 and AWS Glue resources.
|
2592
|
+
# @return [String]
|
2593
|
+
#
|
2594
|
+
class S3DestinationConfiguration < Struct.new(
|
2595
|
+
:bucket,
|
2596
|
+
:key,
|
2597
|
+
:glue_configuration,
|
2598
|
+
:role_arn)
|
2599
|
+
include Aws::Structure
|
2600
|
+
end
|
2601
|
+
|
2491
2602
|
# @note When making an API call, you may pass SampleChannelDataRequest
|
2492
2603
|
# data as a hash:
|
2493
2604
|
#
|
@@ -2839,6 +2950,15 @@ module Aws::IoTAnalytics
|
|
2839
2950
|
# input_name: "IotEventsInputName", # required
|
2840
2951
|
# role_arn: "RoleArn", # required
|
2841
2952
|
# },
|
2953
|
+
# s3_destination_configuration: {
|
2954
|
+
# bucket: "BucketName", # required
|
2955
|
+
# key: "BucketKeyExpression", # required
|
2956
|
+
# glue_configuration: {
|
2957
|
+
# table_name: "GlueTableName", # required
|
2958
|
+
# database_name: "GlueDatabaseName", # required
|
2959
|
+
# },
|
2960
|
+
# role_arn: "RoleArn", # required
|
2961
|
+
# },
|
2842
2962
|
# },
|
2843
2963
|
# },
|
2844
2964
|
# ],
|
@@ -3063,6 +3183,8 @@ module Aws::IoTAnalytics
|
|
3063
3183
|
include Aws::Structure
|
3064
3184
|
end
|
3065
3185
|
|
3186
|
+
# Information about the versioning of data set contents.
|
3187
|
+
#
|
3066
3188
|
# @note When making an API call, you may pass VersioningConfiguration
|
3067
3189
|
# data as a hash:
|
3068
3190
|
#
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: aws-sdk-iotanalytics
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.17.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Amazon Web Services
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-
|
11
|
+
date: 2019-05-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: aws-sdk-core
|
@@ -59,7 +59,7 @@ files:
|
|
59
59
|
- lib/aws-sdk-iotanalytics/errors.rb
|
60
60
|
- lib/aws-sdk-iotanalytics/resource.rb
|
61
61
|
- lib/aws-sdk-iotanalytics/types.rb
|
62
|
-
homepage:
|
62
|
+
homepage: https://github.com/aws/aws-sdk-ruby
|
63
63
|
licenses:
|
64
64
|
- Apache-2.0
|
65
65
|
metadata:
|