google-apis-gkehub_v1beta 0.39.0 → 0.40.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 417cd97e7c423db755d0a95e0dd178cb7bc0561cb0469e500357fa3f03a2740d
4
- data.tar.gz: a287346f2de00287c75072ee2c05b265a6a72751d132ed7043ad37478ce7a4a9
3
+ metadata.gz: 8d0a53313c2d5c6845da973518ea1b045688993f8f748bb445c6c021343c19f0
4
+ data.tar.gz: 19740a161723545c19e2b6586fc75407e585166fb7512ba2dc4a51b2435611f3
5
5
  SHA512:
6
- metadata.gz: b82c5fe84789d9888f064aee98db335afc3795b17d58c5a3871f89b78233656d6b898d0050fde45b93059b80d4a6ea9bbd6e4875129726c6ed1703b93f883f2e
7
- data.tar.gz: 0c595f4d9620dd45fe229e76c15ceca5052b3942928b1bac468f40a7ba1b389ef94062376084044432abd6a2dfda17069aaf7820ad5b2d99efce62a93fce7761
6
+ metadata.gz: c38aefba8c177ba1fb777eb89076f110f641a03ea445cbcdd37b4a1c3d93dd271978cf84eeda6a4d516b40df2fef9079be54076631f3e5726e843bc418bc7572
7
+ data.tar.gz: 070edf1e80487f9faaea3e2cdefd2294fe29d42054cf0e46b98fa2ba4de17f4f9940dedf6714b34750a892de1a5ff46d895a540d395267d99e75e3a013729e98
data/CHANGELOG.md CHANGED
@@ -1,5 +1,10 @@
1
1
  # Release history for google-apis-gkehub_v1beta
2
2
 
3
+ ### v0.40.0 (2023-02-26)
4
+
5
+ * Regenerated from discovery document revision 20230219
6
+ * Regenerated using generator version 0.12.0
7
+
3
8
  ### v0.39.0 (2023-02-05)
4
9
 
5
10
  * Regenerated from discovery document revision 20230129
@@ -2015,6 +2015,59 @@ module Google
2015
2015
  end
2016
2016
  end
2017
2017
 
2018
+ # List of MembershipBindings.
2019
+ class ListMembershipBindingsResponse
2020
+ include Google::Apis::Core::Hashable
2021
+
2022
+ # The list of membership_bindings
2023
+ # Corresponds to the JSON property `membershipBindings`
2024
+ # @return [Array<Google::Apis::GkehubV1beta::MembershipBinding>]
2025
+ attr_accessor :membership_bindings
2026
+
2027
+ # A token to request the next page of resources from the `ListMembershipBindings`
2028
+ # method. The value of an empty string means that there are no more resources
2029
+ # to return.
2030
+ # Corresponds to the JSON property `nextPageToken`
2031
+ # @return [String]
2032
+ attr_accessor :next_page_token
2033
+
2034
+ def initialize(**args)
2035
+ update!(**args)
2036
+ end
2037
+
2038
+ # Update properties of this object
2039
+ def update!(**args)
2040
+ @membership_bindings = args[:membership_bindings] if args.key?(:membership_bindings)
2041
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
2042
+ end
2043
+ end
2044
+
2045
+ # List of fleet namespaces.
2046
+ class ListNamespacesResponse
2047
+ include Google::Apis::Core::Hashable
2048
+
2049
+ # The list of fleet namespaces
2050
+ # Corresponds to the JSON property `namespaces`
2051
+ # @return [Array<Google::Apis::GkehubV1beta::Namespace>]
2052
+ attr_accessor :namespaces
2053
+
2054
+ # A token to request the next page of resources from the `ListNamespaces` method.
2055
+ # The value of an empty string means that there are no more resources to return.
2056
+ # Corresponds to the JSON property `nextPageToken`
2057
+ # @return [String]
2058
+ attr_accessor :next_page_token
2059
+
2060
+ def initialize(**args)
2061
+ update!(**args)
2062
+ end
2063
+
2064
+ # Update properties of this object
2065
+ def update!(**args)
2066
+ @namespaces = args[:namespaces] if args.key?(:namespaces)
2067
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
2068
+ end
2069
+ end
2070
+
2018
2071
  # The response message for Operations.ListOperations.
2019
2072
  class ListOperationsResponse
2020
2073
  include Google::Apis::Core::Hashable
@@ -2040,6 +2093,59 @@ module Google
2040
2093
  end
2041
2094
  end
2042
2095
 
2096
+ # List of RBACRoleBindings.
2097
+ class ListRbacRoleBindingsResponse
2098
+ include Google::Apis::Core::Hashable
2099
+
2100
+ # A token to request the next page of resources from the `ListRBACRoleBindings`
2101
+ # method. The value of an empty string means that there are no more resources to
2102
+ # return.
2103
+ # Corresponds to the JSON property `nextPageToken`
2104
+ # @return [String]
2105
+ attr_accessor :next_page_token
2106
+
2107
+ # The list of RBACRoleBindings
2108
+ # Corresponds to the JSON property `rbacrolebindings`
2109
+ # @return [Array<Google::Apis::GkehubV1beta::RbacRoleBinding>]
2110
+ attr_accessor :rbacrolebindings
2111
+
2112
+ def initialize(**args)
2113
+ update!(**args)
2114
+ end
2115
+
2116
+ # Update properties of this object
2117
+ def update!(**args)
2118
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
2119
+ @rbacrolebindings = args[:rbacrolebindings] if args.key?(:rbacrolebindings)
2120
+ end
2121
+ end
2122
+
2123
+ # List of Scopes.
2124
+ class ListScopesResponse
2125
+ include Google::Apis::Core::Hashable
2126
+
2127
+ # A token to request the next page of resources from the `ListScopes` method.
2128
+ # The value of an empty string means that there are no more resources to return.
2129
+ # Corresponds to the JSON property `nextPageToken`
2130
+ # @return [String]
2131
+ attr_accessor :next_page_token
2132
+
2133
+ # The list of Scopes
2134
+ # Corresponds to the JSON property `scopes`
2135
+ # @return [Array<Google::Apis::GkehubV1beta::Scope>]
2136
+ attr_accessor :scopes
2137
+
2138
+ def initialize(**args)
2139
+ update!(**args)
2140
+ end
2141
+
2142
+ # Update properties of this object
2143
+ def update!(**args)
2144
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
2145
+ @scopes = args[:scopes] if args.key?(:scopes)
2146
+ end
2147
+ end
2148
+
2043
2149
  # A resource that represents Google Cloud Platform location.
2044
2150
  class Location
2045
2151
  include Google::Apis::Core::Hashable
@@ -2087,6 +2193,92 @@ module Google
2087
2193
  end
2088
2194
  end
2089
2195
 
2196
+ # MembershipBinding is a subresource of a Membership, representing what Fleet
2197
+ # Scopes (or other, future Fleet resources) a Membership is bound to.
2198
+ class MembershipBinding
2199
+ include Google::Apis::Core::Hashable
2200
+
2201
+ # Output only. When the membership binding was created.
2202
+ # Corresponds to the JSON property `createTime`
2203
+ # @return [String]
2204
+ attr_accessor :create_time
2205
+
2206
+ # Output only. When the membership binding was deleted.
2207
+ # Corresponds to the JSON property `deleteTime`
2208
+ # @return [String]
2209
+ attr_accessor :delete_time
2210
+
2211
+ # Whether the membershipbinding is Fleet-wide; true means that this Membership
2212
+ # should be bound to all Namespaces in this entire Fleet.
2213
+ # Corresponds to the JSON property `fleet`
2214
+ # @return [Boolean]
2215
+ attr_accessor :fleet
2216
+ alias_method :fleet?, :fleet
2217
+
2218
+ # The resource name for the membershipbinding itself `projects/`project`/
2219
+ # locations/`location`/memberships/`membership`/bindings/`membershipbinding``
2220
+ # Corresponds to the JSON property `name`
2221
+ # @return [String]
2222
+ attr_accessor :name
2223
+
2224
+ # A Workspace resource name in the format `projects/*/locations/*/scopes/*`.
2225
+ # Corresponds to the JSON property `scope`
2226
+ # @return [String]
2227
+ attr_accessor :scope
2228
+
2229
+ # MembershipBindingLifecycleState describes the state of a Binding resource.
2230
+ # Corresponds to the JSON property `state`
2231
+ # @return [Google::Apis::GkehubV1beta::MembershipBindingLifecycleState]
2232
+ attr_accessor :state
2233
+
2234
+ # Output only. Google-generated UUID for this resource. This is unique across
2235
+ # all membershipbinding resources. If a membershipbinding resource is deleted
2236
+ # and another resource with the same name is created, it gets a different uid.
2237
+ # Corresponds to the JSON property `uid`
2238
+ # @return [String]
2239
+ attr_accessor :uid
2240
+
2241
+ # Output only. When the membership binding was last updated.
2242
+ # Corresponds to the JSON property `updateTime`
2243
+ # @return [String]
2244
+ attr_accessor :update_time
2245
+
2246
+ def initialize(**args)
2247
+ update!(**args)
2248
+ end
2249
+
2250
+ # Update properties of this object
2251
+ def update!(**args)
2252
+ @create_time = args[:create_time] if args.key?(:create_time)
2253
+ @delete_time = args[:delete_time] if args.key?(:delete_time)
2254
+ @fleet = args[:fleet] if args.key?(:fleet)
2255
+ @name = args[:name] if args.key?(:name)
2256
+ @scope = args[:scope] if args.key?(:scope)
2257
+ @state = args[:state] if args.key?(:state)
2258
+ @uid = args[:uid] if args.key?(:uid)
2259
+ @update_time = args[:update_time] if args.key?(:update_time)
2260
+ end
2261
+ end
2262
+
2263
+ # MembershipBindingLifecycleState describes the state of a Binding resource.
2264
+ class MembershipBindingLifecycleState
2265
+ include Google::Apis::Core::Hashable
2266
+
2267
+ # Output only. The current state of the MembershipBinding resource.
2268
+ # Corresponds to the JSON property `code`
2269
+ # @return [String]
2270
+ attr_accessor :code
2271
+
2272
+ def initialize(**args)
2273
+ update!(**args)
2274
+ end
2275
+
2276
+ # Update properties of this object
2277
+ def update!(**args)
2278
+ @code = args[:code] if args.key?(:code)
2279
+ end
2280
+ end
2281
+
2090
2282
  # MembershipFeatureSpec contains configuration information for a single
2091
2283
  # Membership.
2092
2284
  class MembershipFeatureSpec
@@ -2299,6 +2491,83 @@ module Google
2299
2491
  end
2300
2492
  end
2301
2493
 
2494
+ # Namespace represents a namespace across the Fleet
2495
+ class Namespace
2496
+ include Google::Apis::Core::Hashable
2497
+
2498
+ # Output only. When the namespace was created.
2499
+ # Corresponds to the JSON property `createTime`
2500
+ # @return [String]
2501
+ attr_accessor :create_time
2502
+
2503
+ # Output only. When the namespace was deleted.
2504
+ # Corresponds to the JSON property `deleteTime`
2505
+ # @return [String]
2506
+ attr_accessor :delete_time
2507
+
2508
+ # The resource name for the namespace `projects/`project`/locations/`location`/
2509
+ # namespaces/`namespace``
2510
+ # Corresponds to the JSON property `name`
2511
+ # @return [String]
2512
+ attr_accessor :name
2513
+
2514
+ # Required. Scope associated with the namespace
2515
+ # Corresponds to the JSON property `scope`
2516
+ # @return [String]
2517
+ attr_accessor :scope
2518
+
2519
+ # NamespaceLifecycleState describes the state of a Namespace resource.
2520
+ # Corresponds to the JSON property `state`
2521
+ # @return [Google::Apis::GkehubV1beta::NamespaceLifecycleState]
2522
+ attr_accessor :state
2523
+
2524
+ # Output only. Google-generated UUID for this resource. This is unique across
2525
+ # all namespace resources. If a namespace resource is deleted and another
2526
+ # resource with the same name is created, it gets a different uid.
2527
+ # Corresponds to the JSON property `uid`
2528
+ # @return [String]
2529
+ attr_accessor :uid
2530
+
2531
+ # Output only. When the namespace was last updated.
2532
+ # Corresponds to the JSON property `updateTime`
2533
+ # @return [String]
2534
+ attr_accessor :update_time
2535
+
2536
+ def initialize(**args)
2537
+ update!(**args)
2538
+ end
2539
+
2540
+ # Update properties of this object
2541
+ def update!(**args)
2542
+ @create_time = args[:create_time] if args.key?(:create_time)
2543
+ @delete_time = args[:delete_time] if args.key?(:delete_time)
2544
+ @name = args[:name] if args.key?(:name)
2545
+ @scope = args[:scope] if args.key?(:scope)
2546
+ @state = args[:state] if args.key?(:state)
2547
+ @uid = args[:uid] if args.key?(:uid)
2548
+ @update_time = args[:update_time] if args.key?(:update_time)
2549
+ end
2550
+ end
2551
+
2552
+ # NamespaceLifecycleState describes the state of a Namespace resource.
2553
+ class NamespaceLifecycleState
2554
+ include Google::Apis::Core::Hashable
2555
+
2556
+ # Output only. The current state of the Namespace resource.
2557
+ # Corresponds to the JSON property `code`
2558
+ # @return [String]
2559
+ attr_accessor :code
2560
+
2561
+ def initialize(**args)
2562
+ update!(**args)
2563
+ end
2564
+
2565
+ # Update properties of this object
2566
+ def update!(**args)
2567
+ @code = args[:code] if args.key?(:code)
2568
+ end
2569
+ end
2570
+
2302
2571
  # This resource represents a long-running operation that is the result of a
2303
2572
  # network API call.
2304
2573
  class Operation
@@ -2777,6 +3046,11 @@ module Google
2777
3046
  attr_accessor :pod_anti_affinity
2778
3047
  alias_method :pod_anti_affinity?, :pod_anti_affinity
2779
3048
 
3049
+ # Pod tolerations of node taints.
3050
+ # Corresponds to the JSON property `podTolerations`
3051
+ # @return [Array<Google::Apis::GkehubV1beta::PolicyControllerToleration>]
3052
+ attr_accessor :pod_tolerations
3053
+
2780
3054
  # Pod replica count.
2781
3055
  # Corresponds to the JSON property `replicaCount`
2782
3056
  # @return [Fixnum]
@@ -2790,6 +3064,7 @@ module Google
2790
3064
  def update!(**args)
2791
3065
  @container_resources = args[:container_resources] if args.key?(:container_resources)
2792
3066
  @pod_anti_affinity = args[:pod_anti_affinity] if args.key?(:pod_anti_affinity)
3067
+ @pod_tolerations = args[:pod_tolerations] if args.key?(:pod_tolerations)
2793
3068
  @replica_count = args[:replica_count] if args.key?(:replica_count)
2794
3069
  end
2795
3070
  end
@@ -2864,6 +3139,206 @@ module Google
2864
3139
  end
2865
3140
  end
2866
3141
 
3142
+ # Toleration of a node taint.
3143
+ class PolicyControllerToleration
3144
+ include Google::Apis::Core::Hashable
3145
+
3146
+ # Matches a taint effect.
3147
+ # Corresponds to the JSON property `effect`
3148
+ # @return [String]
3149
+ attr_accessor :effect
3150
+
3151
+ # Matches a taint key (not necessarily unique).
3152
+ # Corresponds to the JSON property `key`
3153
+ # @return [String]
3154
+ attr_accessor :key
3155
+
3156
+ # Matches a taint operator.
3157
+ # Corresponds to the JSON property `operator`
3158
+ # @return [String]
3159
+ attr_accessor :operator
3160
+
3161
+ # Matches a taint value.
3162
+ # Corresponds to the JSON property `value`
3163
+ # @return [String]
3164
+ attr_accessor :value
3165
+
3166
+ def initialize(**args)
3167
+ update!(**args)
3168
+ end
3169
+
3170
+ # Update properties of this object
3171
+ def update!(**args)
3172
+ @effect = args[:effect] if args.key?(:effect)
3173
+ @key = args[:key] if args.key?(:key)
3174
+ @operator = args[:operator] if args.key?(:operator)
3175
+ @value = args[:value] if args.key?(:value)
3176
+ end
3177
+ end
3178
+
3179
+ # RBACRoleBinding represents a rbacrolebinding across the Fleet
3180
+ class RbacRoleBinding
3181
+ include Google::Apis::Core::Hashable
3182
+
3183
+ # Output only. When the rbacrolebinding was created.
3184
+ # Corresponds to the JSON property `createTime`
3185
+ # @return [String]
3186
+ attr_accessor :create_time
3187
+
3188
+ # Output only. When the rbacrolebinding was deleted.
3189
+ # Corresponds to the JSON property `deleteTime`
3190
+ # @return [String]
3191
+ attr_accessor :delete_time
3192
+
3193
+ # group is the group, as seen by the kubernetes cluster.
3194
+ # Corresponds to the JSON property `group`
3195
+ # @return [String]
3196
+ attr_accessor :group
3197
+
3198
+ # The resource name for the rbacrolebinding `projects/`project`/locations/`
3199
+ # location`/namespaces/`namespace`/rbacrolebindings/`rbacrolebinding``
3200
+ # Corresponds to the JSON property `name`
3201
+ # @return [String]
3202
+ attr_accessor :name
3203
+
3204
+ # Role is the type for Kubernetes roles
3205
+ # Corresponds to the JSON property `role`
3206
+ # @return [Google::Apis::GkehubV1beta::Role]
3207
+ attr_accessor :role
3208
+
3209
+ # RBACRoleBindingLifecycleState describes the state of a RbacRoleBinding
3210
+ # resource.
3211
+ # Corresponds to the JSON property `state`
3212
+ # @return [Google::Apis::GkehubV1beta::RbacRoleBindingLifecycleState]
3213
+ attr_accessor :state
3214
+
3215
+ # Output only. Google-generated UUID for this resource. This is unique across
3216
+ # all rbacrolebinding resources. If a rbacrolebinding resource is deleted and
3217
+ # another resource with the same name is created, it gets a different uid.
3218
+ # Corresponds to the JSON property `uid`
3219
+ # @return [String]
3220
+ attr_accessor :uid
3221
+
3222
+ # Output only. When the rbacrolebinding was last updated.
3223
+ # Corresponds to the JSON property `updateTime`
3224
+ # @return [String]
3225
+ attr_accessor :update_time
3226
+
3227
+ # user is the name of the user as seen by the kubernetes cluster, example "alice"
3228
+ # or "alice@domain.tld"
3229
+ # Corresponds to the JSON property `user`
3230
+ # @return [String]
3231
+ attr_accessor :user
3232
+
3233
+ def initialize(**args)
3234
+ update!(**args)
3235
+ end
3236
+
3237
+ # Update properties of this object
3238
+ def update!(**args)
3239
+ @create_time = args[:create_time] if args.key?(:create_time)
3240
+ @delete_time = args[:delete_time] if args.key?(:delete_time)
3241
+ @group = args[:group] if args.key?(:group)
3242
+ @name = args[:name] if args.key?(:name)
3243
+ @role = args[:role] if args.key?(:role)
3244
+ @state = args[:state] if args.key?(:state)
3245
+ @uid = args[:uid] if args.key?(:uid)
3246
+ @update_time = args[:update_time] if args.key?(:update_time)
3247
+ @user = args[:user] if args.key?(:user)
3248
+ end
3249
+ end
3250
+
3251
+ # RBACRoleBindingLifecycleState describes the state of a RbacRoleBinding
3252
+ # resource.
3253
+ class RbacRoleBindingLifecycleState
3254
+ include Google::Apis::Core::Hashable
3255
+
3256
+ # Output only. The current state of the rbacrolebinding resource.
3257
+ # Corresponds to the JSON property `code`
3258
+ # @return [String]
3259
+ attr_accessor :code
3260
+
3261
+ def initialize(**args)
3262
+ update!(**args)
3263
+ end
3264
+
3265
+ # Update properties of this object
3266
+ def update!(**args)
3267
+ @code = args[:code] if args.key?(:code)
3268
+ end
3269
+ end
3270
+
3271
+ # Role is the type for Kubernetes roles
3272
+ class Role
3273
+ include Google::Apis::Core::Hashable
3274
+
3275
+ # predefined_role is the Kubernetes default role to use
3276
+ # Corresponds to the JSON property `predefinedRole`
3277
+ # @return [String]
3278
+ attr_accessor :predefined_role
3279
+
3280
+ def initialize(**args)
3281
+ update!(**args)
3282
+ end
3283
+
3284
+ # Update properties of this object
3285
+ def update!(**args)
3286
+ @predefined_role = args[:predefined_role] if args.key?(:predefined_role)
3287
+ end
3288
+ end
3289
+
3290
+ # Scope represents a Scope in a Fleet.
3291
+ class Scope
3292
+ include Google::Apis::Core::Hashable
3293
+
3294
+ # Output only. When the scope was created.
3295
+ # Corresponds to the JSON property `createTime`
3296
+ # @return [String]
3297
+ attr_accessor :create_time
3298
+
3299
+ # Output only. When the scope was deleted.
3300
+ # Corresponds to the JSON property `deleteTime`
3301
+ # @return [String]
3302
+ attr_accessor :delete_time
3303
+
3304
+ # The resource name for the scope `projects/`project`/locations/`location`/
3305
+ # scopes/`scope``
3306
+ # Corresponds to the JSON property `name`
3307
+ # @return [String]
3308
+ attr_accessor :name
3309
+
3310
+ # ScopeLifecycleState describes the state of a Scope resource.
3311
+ # Corresponds to the JSON property `state`
3312
+ # @return [Google::Apis::GkehubV1beta::ScopeLifecycleState]
3313
+ attr_accessor :state
3314
+
3315
+ # Output only. Google-generated UUID for this resource. This is unique across
3316
+ # all scope resources. If a scope resource is deleted and another resource with
3317
+ # the same name is created, it gets a different uid.
3318
+ # Corresponds to the JSON property `uid`
3319
+ # @return [String]
3320
+ attr_accessor :uid
3321
+
3322
+ # Output only. When the scope was last updated.
3323
+ # Corresponds to the JSON property `updateTime`
3324
+ # @return [String]
3325
+ attr_accessor :update_time
3326
+
3327
+ def initialize(**args)
3328
+ update!(**args)
3329
+ end
3330
+
3331
+ # Update properties of this object
3332
+ def update!(**args)
3333
+ @create_time = args[:create_time] if args.key?(:create_time)
3334
+ @delete_time = args[:delete_time] if args.key?(:delete_time)
3335
+ @name = args[:name] if args.key?(:name)
3336
+ @state = args[:state] if args.key?(:state)
3337
+ @uid = args[:uid] if args.key?(:uid)
3338
+ @update_time = args[:update_time] if args.key?(:update_time)
3339
+ end
3340
+ end
3341
+
2867
3342
  # ScopeFeatureSpec contains feature specs for a fleet scope.
2868
3343
  class ScopeFeatureSpec
2869
3344
  include Google::Apis::Core::Hashable
@@ -2898,6 +3373,25 @@ module Google
2898
3373
  end
2899
3374
  end
2900
3375
 
3376
+ # ScopeLifecycleState describes the state of a Scope resource.
3377
+ class ScopeLifecycleState
3378
+ include Google::Apis::Core::Hashable
3379
+
3380
+ # Output only. The current state of the scope resource.
3381
+ # Corresponds to the JSON property `code`
3382
+ # @return [String]
3383
+ attr_accessor :code
3384
+
3385
+ def initialize(**args)
3386
+ update!(**args)
3387
+ end
3388
+
3389
+ # Update properties of this object
3390
+ def update!(**args)
3391
+ @code = args[:code] if args.key?(:code)
3392
+ end
3393
+ end
3394
+
2901
3395
  # Status of control plane management.
2902
3396
  class ServiceMeshControlPlaneManagement
2903
3397
  include Google::Apis::Core::Hashable
@@ -16,13 +16,13 @@ module Google
16
16
  module Apis
17
17
  module GkehubV1beta
18
18
  # Version of the google-apis-gkehub_v1beta gem
19
- GEM_VERSION = "0.39.0"
19
+ GEM_VERSION = "0.40.0"
20
20
 
21
21
  # Version of the code generator used to generate this client
22
- GENERATOR_VERSION = "0.11.1"
22
+ GENERATOR_VERSION = "0.12.0"
23
23
 
24
24
  # Revision of the discovery document this client was generated from
25
- REVISION = "20230129"
25
+ REVISION = "20230219"
26
26
  end
27
27
  end
28
28
  end