google-apis-dataplex_v1 0.20.0 → 0.21.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 857d68516d35b8e3614a863b60ed62dccf7af68026446e5d41204520ab641ed0
4
- data.tar.gz: 180fe0489805722f8fbd6aa6c06f5b8b5cd8d16ea79db1c81697839292eb7652
3
+ metadata.gz: c346b0428b7068e15a0448581b1d22b697419fb482a8e83e7792f817d58bdea8
4
+ data.tar.gz: 10f74226ed2c1fd33d60dac5c09a8530ed8fd18794001da47ea0186790912949
5
5
  SHA512:
6
- metadata.gz: 458a20e7d4fae0a708fafd4c3416f047d1d318d498502bc44bae8b98311e4766d350fadabf295cdcae56668d2e032e4c7f1e84e5489df07491359c4fc303f6dc
7
- data.tar.gz: 3055f42630cd323a1115a6a12595edf056fe8059963a033fcf76bdc0f0b004553e220853c7feee92d5c0f2404956785ad161c6c3469ddccea50a0057f42f3561
6
+ metadata.gz: 209792fe96287bb169a679e1adb3ab9c3d46915dbf36350878c2987c9358a8b58a406fedae07af843ebae84533e0caee9a80c935d9d7ea7d834362af591bbf0d
7
+ data.tar.gz: 6941dbb9d9410bb4b2d974309e132ab73539c32c71ffb7a9fc1b3954c6beb30fd341a12314bd1e8818cf05cc9645be4713763c51c8b1260a07b77ef01b5b6321
data/CHANGELOG.md CHANGED
@@ -1,5 +1,9 @@
1
1
  # Release history for google-apis-dataplex_v1
2
2
 
3
+ ### v0.21.0 (2023-01-22)
4
+
5
+ * Regenerated from discovery document revision 20230120
6
+
3
7
  ### v0.20.0 (2023-01-08)
4
8
 
5
9
  * Regenerated from discovery document revision 20230102
@@ -903,6 +903,255 @@ module Google
903
903
  end
904
904
  end
905
905
 
906
+ # DataAccessSpec holds the access control configuration to be enforced on data
907
+ # stored within resources (eg: rows, columns in BigQuery Tables). When
908
+ # associated with data,the data is only accessible to principals explicitly
909
+ # granted access through the DataAttribute. Principals with access to the
910
+ # containing resource are not implicitly granted access.
911
+ class GoogleCloudDataplexV1DataAccessSpec
912
+ include Google::Apis::Core::Hashable
913
+
914
+ # Optional. The format of strings follows the pattern followed by IAM in the
915
+ # bindings. user:`email`, serviceAccount:`email` group:`email`. The set of
916
+ # principals to be granted reader role on data stored within resources.
917
+ # Corresponds to the JSON property `readers`
918
+ # @return [Array<String>]
919
+ attr_accessor :readers
920
+
921
+ def initialize(**args)
922
+ update!(**args)
923
+ end
924
+
925
+ # Update properties of this object
926
+ def update!(**args)
927
+ @readers = args[:readers] if args.key?(:readers)
928
+ end
929
+ end
930
+
931
+ # Denotes one dataAttribute in a dataTaxonomy, for example, PII. DataAttribute
932
+ # resources can be defined in a hierarchy. A single dataAttribute resource can
933
+ # contain specs of multiple types PII - ResourceAccessSpec : - readers :foo@bar.
934
+ # com - DataAccessSpec : - readers :bar@foo.com
935
+ class GoogleCloudDataplexV1DataAttribute
936
+ include Google::Apis::Core::Hashable
937
+
938
+ # Output only. The number of child attributes present for this attribute.
939
+ # Corresponds to the JSON property `attributeCount`
940
+ # @return [Fixnum]
941
+ attr_accessor :attribute_count
942
+
943
+ # Output only. The time when the DataAttribute was created.
944
+ # Corresponds to the JSON property `createTime`
945
+ # @return [String]
946
+ attr_accessor :create_time
947
+
948
+ # DataAccessSpec holds the access control configuration to be enforced on data
949
+ # stored within resources (eg: rows, columns in BigQuery Tables). When
950
+ # associated with data,the data is only accessible to principals explicitly
951
+ # granted access through the DataAttribute. Principals with access to the
952
+ # containing resource are not implicitly granted access.
953
+ # Corresponds to the JSON property `dataAccessSpec`
954
+ # @return [Google::Apis::DataplexV1::GoogleCloudDataplexV1DataAccessSpec]
955
+ attr_accessor :data_access_spec
956
+
957
+ # Optional. Description of the DataAttribute.
958
+ # Corresponds to the JSON property `description`
959
+ # @return [String]
960
+ attr_accessor :description
961
+
962
+ # Optional. User friendly display name.
963
+ # Corresponds to the JSON property `displayName`
964
+ # @return [String]
965
+ attr_accessor :display_name
966
+
967
+ # This checksum is computed by the server based on the value of other fields,
968
+ # and may be sent on update and delete requests to ensure the client has an up-
969
+ # to-date value before proceeding.
970
+ # Corresponds to the JSON property `etag`
971
+ # @return [String]
972
+ attr_accessor :etag
973
+
974
+ # Optional. User-defined labels for the DataAttribute.
975
+ # Corresponds to the JSON property `labels`
976
+ # @return [Hash<String,String>]
977
+ attr_accessor :labels
978
+
979
+ # Output only. The relative resource name of the dataAttribute, of the form:
980
+ # projects/`project_number`/locations/`location_id`/dataTaxonomies/`dataTaxonomy`
981
+ # /attributes/`data_attribute_id`.
982
+ # Corresponds to the JSON property `name`
983
+ # @return [String]
984
+ attr_accessor :name
985
+
986
+ # Optional. The ID of the parent DataAttribute resource, should belong to the
987
+ # same data taxonomy. Circular dependency in parent chain is not valid. Maximum
988
+ # depth of the hierarchy allowed is 4. a -> b -> c -> d -> e, depth = 4
989
+ # Corresponds to the JSON property `parentId`
990
+ # @return [String]
991
+ attr_accessor :parent_id
992
+
993
+ # ResourceAccessSpec holds the access control configuration to be enforced on
994
+ # the resources, for example, Cloud Storage bucket, BigQuery dataset, BigQuery
995
+ # table.
996
+ # Corresponds to the JSON property `resourceAccessSpec`
997
+ # @return [Google::Apis::DataplexV1::GoogleCloudDataplexV1ResourceAccessSpec]
998
+ attr_accessor :resource_access_spec
999
+
1000
+ # Output only. System generated globally unique ID for the DataAttribute. This
1001
+ # ID will be different if the DataAttribute is deleted and re-created with the
1002
+ # same name.
1003
+ # Corresponds to the JSON property `uid`
1004
+ # @return [String]
1005
+ attr_accessor :uid
1006
+
1007
+ # Output only. The time when the DataAttribute was last updated.
1008
+ # Corresponds to the JSON property `updateTime`
1009
+ # @return [String]
1010
+ attr_accessor :update_time
1011
+
1012
+ def initialize(**args)
1013
+ update!(**args)
1014
+ end
1015
+
1016
+ # Update properties of this object
1017
+ def update!(**args)
1018
+ @attribute_count = args[:attribute_count] if args.key?(:attribute_count)
1019
+ @create_time = args[:create_time] if args.key?(:create_time)
1020
+ @data_access_spec = args[:data_access_spec] if args.key?(:data_access_spec)
1021
+ @description = args[:description] if args.key?(:description)
1022
+ @display_name = args[:display_name] if args.key?(:display_name)
1023
+ @etag = args[:etag] if args.key?(:etag)
1024
+ @labels = args[:labels] if args.key?(:labels)
1025
+ @name = args[:name] if args.key?(:name)
1026
+ @parent_id = args[:parent_id] if args.key?(:parent_id)
1027
+ @resource_access_spec = args[:resource_access_spec] if args.key?(:resource_access_spec)
1028
+ @uid = args[:uid] if args.key?(:uid)
1029
+ @update_time = args[:update_time] if args.key?(:update_time)
1030
+ end
1031
+ end
1032
+
1033
+ # DataAttributeBinding represents binding of attributes to resources. Eg: Bind '
1034
+ # CustomerInfo' entity with 'PII' attribute.
1035
+ class GoogleCloudDataplexV1DataAttributeBinding
1036
+ include Google::Apis::Core::Hashable
1037
+
1038
+ # Optional. List of attributes to be associated with the resource, provided in
1039
+ # the form: projects/`project`/locations/`location`/dataTaxonomies/`dataTaxonomy`
1040
+ # /attributes/`data_attribute_id`
1041
+ # Corresponds to the JSON property `attributes`
1042
+ # @return [Array<String>]
1043
+ attr_accessor :attributes
1044
+
1045
+ # Output only. The time when the DataAttributeBinding was created.
1046
+ # Corresponds to the JSON property `createTime`
1047
+ # @return [String]
1048
+ attr_accessor :create_time
1049
+
1050
+ # Optional. Description of the DataAttributeBinding.
1051
+ # Corresponds to the JSON property `description`
1052
+ # @return [String]
1053
+ attr_accessor :description
1054
+
1055
+ # Optional. User friendly display name.
1056
+ # Corresponds to the JSON property `displayName`
1057
+ # @return [String]
1058
+ attr_accessor :display_name
1059
+
1060
+ # This checksum is computed by the server based on the value of other fields,
1061
+ # and may be sent on update and delete requests to ensure the client has an up-
1062
+ # to-date value before proceeding. Etags must be used when calling the
1063
+ # DeleteDataAttributeBinding and the UpdateDataAttributeBinding method.
1064
+ # Corresponds to the JSON property `etag`
1065
+ # @return [String]
1066
+ attr_accessor :etag
1067
+
1068
+ # Optional. User-defined labels for the DataAttributeBinding.
1069
+ # Corresponds to the JSON property `labels`
1070
+ # @return [Hash<String,String>]
1071
+ attr_accessor :labels
1072
+
1073
+ # Output only. The relative resource name of the Data Attribute Binding, of the
1074
+ # form: projects/`project_number`/locations/`location`/dataAttributeBindings/`
1075
+ # data_attribute_binding_id`
1076
+ # Corresponds to the JSON property `name`
1077
+ # @return [String]
1078
+ attr_accessor :name
1079
+
1080
+ # Optional. The list of paths for items within the associated resource (eg.
1081
+ # columns within a table) along with attribute bindings.
1082
+ # Corresponds to the JSON property `paths`
1083
+ # @return [Array<Google::Apis::DataplexV1::GoogleCloudDataplexV1DataAttributeBindingPath>]
1084
+ attr_accessor :paths
1085
+
1086
+ # Optional. Immutable. The resource name of the resource that is binded to
1087
+ # attributes. Presently, only entity resource is supported in the form: projects/
1088
+ # `project`/locations/`location`/lakes/`lake`/zones/`zone`/entities/`entity_id`
1089
+ # Must belong in the same project and region as the attribute binding, and there
1090
+ # can only exist one active binding for a resource.
1091
+ # Corresponds to the JSON property `resource`
1092
+ # @return [String]
1093
+ attr_accessor :resource
1094
+
1095
+ # Output only. System generated globally unique ID for the DataAttributeBinding.
1096
+ # This ID will be different if the DataAttributeBinding is deleted and re-
1097
+ # created with the same name.
1098
+ # Corresponds to the JSON property `uid`
1099
+ # @return [String]
1100
+ attr_accessor :uid
1101
+
1102
+ # Output only. The time when the DataAttributeBinding was last updated.
1103
+ # Corresponds to the JSON property `updateTime`
1104
+ # @return [String]
1105
+ attr_accessor :update_time
1106
+
1107
+ def initialize(**args)
1108
+ update!(**args)
1109
+ end
1110
+
1111
+ # Update properties of this object
1112
+ def update!(**args)
1113
+ @attributes = args[:attributes] if args.key?(:attributes)
1114
+ @create_time = args[:create_time] if args.key?(:create_time)
1115
+ @description = args[:description] if args.key?(:description)
1116
+ @display_name = args[:display_name] if args.key?(:display_name)
1117
+ @etag = args[:etag] if args.key?(:etag)
1118
+ @labels = args[:labels] if args.key?(:labels)
1119
+ @name = args[:name] if args.key?(:name)
1120
+ @paths = args[:paths] if args.key?(:paths)
1121
+ @resource = args[:resource] if args.key?(:resource)
1122
+ @uid = args[:uid] if args.key?(:uid)
1123
+ @update_time = args[:update_time] if args.key?(:update_time)
1124
+ end
1125
+ end
1126
+
1127
+ # Represents a subresource of a given resource, and associated bindings with it.
1128
+ class GoogleCloudDataplexV1DataAttributeBindingPath
1129
+ include Google::Apis::Core::Hashable
1130
+
1131
+ # Optional. List of attributes to be associated with the path of the resource,
1132
+ # provided in the form: projects/`project`/locations/`location`/dataTaxonomies/`
1133
+ # dataTaxonomy`/attributes/`data_attribute_id`
1134
+ # Corresponds to the JSON property `attributes`
1135
+ # @return [Array<String>]
1136
+ attr_accessor :attributes
1137
+
1138
+ # Required. The name identifier of the path. Nested columns should be of the
1139
+ # form: 'country.state.city'.
1140
+ # Corresponds to the JSON property `name`
1141
+ # @return [String]
1142
+ attr_accessor :name
1143
+
1144
+ def initialize(**args)
1145
+ update!(**args)
1146
+ end
1147
+
1148
+ # Update properties of this object
1149
+ def update!(**args)
1150
+ @attributes = args[:attributes] if args.key?(:attributes)
1151
+ @name = args[:name] if args.key?(:name)
1152
+ end
1153
+ end
1154
+
906
1155
  # DataProfileResult defines the output of DataProfileScan. Each field of the
907
1156
  # table will have field type specific profile result.
908
1157
  class GoogleCloudDataplexV1DataProfileResult
@@ -2081,6 +2330,81 @@ module Google
2081
2330
  end
2082
2331
  end
2083
2332
 
2333
+ # DataTaxonomy represents a set of hierarchical DataAttributes resources,
2334
+ # grouped with a common theme Eg: 'SensitiveDataTaxonomy' can have attributes to
2335
+ # manage PII data. It is defined at project level.
2336
+ class GoogleCloudDataplexV1DataTaxonomy
2337
+ include Google::Apis::Core::Hashable
2338
+
2339
+ # Output only. The number of attributes in the DataTaxonomy.
2340
+ # Corresponds to the JSON property `attributeCount`
2341
+ # @return [Fixnum]
2342
+ attr_accessor :attribute_count
2343
+
2344
+ # Output only. The time when the DataTaxonomy was created.
2345
+ # Corresponds to the JSON property `createTime`
2346
+ # @return [String]
2347
+ attr_accessor :create_time
2348
+
2349
+ # Optional. Description of the DataTaxonomy.
2350
+ # Corresponds to the JSON property `description`
2351
+ # @return [String]
2352
+ attr_accessor :description
2353
+
2354
+ # Optional. User friendly display name.
2355
+ # Corresponds to the JSON property `displayName`
2356
+ # @return [String]
2357
+ attr_accessor :display_name
2358
+
2359
+ # This checksum is computed by the server based on the value of other fields,
2360
+ # and may be sent on update and delete requests to ensure the client has an up-
2361
+ # to-date value before proceeding.
2362
+ # Corresponds to the JSON property `etag`
2363
+ # @return [String]
2364
+ attr_accessor :etag
2365
+
2366
+ # Optional. User-defined labels for the DataTaxonomy.
2367
+ # Corresponds to the JSON property `labels`
2368
+ # @return [Hash<String,String>]
2369
+ attr_accessor :labels
2370
+
2371
+ # Output only. The relative resource name of the DataTaxonomy, of the form:
2372
+ # projects/`project_number`/locations/`location_id`/dataTaxonomies/`
2373
+ # data_taxonomy_id`.
2374
+ # Corresponds to the JSON property `name`
2375
+ # @return [String]
2376
+ attr_accessor :name
2377
+
2378
+ # Output only. System generated globally unique ID for the dataTaxonomy. This ID
2379
+ # will be different if the DataTaxonomy is deleted and re-created with the same
2380
+ # name.
2381
+ # Corresponds to the JSON property `uid`
2382
+ # @return [String]
2383
+ attr_accessor :uid
2384
+
2385
+ # Output only. The time when the DataTaxonomy was last updated.
2386
+ # Corresponds to the JSON property `updateTime`
2387
+ # @return [String]
2388
+ attr_accessor :update_time
2389
+
2390
+ def initialize(**args)
2391
+ update!(**args)
2392
+ end
2393
+
2394
+ # Update properties of this object
2395
+ def update!(**args)
2396
+ @attribute_count = args[:attribute_count] if args.key?(:attribute_count)
2397
+ @create_time = args[:create_time] if args.key?(:create_time)
2398
+ @description = args[:description] if args.key?(:description)
2399
+ @display_name = args[:display_name] if args.key?(:display_name)
2400
+ @etag = args[:etag] if args.key?(:etag)
2401
+ @labels = args[:labels] if args.key?(:labels)
2402
+ @name = args[:name] if args.key?(:name)
2403
+ @uid = args[:uid] if args.key?(:uid)
2404
+ @update_time = args[:update_time] if args.key?(:update_time)
2405
+ end
2406
+ end
2407
+
2084
2408
  # The payload associated with Discovery data processing.
2085
2409
  class GoogleCloudDataplexV1DiscoveryEvent
2086
2410
  include Google::Apis::Core::Hashable
@@ -3084,6 +3408,70 @@ module Google
3084
3408
  end
3085
3409
  end
3086
3410
 
3411
+ # List DataAttributeBindings response.
3412
+ class GoogleCloudDataplexV1ListDataAttributeBindingsResponse
3413
+ include Google::Apis::Core::Hashable
3414
+
3415
+ # DataAttributeBindings under the given parent Location.
3416
+ # Corresponds to the JSON property `dataAttributeBindings`
3417
+ # @return [Array<Google::Apis::DataplexV1::GoogleCloudDataplexV1DataAttributeBinding>]
3418
+ attr_accessor :data_attribute_bindings
3419
+
3420
+ # Token to retrieve the next page of results, or empty if there are no more
3421
+ # results in the list.
3422
+ # Corresponds to the JSON property `nextPageToken`
3423
+ # @return [String]
3424
+ attr_accessor :next_page_token
3425
+
3426
+ # Locations that could not be reached.
3427
+ # Corresponds to the JSON property `unreachableLocations`
3428
+ # @return [Array<String>]
3429
+ attr_accessor :unreachable_locations
3430
+
3431
+ def initialize(**args)
3432
+ update!(**args)
3433
+ end
3434
+
3435
+ # Update properties of this object
3436
+ def update!(**args)
3437
+ @data_attribute_bindings = args[:data_attribute_bindings] if args.key?(:data_attribute_bindings)
3438
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
3439
+ @unreachable_locations = args[:unreachable_locations] if args.key?(:unreachable_locations)
3440
+ end
3441
+ end
3442
+
3443
+ # List DataAttributes response.
3444
+ class GoogleCloudDataplexV1ListDataAttributesResponse
3445
+ include Google::Apis::Core::Hashable
3446
+
3447
+ # DataAttributes under the given parent DataTaxonomy.
3448
+ # Corresponds to the JSON property `dataAttributes`
3449
+ # @return [Array<Google::Apis::DataplexV1::GoogleCloudDataplexV1DataAttribute>]
3450
+ attr_accessor :data_attributes
3451
+
3452
+ # Token to retrieve the next page of results, or empty if there are no more
3453
+ # results in the list.
3454
+ # Corresponds to the JSON property `nextPageToken`
3455
+ # @return [String]
3456
+ attr_accessor :next_page_token
3457
+
3458
+ # Locations that could not be reached.
3459
+ # Corresponds to the JSON property `unreachableLocations`
3460
+ # @return [Array<String>]
3461
+ attr_accessor :unreachable_locations
3462
+
3463
+ def initialize(**args)
3464
+ update!(**args)
3465
+ end
3466
+
3467
+ # Update properties of this object
3468
+ def update!(**args)
3469
+ @data_attributes = args[:data_attributes] if args.key?(:data_attributes)
3470
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
3471
+ @unreachable_locations = args[:unreachable_locations] if args.key?(:unreachable_locations)
3472
+ end
3473
+ end
3474
+
3087
3475
  # List DataScanJobs response.
3088
3476
  class GoogleCloudDataplexV1ListDataScanJobsResponse
3089
3477
  include Google::Apis::Core::Hashable
@@ -3142,6 +3530,38 @@ module Google
3142
3530
  end
3143
3531
  end
3144
3532
 
3533
+ # List DataTaxonomies response.
3534
+ class GoogleCloudDataplexV1ListDataTaxonomiesResponse
3535
+ include Google::Apis::Core::Hashable
3536
+
3537
+ # DataTaxonomies under the given parent location.
3538
+ # Corresponds to the JSON property `dataTaxonomies`
3539
+ # @return [Array<Google::Apis::DataplexV1::GoogleCloudDataplexV1DataTaxonomy>]
3540
+ attr_accessor :data_taxonomies
3541
+
3542
+ # Token to retrieve the next page of results, or empty if there are no more
3543
+ # results in the list.
3544
+ # Corresponds to the JSON property `nextPageToken`
3545
+ # @return [String]
3546
+ attr_accessor :next_page_token
3547
+
3548
+ # Locations that could not be reached.
3549
+ # Corresponds to the JSON property `unreachableLocations`
3550
+ # @return [Array<String>]
3551
+ attr_accessor :unreachable_locations
3552
+
3553
+ def initialize(**args)
3554
+ update!(**args)
3555
+ end
3556
+
3557
+ # Update properties of this object
3558
+ def update!(**args)
3559
+ @data_taxonomies = args[:data_taxonomies] if args.key?(:data_taxonomies)
3560
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
3561
+ @unreachable_locations = args[:unreachable_locations] if args.key?(:unreachable_locations)
3562
+ end
3563
+ end
3564
+
3145
3565
  # List metadata entities response.
3146
3566
  class GoogleCloudDataplexV1ListEntitiesResponse
3147
3567
  include Google::Apis::Core::Hashable
@@ -3464,6 +3884,41 @@ module Google
3464
3884
  end
3465
3885
  end
3466
3886
 
3887
+ # ResourceAccessSpec holds the access control configuration to be enforced on
3888
+ # the resources, for example, Cloud Storage bucket, BigQuery dataset, BigQuery
3889
+ # table.
3890
+ class GoogleCloudDataplexV1ResourceAccessSpec
3891
+ include Google::Apis::Core::Hashable
3892
+
3893
+ # Optional. The set of principals to be granted owner role on the resource.
3894
+ # Corresponds to the JSON property `owners`
3895
+ # @return [Array<String>]
3896
+ attr_accessor :owners
3897
+
3898
+ # Optional. The format of strings follows the pattern followed by IAM in the
3899
+ # bindings. user:`email`, serviceAccount:`email` group:`email`. The set of
3900
+ # principals to be granted reader role on the resource.
3901
+ # Corresponds to the JSON property `readers`
3902
+ # @return [Array<String>]
3903
+ attr_accessor :readers
3904
+
3905
+ # Optional. The set of principals to be granted writer role on the resource.
3906
+ # Corresponds to the JSON property `writers`
3907
+ # @return [Array<String>]
3908
+ attr_accessor :writers
3909
+
3910
+ def initialize(**args)
3911
+ update!(**args)
3912
+ end
3913
+
3914
+ # Update properties of this object
3915
+ def update!(**args)
3916
+ @owners = args[:owners] if args.key?(:owners)
3917
+ @readers = args[:readers] if args.key?(:readers)
3918
+ @writers = args[:writers] if args.key?(:writers)
3919
+ end
3920
+ end
3921
+
3467
3922
  # Run DataScan Request
3468
3923
  class GoogleCloudDataplexV1RunDataScanRequest
3469
3924
  include Google::Apis::Core::Hashable
@@ -16,13 +16,13 @@ module Google
16
16
  module Apis
17
17
  module DataplexV1
18
18
  # Version of the google-apis-dataplex_v1 gem
19
- GEM_VERSION = "0.20.0"
19
+ GEM_VERSION = "0.21.0"
20
20
 
21
21
  # Version of the code generator used to generate this client
22
22
  GENERATOR_VERSION = "0.11.1"
23
23
 
24
24
  # Revision of the discovery document this client was generated from
25
- REVISION = "20230102"
25
+ REVISION = "20230120"
26
26
  end
27
27
  end
28
28
  end